1. Home
  2. Creating an API Endpoint for OnDataSuite CCMR Data

Creating an API Endpoint for OnDataSuite CCMR Data

Overview

This guide details the steps to create an API client, generate API keys, and access data using the provided endpoint.


Open the API Client Management Screen as shown below. Please note you must have Admin privileges in OnDataSuite to access the set up screens.

  • Administrator>Site Settings>OnDataSuite API Connection

A list of previously created API connects will appear as shown below if any exist. Click Create Client.

In the modal that appears, enter the Client Name (e.g., “Postman Client”) and click Submit.

View API Keys
Once the client is created, locate the client in the list. Click on the client name to view its API Key and Secret. Keep these credentials secure, as they are needed for API authentication.


CCMR API Endpoint Details

https://your_district_ods_url/v1/accountability/ccmr/students

Available Parameters

  • year (required): The academic year for the data.
  • per_page (optional): Number of records per page. Default is 25. Max is 100
  • page (optional): The page number for paginated data.

Example Request

GET https://your_district_ods_url/v1/accountability/ccmr/students?year=2025&per_page=10
Authorization: Bearer {your_access_token}

Example Response

Authenticating Requests with OAuth

Send post request to get a token to “https://sample.ondatasuite.com/oauth/token”. The token expires after 2 hours an will need to be requested again.

POST /oauth/token HTTP/1.1
Host: https://sample.ondatasuite.com <--(Replace with your ODS URL)
Accept: application/json
Content-Type: application/json

{
"grant_type": "client_credentials",
"client_id": "9db36-f4-48c-9c2-c20bd47f",
"client_secret": "nYneb2gZLbZqrvwxm7MltzrhDOGwkBspxAW"
}

This returns an access_token:

{
    "token_type": "Bearer",
    "expires_in": 7200,
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6ImZha2Ugand0IiwiaWF0IjoxNTE2MjM5MDIyfQ.AjqDex3b94pJmSJWZENZ_tKVOravitcvL8J0x011lxQ" 
}

Send the access_token as a bearer token to authorize API requests.

GET /v1/health HTTP/1.1
Host: sample.ondatasuite.com
Accept: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6ImZha2Ugand0IiwiaWF0IjoxNTE2MjM5MDIyfQ.AjqDex3b94pJmSJWZENZ_tKVOravitcvL8J0x011lxQ

Example with CURL

curl -X GET "https://your_district_ods_url/v1/accountability/ccmr/students?year=2025" \
--header "Accept: application/json" \
--header "Authorization: Bearer {your_access_token}"

Data Fields Description

FieldDescription
yearAcademic year of the record
e0923Unique student ID
cte_codeCareer & Technical Education code
ela_tsiaEnglish Language Arts TSIA status
math_tsiaMathematics TSIA status
ccmr_metIndicates if CCMR criteria were met
graduation_statusGraduation status of the student
continuously_enrolledWhether the student was continuously enrolled

Refer to the response object for a full list of available fields.

Pagination

The API supports pagination. Use the per_page and page parameters to fetch records in chunks.

  • meta.pagination.total: Total number of records.
  • meta.pagination.per_page: Number of records per page.
  • meta.pagination.current_page: Current page number.

For further assistance please create a support ticket, and you will be contacted!

Updated on 01/23/2025

Was this article helpful?

Need Support?
Can't find the answer you're looking for?
Contact Support