Return Data Format
All data is returned in JSON notation. Each documented endpoint page describes the data it returns.
For example, here is an example of an enpoint that returns a single result back - this is an example of what might be returned for a GET /courses/{course-id}/
endpoint:
{
"id": "1",
"name": "Course 101",
"catalog_id": "001 CC-101",
"description": "Lorem ipsum dolor sit amet",
"is_active": "yes",
"created": "2023-02-25 17:06:51",
"last_updated": "2023-06-02 12:30:32",
"admin_keyword_tags": "overview onboarding",
"user_keyword_tags": "new first",
"passing_score": "70",
"for_sale": "no",
"price": "0.00",
"thumbnail": "https://www.imagelocation.com/image.png",
"webhook": ""
}
Some endpoints return a result in JSON notation that represents multiple results, even if the returned result is a single record. This occurs in the following scenarios:
- If an endpoint is returning more than one result
- If an enpoint can return more than one result
- If an endpoint is part of a series of enpoints that are capable of returning more than one result
- If an endpoint is returning a value from
/count/
In these scenarios, the returned JSON result will look similar to this example result from the GET /reports/courses/{course-id}
endpoint:
[
{
"user_id": "25",
"username": "gregory0429",
"status": "incomplete",
"progress": "0",
"score": "0",
"start_date": "20210429",
"completion_date": ""
},
{
"user_id": "71",
"username": "adc9776",
"status": "complete",
"progress": "100",
"score": "88",
"start_date": "20200612",
"completion_date": "20200614"
}
]
Note that a single result may be returned like this:
[
{
"user_id": "25",
"username": "gregory0429",
"status": "incomplete",
"progress": "0",
"score": "0",
"start_date": "20210429",
"completion_date": ""
}
]
The nesting of arrays in some endpoints can compound in some endpoints.
When the endpoint is invalid, or the API can not process the request for any reason, a JSON response similar to the following will be sent:
{
"timestamp": "2023-09-22T12:04:07-04:00",
"status": "422",
"error": "unable to process request",
"message": "invalid API endpoint"
}
The message
in the response will indicate what the issue was.
All data is returned in JSON notation. Each documented endpoint page describes the data it returns.
For example, here is an example of an enpoint that returns a single result back - this is an example of what might be returned for a GET /courses/{course-id}/
endpoint:
{
"id": "1",
"name": "Course 101",
"catalog_id": "001 CC-101",
"description": "Lorem ipsum dolor sit amet",
"is_active": "yes",
"created": "2023-02-25 17:06:51",
"last_updated": "2023-06-02 12:30:32",
"admin_keyword_tags": "overview onboarding",
"user_keyword_tags": "new first",
"passing_score": "70",
"for_sale": "no",
"price": "0.00",
"thumbnail": "https://www.imagelocation.com/image.png",
"webhook": ""
}
- If an endpoint is returning more than one result
- If an enpoint can return more than one result
- If an endpoint is part of a series of enpoints that are capable of returning more than one result
- If an endpoint is returning a value from
/count/
GET /reports/courses/{course-id}
endpoint:[
{
"user_id": "25",
"username": "gregory0429",
"status": "incomplete",
"progress": "0",
"score": "0",
"start_date": "20210429",
"completion_date": ""
},
{
"user_id": "71",
"username": "adc9776",
"status": "complete",
"progress": "100",
"score": "88",
"start_date": "20200612",
"completion_date": "20200614"
}
]
Note that a single result may be returned like this:
[
{
"user_id": "25",
"username": "gregory0429",
"status": "incomplete",
"progress": "0",
"score": "0",
"start_date": "20210429",
"completion_date": ""
}
]
{
"timestamp": "2023-09-22T12:04:07-04:00",
"status": "422",
"error": "unable to process request",
"message": "invalid API endpoint"
}
The message
in the response will indicate what the issue was.