Intellischool makes rostering data available via a OneRoster v1.1 RESTful model API. This document describes the endpoints available. Note that the use of this endpoint requires that the data owner has an Intellischool Data Ops licence.
The OneRoster API can be accessed via any of the regional Intellischool API services, or via the global unified API service. The route prefix is always /ims/oneroster/v1p1.
For example, to access the OneRoster API via the global unified endpoint: https://api.intellischool.net/ims/oneroster/v1p1/{endpoint}
Alternatively, to access the OneRoster API via the AU-NSW regional service: https://api.nsw.intellischool.com.au/ims/oneroster/v1p1/{endpoint}
Or the SG regional service: https://api.intellischool.sg/ims/oneroster/v1p1/{endpoint}
The OneRoster standard mandates the support of pagination on all endpoints that return a collection. The Intellischool OneRoster API fully supports the pagination mechanism defined in the standard.
Pagination is controlled via two parameters that may be appended to the query string of GET requests.
If you supply a non-numeric value for these parameters the API will return a 400 Bad Request response.
Name
limit
Type
number
Description
The maximum number of results to return. Default is 100. Requests for page sizes greater than 1000 will result in a 400 Bad Request response.
Name
offset
Type
number
Description
The index of the first record to return, where 0 is the first record in the dataset. Default is 0.
The OneRoster standard also mandates support for collections to be returned in a sorted order. The Intellischool OneRoster API fully supports the sorting mechanism defined in the standard.
Sorting is controlled via two two parameters that may be appended to the query string of GET requests.
Name
data_field
Type
string
Description
The field by which the data should be sorted. The field must exist in the OneRoster specification for the object being requested.
Name
orderBy
Type
enum["asc"|"desc"]
Description
The order in which to sort the data; either asc for ascending order, or desc for descending order.
Filtering is also mandated by the OneRoster standard. The Intellischool OneRoster API fully supports data filtering as per the standard.
Filtering is controlled through the optional filter parameter that can be appended to the query string of GET requests. For more information on filter formations, please refer to Section 3.4.3 of the OneRoster v1.1 Final Specification.
Name
filter
Type
string
Description
A valid filter string as defined by the OneRoster v1.1 specification.
By default, all fields for the object requested will be returned by the API. The Intellischool OneRoster API supports specifying a subset of fields to return.
We recommend only returning the fields required for your application when making OneRoster API requests. This ensures that your request size is as small as possible, therefore making the response to your request faster.
Field selection requests can be made by appending the fields parameter to the query string of GET requests.
Name
fields
Type
string[]
Description
A comma-delimited list of valid OneRoster field names to be returned.
Returns a collection of the courses taught by the identified school.
This endpoint will return the same data as the courses endpoint unless your auth token has been issued by a district, diocese, MAT, or another enterprise-level account.
Required attributes
Name
id
Type
string
The ID of the school from which to retrieve courses.
Request
GET
/schools/:id/courses
curl -X GET https://api.intellischool.net/ims/oneroster/v1p1/schools/{id}/courses \
-H "Authorization: Bearer {token}"
Returns an enrolment object if an ID is specified. Otherwise, returns a collection of all enrolments. Note the US English spelling of this endpoint - "enrollments" - as per OneRoster spec.
Returns a collection of the enrolments at a particular school. Note the US English spelling of this endpoint: "enrollments".
This endpoint will return the same data as the enrollments endpoint unless your auth token has been issued by a district, diocese, MAT, or another enterprise-level account.
Required attributes
Name
school_id
Type
string
The ID of the school from which to retrieve the enrolment data.
Request
GET
/schools/:school_id/enrollments
curl -X GET https://api.intellischool.net/ims/oneroster/v1p1/schools/{school_id}/enrollments \
-H "Authorization: Bearer {token}"
Returns an organisation object if an ID is specified. Otherwise, returns a collection of all accessible organisations.
In regions outside of North America, an "organisation" may represent a "school", and the schools endpoint may return campuses or sub-schools.
Additionally, depending on the data access scope of the token used to retrieve data, this endpoint will likely only return one organisation. Only tokens issued from a district, diocese, MAT or other enterprise-level account may have access to multiple organisations.
Returns a school object if an ID is specified. Otherwise, returns a collection of all accessible schools.
In regions outside of North America the output of this endpoint may vary depending on the configuration of the data owner. In Australia, many data owners opt for school objects to refer to a campus or sub-school within the parent organisation/school.
Returns a collection of the students enrolled at a particular school.
This endpoint will return the same data as the students endpoint unless your auth token has been issued by a district, diocese, MAT, or another enterprise-level account.
Required attributes
Name
school_id
Type
string
The ID of the school from which to retrieve the student data.
Request
GET
/schools/:school_id/students
curl -X GET https://api.intellischool.net/ims/oneroster/v1p1/schools/{school_id}/students \
-H "Authorization: Bearer {token}"
Returns a collection of the staff working at a particular school.
On the Intellischool data platform this endpoint will return all staff; not just teachers.
This endpoint will return the same data as the teachers endpoint unless your auth token has been issued by a district, diocese, MAT, or another enterprise-level account.
Required attributes
Name
school_id
Type
string
The ID of the school from which to retrieve the student data.
Request
GET
/schools/:school_id/teachers
curl -X GET https://api.intellischool.net/ims/oneroster/v1p1/schools/{school_id}/students \
-H "Authorization: Bearer {token}"
Returns a collection of the terms scheduled for a particular school.
This endpoint will return the same data as the terms endpoint unless your auth token has been issued by a district, diocese, MAT, or another enterprise-level account.
Required attributes
Name
school_id
Type
string
The ID of the school from which to retrieve the term data.
Request
GET
/schools/:school_id/terms
curl -X GET https://api.intellischool.net/ims/oneroster/v1p1/schools/{school_id}/terms \
-H "Authorization: Bearer {token}"