{"openapi":"3.0.1","info":{"title":"OpenRoster OneRoster Rostering API","description":"OpenRoster publishes the 1EdTech OneRoster 1.2 Rostering REST surface with tenant-scoped OAuth tokens, district-approved data grants, field-level controls, and response masking.","contact":{"name":"Vice President of Operations, 1EdTech","url":"https://www.1edtech.org","email":"operations@1edtech.org"},"license":{"name":"1EdTech","url":"https://www.1edtech.org/license.html"},"version":"1.2"},"servers":[{"url":"https://api.openroster.org/ims/oneroster/rostering/v1p2","description":"Tenant-scoped OpenRoster OneRoster API"}],"tags":[{"name":"Core roster","description":"Least-privilege roster collections and sourcedId lookups."},{"name":"Relationship graph","description":"Contextual endpoints for school, class, course, student, teacher, and term relationships."},{"name":"Sensitive demographics","description":"Demographics endpoints that require an explicit district demographics grant."}],"paths":{"/academicSessions":{"get":{"tags":["Core roster"],"summary":"The REST read request message for the getAllAcademicSessions() API call.","description":"To read, get, a collection of academic sessions i.e. all academic sessions.","operationId":"getAllAcademicSessions","parameters":[{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcademicSessionSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Core roster","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/academicSessions/{sourcedId}":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getAcademicSession() API call.","description":"To read, get, a specific academic session. If the specified academic session cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getAcademicSession","parameters":[{"name":"sourcedId","in":"path","description":"The unique identifier, GUID, for this academic session.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleAcademicSessionDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"404":{"description":"Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/classes":{"get":{"tags":["Core roster"],"summary":"The REST read request message for the getAllClasses() API call.","description":"To read, get, a collection of classes i.e. all classes.","operationId":"getAllClasses","parameters":[{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Core roster","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/classes/{classSourcedId}/students":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getStudentsForClass() API call.","description":"To read, get, the collection of students associated with a specific class. If the specified class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getStudentsForClass","parameters":[{"name":"classSourcedId","in":"path","description":"The unique identifier, GUID, for the class.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/classes/{classSourcedId}/teachers":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getTeachersForClass() API call.","description":"To read, get, the collection of teachers associated with a specific class. If the specified class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getTeachersForClass","parameters":[{"name":"classSourcedId","in":"path","description":"The unique identifier, GUID, for the class.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/classes/{sourcedId}":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getClass() API call.","description":"To read, get, a specific class.  If the specified class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getClass","parameters":[{"name":"sourcedId","in":"path","description":"The unique identifier, GUID, for this class.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleClassDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"404":{"description":"Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/courses":{"get":{"tags":["Core roster"],"summary":"The REST read request message for the getAllCourses() API call.","description":"To read, get, a collection of courses i.e. all courses.","operationId":"getAllCourses","parameters":[{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Core roster","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/courses/{courseSourcedId}/classes":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getClassesForCourse() API call.","description":"To get the set of classes related to a specific course.  If the specified course cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getClassesForCourse","parameters":[{"name":"courseSourcedId","in":"path","description":"The unique identifier, GUID, for the specific course.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/courses/{sourcedId}":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getCourse() API call.","description":"To read, get, a specific course.  If the specified course cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getCourse","parameters":[{"name":"sourcedId","in":"path","description":"The unique identifier, GUID, for this course.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleCourseDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"404":{"description":"Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/demographics":{"get":{"tags":["Sensitive demographics"],"summary":"The REST read request message for the getAllDemographics() API call.","description":"To read, get, a collection of demographics i.e. all demographics.","operationId":"getAllDemographics","parameters":[{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemographicsSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster-demographics.readonly"]}],"x-openroster-access":{"dataClass":"Sensitive demographics","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/demographics/{sourcedId}":{"get":{"tags":["Sensitive demographics"],"summary":"The REST read request message for the getDemographics() API call.","description":"To read, get, a specific user demographics. If the specified user and/or demographics recrds cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getDemographics","parameters":[{"name":"sourcedId","in":"path","description":"The unique identifier, GUID, for this user demographics.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleDemographicsDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"404":{"description":"Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster-demographics.readonly"]}],"x-openroster-access":{"dataClass":"Sensitive demographics","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/enrollments":{"get":{"tags":["Core roster"],"summary":"The REST read request message for the getAllEnrollments() API call.","description":"To read, get, a collection of enrollments i.e. all enrollments.","operationId":"getAllEnrollments","parameters":[{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollmentSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Core roster","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/enrollments/{sourcedId}":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getEnrollment() API call.","description":"To read, get, a specific enrollment. If the specified enrollment cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getEnrollment","parameters":[{"name":"sourcedId","in":"path","description":"The unique identifier, GUID, for this enrollment.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleEnrollmentDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"404":{"description":"Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/gradingPeriods":{"get":{"tags":["Core roster"],"summary":"The REST read request message for the getAllGradingPeriods() API call.","description":"To read, get, a collection of grading periods i.e. all academic sessions.","operationId":"getAllGradingPeriods","parameters":[{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcademicSessionSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Core roster","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/gradingPeriods/{sourcedId}":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getGradingPeriod() API call.","description":"To read, get, a specific grading period. If the specified grading period cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getGradingPeriod","parameters":[{"name":"sourcedId","in":"path","description":"The unique identifier, GUID, for this grading period.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleAcademicSessionDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"404":{"description":"Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/orgs":{"get":{"tags":["Core roster"],"summary":"The REST read request message for the getAllOrgs() API call.","description":"To read, get, a collection of orgs i.e. all orgs.","operationId":"getAllOrgs","parameters":[{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Core roster","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/orgs/{sourcedId}":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getOrg() API call.","description":"To read, get, a specific org. If the specified org cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getOrg","parameters":[{"name":"sourcedId","in":"path","description":"The unique identifier, GUID, for this org.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleOrgDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"404":{"description":"Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/schools":{"get":{"tags":["Core roster"],"summary":"The REST read request message for the getAllSchools() API call.","description":"To read, get, a collection of schools i.e. all schools.","operationId":"getAllSchools","parameters":[{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Core roster","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/schools/{schoolSourcedId}/classes":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getClassesForSchool() API call.","description":"To read, get, the collection of classes associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getClassesForSchool","parameters":[{"name":"schoolSourcedId","in":"path","description":"The unique identifier, GUID, for the specific school.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/schools/{schoolSourcedId}/classes/{classSourcedId}/enrollments":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getEnrollmentsForClassInSchool() API call.","description":"To read, get, the collection of enrollments associated with a specific class at a specific school. If the specified school and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getEnrollmentsForClassInSchool","parameters":[{"name":"schoolSourcedId","in":"path","description":"The unique identifier, GUID, for the school.","required":true,"schema":{"type":"string"}},{"name":"classSourcedId","in":"path","description":"The unique identifier, GUID, for the class.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollmentSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/schools/{schoolSourcedId}/classes/{classSourcedId}/students":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getStudentsForClassInSchool() API call.","description":"To read, get, the collection of students associated with a specific class at a specific school. If the specified school and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getStudentsForClassInSchool","parameters":[{"name":"schoolSourcedId","in":"path","description":"The unique identifier, GUID, for the specific school.","required":true,"schema":{"type":"string"}},{"name":"classSourcedId","in":"path","description":"The unique identifier, GUID, for the class.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/schools/{schoolSourcedId}/classes/{classSourcedId}/teachers":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getTeachersForClassInSchool() API call.","description":"To read, get, the collection of teachers associated with a specific class at a specific school. If the specified school and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getTeachersForClassInSchool","parameters":[{"name":"schoolSourcedId","in":"path","description":"The unique identifier, GUID, for the specific school.","required":true,"schema":{"type":"string"}},{"name":"classSourcedId","in":"path","description":"The unique identifier, GUID, for the class.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/schools/{schoolSourcedId}/courses":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getCoursesForSchool() API call.","description":"To read, get, the collection of courses associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getCoursesForSchool","parameters":[{"name":"schoolSourcedId","in":"path","description":"The unique identifier, GUID, for the school.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/schools/{schoolSourcedId}/enrollments":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getEnrollmentsForSchool() API call.","description":"To read, get, the collection of enrollments associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getEnrollmentsForSchool","parameters":[{"name":"schoolSourcedId","in":"path","description":"The unique identifier, GUID, for the specific school.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollmentSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/schools/{schoolSourcedId}/students":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getStudentsForSchool() API call.","description":"To read, get, the collection of students associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getStudentsForSchool","parameters":[{"name":"schoolSourcedId","in":"path","description":"The unique identifier, GUID, for the specific school.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/schools/{schoolSourcedId}/teachers":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getTeachersForSchool() API call.","description":"To read, get, the collection of teachers associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getTeachersForSchool","parameters":[{"name":"schoolSourcedId","in":"path","description":"The unique identifier, GUID, for the specific school.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/schools/{schoolSourcedId}/terms":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getTermsForSchool() API call.","description":"To read, get, the collection of terms associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getTermsForSchool","parameters":[{"name":"schoolSourcedId","in":"path","description":"The unique identifier, GUID, for the specific school.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcademicSessionSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/schools/{sourcedId}":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getSchool() API call.","description":"To read, get, a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getSchool","parameters":[{"name":"sourcedId","in":"path","description":"The unique identifier, GUID, for this school.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleOrgDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"404":{"description":"Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/students":{"get":{"tags":["Core roster"],"summary":"The REST read request message for the getAllStudents() API call.","description":"To read, get, a collection of students i.e. all students.","operationId":"getAllStudents","parameters":[{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Core roster","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/students/{sourcedId}":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getStudent() API call.","description":"To read, get, a specific student. If the specified student cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getStudent","parameters":[{"name":"sourcedId","in":"path","description":"The unique identifier, GUID, for this student.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleUserDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"404":{"description":"Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/students/{studentSourcedId}/classes":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getClassesForStudent() API call.","description":"To get the set of classes related to a specific student. If the specified student cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getClassesForStudent","parameters":[{"name":"studentSourcedId","in":"path","description":"The unique identifier, GUID, for the specific student.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/teachers":{"get":{"tags":["Core roster"],"summary":"The REST read request message for the getAllTeachers() API call.","description":"To read, get, a collection of teachers i.e. all teachers.","operationId":"getAllTeachers","parameters":[{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Core roster","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/teachers/{sourcedId}":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getTeacher() API call.","description":"To read, get, a specific teacher. If the specified teacher cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getTeacher","parameters":[{"name":"sourcedId","in":"path","description":"The unique identifier, GUID, for this teacher.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleUserDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"404":{"description":"Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/teachers/{teacherSourcedId}/classes":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getClassesForTeacher() API call.","description":"To get the set of classes related to a specific teacher. If the specified teacher cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getClassesForTeacher","parameters":[{"name":"teacherSourcedId","in":"path","description":"The unique identifier, GUID, for the specific teacher.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/terms":{"get":{"tags":["Core roster"],"summary":"The REST read request message for the getAllTerms() API call.","description":"To read, get, a collection of terms i.e. all terms.","operationId":"getAllTerms","parameters":[{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcademicSessionSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Core roster","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/terms/{sourcedId}":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getTerm() API call.","description":"To read, get, a specific term. If the specified term cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getTerm","parameters":[{"name":"sourcedId","in":"path","description":"The unique identifier, GUID, for this term.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleAcademicSessionDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"404":{"description":"Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/terms/{termSourcedId}/classes":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getClassesForTerm() API call.","description":"To get the set of classes related to a specific term. If the specified term cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getClassesForTerm","parameters":[{"name":"termSourcedId","in":"path","description":"The unique identifier, GUID, for the specific term.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/terms/{termSourcedId}/gradingPeriods":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getGradingPeriodsForTerm() API call.","description":"To get the set of grading periods related to a specific term. If the specified term cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getGradingPeriodsForTerm","parameters":[{"name":"termSourcedId","in":"path","description":"The unique identifier, GUID, for the specific term.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcademicSessionSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/users":{"get":{"tags":["Core roster"],"summary":"The REST read request message for the getAllUsers() API call.","description":"To read, get, a collection of users i.e. all users (including students and teachers).","operationId":"getAllUsers","parameters":[{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Core roster","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/users/{sourcedId}":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getUser() API call.","description":"To read, get, a specific user. If the specified user cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getUser","parameters":[{"name":"sourcedId","in":"path","description":"The unique identifier, GUID, for this user.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleUserDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"404":{"description":"Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}},"/users/{userSourcedId}/classes":{"get":{"tags":["Relationship graph"],"summary":"The REST read request message for the getClassesForUser() API call.","description":"To get the set of classes related to a specific user. If the specified user cannot be identified within the service provider then a status code of 'unknownobject' must be reported.","operationId":"getClassesForUser","parameters":[{"name":"userSourcedId","in":"path","description":"The unique identifier, GUID, for the specific user.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"To define the download segmentation value i.e. the maximum number of records to be contained in the response.","allowEmptyValue":false,"schema":{"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"offset","in":"query","description":"The number of the first record to be supplied in the segmented response message.","allowEmptyValue":false,"schema":{"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"sort","in":"query","description":"Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"filter","in":"query","description":"The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.","allowEmptyValue":false,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"To identify the range of fields that should be supplied in the response message.","allowEmptyValue":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.","headers":{"X-Total-Count":{"description":"The total number of resources that are available to be returned","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassSetDType"}}}},"400":{"description":"Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"401":{"description":"The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"403":{"description":"This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"422":{"description":"This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"429":{"description":"The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"500":{"description":"This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}},"default":{"description":"This is the default error response when no other appropriate code is available.  This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/imsx_StatusInfoDType"}}}}},"security":[{"OAuth2CC":["https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly"]}],"x-openroster-access":{"dataClass":"Relationship graph","grantBehavior":"OpenRoster checks the tenant token, app grant, entity access, field selection, context filters, and masked attributes before returning data."}}}},"components":{"schemas":{"AcadSessionGUIDRefDType":{"required":["href","sourcedId","type"],"type":"object","properties":{"href":{"type":"string","description":"Model Primitive Datatype = AnyURI. The URI for the type of object being referenced.","format":"uri"},"sourcedId":{"type":"string","description":"Model Primitive Datatype = String. The globally unique identifier of the object being referenced."},"type":{"type":"string","description":"The type of object being referenced i.e. an 'academicSession'.","enum":["academicSession"]}},"additionalProperties":false,"description":"This is the container for reference to a OneRoster 'Academic Session' object that has an allocated sourcedId (GUID)."},"AcademicSessionDType":{"required":["dateLastModified","endDate","schoolYear","sourcedId","startDate","status","title","type"],"type":"object","properties":{"sourcedId":{"type":"string","description":"Model Primitive Datatype = String. The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is a GUID  System ID for an object. This is the GUID that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId.  The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products.  Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general, but particularly users. This means that if a customer includes a student name in an enrollment.sourcedId, it will not fall to any certified product to protect the enrollment.sourcedId as PII, or even the userSourcedId field in the enrollment record."},"status":{"type":"string","description":"All objects MUST BE either 'active' or 'tobedeleted'.  Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'.","enum":["active","tobedeleted"]},"dateLastModified":{"type":"string","description":"Model Primitive Datatype = DateTime. All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in W3C profile of [ISO 8601] and MUST contain the UTC timezone.","format":"date-time"},"metadata":{"$ref":"#/components/schemas/MetadataDType"},"title":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The title/label for the academic session."},"startDate":{"type":"string","description":"Model Primitive Datatype = Date. The start date for the academic session. The start date is included in the academic session. This is in [ISO 8601] format of 'YYYY-MM-DD'.","format":"date"},"endDate":{"type":"string","description":"Model Primitive Datatype = Date. The end date for the academic session. The end date is excluded from the academic session. This is in [ISO 8601] format of 'YYYY-MM-DD'.","format":"date"},"type":{"type":"string","description":"The type of academic session. This is based upon an enumerated vocabulary."},"parent":{"$ref":"#/components/schemas/AcadSessionGUIDRefDType"},"children":{"minItems":0,"type":"array","description":"The set of links to the child AcademicSessions i.e. a set of AcademicSession 'sourcedIds'.","items":{"$ref":"#/components/schemas/AcadSessionGUIDRefDType"}},"schoolYear":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The school year for the academic session.  This year should include the school year end e.g. 2014. This is in the [ISO 8601] format of 'YYYY'."}},"additionalProperties":false,"description":"The container for an academicSession. An academicSession represents a duration of time. Typically they are used to describe terms, grading periods, and other durations e.g. school years. Term is used to describe a period of time during which learning will take place. Other words for term could be in common use around the world e.g. Semester. The important thing is that Term is a unit of time, often many weeks long, into which classes are scheduled. Grading Period is used to represent another unit of time, that within which line items are assessed. A term may have many grading periods, a grading period belongs to a single term. A class may be assessed over several grade periods (represented by a line item being connected to a grading period). The parent / child attributes of academic sessions allow terms to be connected to their grading periods and vice-versa. "},"AcademicSessionSetDType":{"type":"object","properties":{"academicSessions":{"minItems":0,"type":"array","description":"The collection of academicSession instances. The order is not significant. The corresponding query constraints may result in no instances being returned.","items":{"$ref":"#/components/schemas/AcademicSessionDType"}}},"additionalProperties":false,"description":"This is the container for a collection of academicSessions instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant."},"ClassDType":{"required":["course","dateLastModified","school","sourcedId","status","terms","title"],"type":"object","properties":{"sourcedId":{"type":"string","description":"Model Primitive Datatype = String. The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is a GUID  System ID for an object. This is the GUID that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId.  The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products.  Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general, but particularly users. This means that if a customer includes a student name in an enrollment.sourcedId, it will not fall to any certified product to protect the enrollment.sourcedId as PII, or even the userSourcedId field in the enrollment record."},"status":{"type":"string","description":"All objects MUST BE either 'active' or 'tobedeleted'.  Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'.","enum":["active","tobedeleted"]},"dateLastModified":{"type":"string","description":"Model Primitive Datatype = DateTime. All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in W3C profile of [ISO 8601] and MUST contain the UTC timezone.","format":"date-time"},"metadata":{"$ref":"#/components/schemas/MetadataDType"},"title":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The tile/label for the class."},"classCode":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The class code."},"classType":{"type":"string","description":"The type of class. This is based upon an enumerated vocabulary."},"location":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The location for the class e.g. 'Room 19'."},"grades":{"minItems":0,"type":"array","description":"Model Primitive Datatype = NormalizedString. The grade(s) who attend the class. The permitted vocabulary should be defined as part of the adoption and deployment process. See the Implementation Guide [OR-IMPL-12] for more details on how to define/use such a vocabulary.","items":{"type":"string"}},"subjects":{"minItems":0,"type":"array","description":"Model Primitive Datatype = NormalizedString. The set of subjects addressed by this class e.g. 'chemistry'.","items":{"type":"string"}},"course":{"$ref":"#/components/schemas/CourseGUIDRefDType"},"school":{"$ref":"#/components/schemas/OrgGUIDRefDType"},"terms":{"minItems":1,"type":"array","description":"The links to the set of terms or semesters (academicSession) i.e. the set of 'sourcedIds' for the terms within the associated school year.","items":{"$ref":"#/components/schemas/AcadSessionGUIDRefDType"}},"subjectCodes":{"minItems":0,"type":"array","description":"Model Primitive Datatype = NormalizedString. This is a machine readable set of codes and the number should match the associated 'subjects' attribute. The vocabulary for this characteristic should be defined as part of the local addition of this specification (see the Implementation Guide [OR-IMPL-12] for more details).","items":{"type":"string"}},"periods":{"minItems":0,"type":"array","description":"Model Primitive Datatype = NormalizedString. The time slots in the day that the class will be given. Examples are 1 or a list of 1, 3, 5, etc.","items":{"type":"string"}},"resources":{"minItems":0,"type":"array","description":"The links to the set of associated resources i.e. the Resource 'sourcedIds'.","items":{"$ref":"#/components/schemas/ResourceGUIDRefDType"}}},"additionalProperties":false,"description":"A class is an instance of a course, onto which students and teachers are enrolled. A class is typically held within a term."},"ClassGUIDRefDType":{"required":["href","sourcedId","type"],"type":"object","properties":{"href":{"type":"string","description":"Model Primitive Datatype = AnyURI. The URI for the type of object being referenced.","format":"uri"},"sourcedId":{"type":"string","description":"Model Primitive Datatype = String. The globally unique identifier of the object being referenced."},"type":{"type":"string","description":"The type of object being referenced i.e. a 'class'.","enum":["class"]}},"additionalProperties":false,"description":"This is the container for reference to a OneRoster 'Class' object that has an allocated sourcedId (GUID)."},"ClassSetDType":{"type":"object","properties":{"classes":{"minItems":0,"type":"array","description":"The collection of class instances. The order is not significant. The corresponding query constraints may result in no instances being returned.","items":{"$ref":"#/components/schemas/ClassDType"}}},"additionalProperties":false,"description":"This is the container for a collection of classes instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant."},"CourseDType":{"required":["courseCode","dateLastModified","sourcedId","status","title"],"type":"object","properties":{"sourcedId":{"type":"string","description":"Model Primitive Datatype = String. The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is a GUID  System ID for an object. This is the GUID that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId.  The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products.  Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general, but particularly users. This means that if a customer includes a student name in an enrollment.sourcedId, it will not fall to any certified product to protect the enrollment.sourcedId as PII, or even the userSourcedId field in the enrollment record."},"status":{"type":"string","description":"All objects MUST BE either 'active' or 'tobedeleted'.  Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'.","enum":["active","tobedeleted"]},"dateLastModified":{"type":"string","description":"Model Primitive Datatype = DateTime. All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in W3C profile of [ISO 8601] and MUST contain the UTC timezone.","format":"date-time"},"metadata":{"$ref":"#/components/schemas/MetadataDType"},"title":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The title of the course."},"schoolYear":{"$ref":"#/components/schemas/AcadSessionGUIDRefDType"},"courseCode":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The assigned course code."},"grades":{"minItems":0,"type":"array","description":"Model Primitive Datatype = NormalizedString. Grade(s) for which the class is attended. The permitted vocabulary should be defined as part of the adoption and deployment process. See the Implementation Guide [OR-IMPL-12] for more details on how to define/use such a vocabulary.","items":{"type":"string"}},"subjects":{"minItems":0,"type":"array","description":"Model Primitive Datatype = NormalizedString. The set of subjects addresse by this course. This is a set of human readable strings.  ","items":{"type":"string"}},"org":{"$ref":"#/components/schemas/OrgGUIDRefDType"},"subjectCodes":{"minItems":0,"type":"array","description":"Model Primitive Datatype = NormalizedString. This is a machine readable set of codes and the number should match the associated 'subjects' attribute. The vocabulary for this characteristic should be defined as part of the local addition of this specification (see the Implementation Guide [OR-IMPL-12] for more details).","items":{"type":"string"}},"resources":{"minItems":0,"type":"array","description":"The links to the associated resources if applicable i.e. the resource 'sourcedIds'.","items":{"$ref":"#/components/schemas/ResourceGUIDRefDType"}}},"additionalProperties":false,"description":"The information about a course. A Course is a course of study that, typically, has a shared curriculum although it may be taught to different students by different teachers. It is likely that several classes of a single course may be taught in a term. For example, a school runs Grade 9 English in the spring term. There are four classes, each with a different 30 students, taught by 4 different teachers. However the curriculum for each of those four classes is the same i.e. the course curriculum."},"CourseGUIDRefDType":{"required":["href","sourcedId","type"],"type":"object","properties":{"href":{"type":"string","description":"Model Primitive Datatype = AnyURI. The URI for the type of object being referenced.","format":"uri"},"sourcedId":{"type":"string","description":"Model Primitive Datatype = String. The globally unique identifier of the object being referenced."},"type":{"type":"string","description":"The type of object being referenced i.e. a 'course'.","enum":["course"]}},"additionalProperties":false,"description":"This is the container for reference to a OneRoster 'Course' object that has an allocated sourcedId (GUID)."},"CourseSetDType":{"type":"object","properties":{"courses":{"minItems":0,"type":"array","description":"The collection of course instances. The order is not significant. The corresponding query constraints may result in no instances being returned.","items":{"$ref":"#/components/schemas/CourseDType"}}},"additionalProperties":false,"description":"This is the container for a collection of courses instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant."},"CredentialDType":{"required":["type","username"],"type":"object","properties":{"type":{"type":"string","description":"Model Primitive Datatype = String. The type of credentials for the profile. This should be indicative of when this specific credential should be used."},"username":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The username."},"password":{"type":"string","description":"Model Primitive Datatype = String. The password in this set of credentials.  Care should be taken to ensure that no unencrypted value is revealed."}},"additionalProperties":true,"description":"The container for a single set of credentials for an account."},"DemographicsDType":{"required":["dateLastModified","sourcedId","status"],"type":"object","properties":{"sourcedId":{"type":"string","description":"Model Primitive Datatype = String. The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is a GUID  System ID for an object. This is the GUID that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId.  The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products.  Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general, but particularly users. This means that if a customer includes a student name in an enrollment.sourcedId, it will not fall to any certified product to protect the enrollment.sourcedId as PII, or even the userSourcedId field in the enrollment record."},"status":{"type":"string","description":"All objects MUST BE either 'active' or 'tobedeleted'.  Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'.","enum":["active","tobedeleted"]},"dateLastModified":{"type":"string","description":"Model Primitive Datatype = DateTime. All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in W3C profile of [ISO 8601] and MUST contain the UTC timezone.","format":"date-time"},"metadata":{"$ref":"#/components/schemas/MetadataDType"},"birthDate":{"type":"string","description":"Model Primitive Datatype = Date. the date of birth. The format is [ISO 8601] of 'YYYY-MM-DD'.","format":"date"},"sex":{"type":"string","description":"The sex of the individual. The permitted values are from an enumerated list."},"americanIndianOrAlaskaNative":{"type":"string","description":"Identification of whether or not the user is an American Indian or Alaska Native ethnicity.","enum":["true","false"]},"asian":{"type":"string","description":"Identification of whether or not the user is of Asian ethnicity.","enum":["true","false"]},"blackOrAfricanAmerican":{"type":"string","description":"Identification of whether or not the user is black or African American ethnicity.","enum":["true","false"]},"nativeHawaiianOrOtherPacificIslander":{"type":"string","description":"Identification of whether or not the user is Native Hawaiian or Other Pacific Islander ethnicity.","enum":["true","false"]},"white":{"type":"string","description":"Identification of whether or not the user is of white ethnicity.","enum":["true","false"]},"demographicRaceTwoOrMoreRaces":{"type":"string","description":"Identification of whether or not the user has a demographic of two or more race ethnicities.","enum":["true","false"]},"hispanicOrLatinoEthnicity":{"type":"string","description":"Identification of whether or not the user is Hispanic or of Latino ethnicity.","enum":["true","false"]},"countryOfBirthCode":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The country of birth code. The permitted vocabulary should be defined as part of the adoption and deployment process. See the Implementation Guide [OR-IMPL-12] for more details on how to define/use such a vocabulary."},"stateOfBirthAbbreviation":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The abbreviation for the name of the state (within the United States) or extra-state jurisdiction in which a person was born. The permitted vocabulary should be defined as part of the adoption and deployment process. See the Implementation Guide [OR-IMPL-12] for more details on how to define/use such a vocabulary."},"cityOfBirth":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The name of the city in which the user was born."},"publicSchoolResidenceStatus":{"type":"string","description":"Model Primitive Datatype = NormalizedString. An indication of the location of a person's legal residence relative to (within or outside) the boundaries of the public school attended and its administrative unit. The permitted vocabulary should be defined as part of the adoption and deployment process. See the Implementation Guide [OR-IMPL-12] for more details on how to define/use such a vocabulary."}},"additionalProperties":false,"description":"Demographics information is taken from the Common Educational Data Standards (CEDS) from the US government. (http://ceds.ed.gov). Note that demographics data is held in its own service, and that access to this service is considered privileged. Not all consumer keys will be able to request demographics data."},"DemographicsSetDType":{"type":"object","properties":{"demographics":{"minItems":0,"type":"array","description":"The collection of demographics instances. The order is not significant. The corresponding query constraints may result in no instances being returned.","items":{"$ref":"#/components/schemas/DemographicsDType"}}},"additionalProperties":false,"description":"This is the container for a collection of demographics instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant."},"EnrollmentDType":{"required":["class","dateLastModified","role","school","sourcedId","status","user"],"type":"object","properties":{"sourcedId":{"type":"string","description":"Model Primitive Datatype = String. The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is a GUID  System ID for an object. This is the GUID that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId.  The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products.  Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general, but particularly users. This means that if a customer includes a student name in an enrollment.sourcedId, it will not fall to any certified product to protect the enrollment.sourcedId as PII, or even the userSourcedId field in the enrollment record."},"status":{"type":"string","description":"All objects MUST BE either 'active' or 'tobedeleted'.  Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'.","enum":["active","tobedeleted"]},"dateLastModified":{"type":"string","description":"Model Primitive Datatype = DateTime. All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in W3C profile of [ISO 8601] and MUST contain the UTC timezone.","format":"date-time"},"metadata":{"$ref":"#/components/schemas/MetadataDType"},"user":{"$ref":"#/components/schemas/UserGUIDRefDType"},"class":{"$ref":"#/components/schemas/ClassGUIDRefDType"},"school":{"$ref":"#/components/schemas/OrgGUIDRefDType"},"role":{"type":"string","description":"The role of the user for this class in the school e.g teacher, student, etc. This is from an enumerated vocabulary."},"primary":{"type":"string","description":"Applicable only to teachers. Only one teacher should be designated as the primary teacher for a class (this value set as 'true') in the period defined by the begin/end dates.","enum":["true","false"]},"beginDate":{"type":"string","description":"Model Primitive Datatype = Date. The start date for the enrollment (inclusive). This date must be within the period of the associated Academic Session for the class (Term/Semester/SchoolYear). Use the [ISO 8601] format of 'YYYY-MM-DD'.","format":"date"},"endDate":{"type":"string","description":"Model Primitive Datatype = Date. The end date for the enrollment (exclusive).  This date must be within the period of the associated Academic Session for the class (Term/Semester/SchoolYear). Use the [ISO 8601] format of 'YYYY-MM-DD'.","format":"date"}},"additionalProperties":false,"description":"An enrollment is the name given to an individual taking part in a class. In the vast majority of cases, users will be students learning in a class, or teachers teaching the class. Other roles are also possible."},"EnrollmentSetDType":{"type":"object","properties":{"enrollments":{"minItems":0,"type":"array","description":"The collection of enrollment instances. The order is not significant. The corresponding query constraints may result in no instances being returned.","items":{"$ref":"#/components/schemas/EnrollmentDType"}}},"additionalProperties":false,"description":"This is the container for a collection of enrollment instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant."},"MetadataDType":{"type":"object","additionalProperties":true,"description":"The container for the proprietary extensions."},"OrgDType":{"required":["dateLastModified","identifier","name","sourcedId","status","type"],"type":"object","properties":{"sourcedId":{"type":"string","description":"Model Primitive Datatype = String. The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is a GUID  System ID for an object. This is the GUID that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId.  The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products.  Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general, but particularly users. This means that if a customer includes a student name in an enrollment.sourcedId, it will not fall to any certified product to protect the enrollment.sourcedId as PII, or even the userSourcedId field in the enrollment record."},"status":{"type":"string","description":"All objects MUST BE either 'active' or 'tobedeleted'.  Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'.","enum":["active","tobedeleted"]},"dateLastModified":{"type":"string","description":"Model Primitive Datatype = DateTime. All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in W3C profile of [ISO 8601] and MUST contain the UTC timezone.","format":"date-time"},"metadata":{"$ref":"#/components/schemas/MetadataDType"},"name":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The name of the organization."},"type":{"type":"string","description":"The type of organization. This uses a predefined vocabulary."},"identifier":{"type":"string","description":"Model Primitive Datatype = String. Human readable identifier for this org e.g. NCES ID."},"parent":{"$ref":"#/components/schemas/OrgGUIDRefDType"},"children":{"minItems":0,"type":"array","description":"The 'sourcedIds' for the set of child organizations.","items":{"$ref":"#/components/schemas/OrgGUIDRefDType"}}},"additionalProperties":false,"description":"ORG is defined here as a structure for holding organizational information. An ORG might be a school, or it might be a local, statewide, or national entity. ORGs will typically have a parent ORG (up to the national level), and children, allowing a hierarchy to be established. School is defined here as the place where the learning happens. Most commonly this is the data that describes a bricks and mortar building, or, in the case of a virtual school, the virtual school organization. For enrollment and result reporting purposes, little information about this organization is required. A common example of a local organization is a school district."},"OrgGUIDRefDType":{"required":["href","sourcedId","type"],"type":"object","properties":{"href":{"type":"string","description":"Model Primitive Datatype = AnyURI. The URI for the type of object being referenced.","format":"uri"},"sourcedId":{"type":"string","description":"Model Primitive Datatype = String. The globally unique identifier of the object being referenced."},"type":{"type":"string","description":"The type of object being referenced i.e. an 'org'.","enum":["org"]}},"additionalProperties":false,"description":"This is the container for reference to a OneRoster 'Org' object that has an allocated sourcedId (GUID)."},"OrgSetDType":{"type":"object","properties":{"orgs":{"minItems":0,"type":"array","description":"The collection of org instances. The order is not significant. The corresponding query constraints may result in no instances being returned.","items":{"$ref":"#/components/schemas/OrgDType"}}},"additionalProperties":false,"description":"This is the container for a collection of org instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant."},"ResourceGUIDRefDType":{"required":["href","sourcedId","type"],"type":"object","properties":{"href":{"type":"string","description":"Model Primitive Datatype = AnyURI. The URI for the type of object being referenced.","format":"uri"},"sourcedId":{"type":"string","description":"Model Primitive Datatype = String. The globally unique identifier of the object being referenced."},"type":{"type":"string","description":"The type of object being referenced i.e. a 'resource'.","enum":["resource"]}},"additionalProperties":false,"description":"This is the container for reference to a OneRoster 'Resourse' object that has an allocated sourcedId (GUID)."},"RoleDType":{"required":["org","role","roleType"],"type":"object","properties":{"roleType":{"type":"string","description":"Indicates if this role is the primary or secondary role for that org. There MUST be one, and only one, primary role for each org.","enum":["primary","secondary"]},"role":{"type":"string","description":"The role of the user in the org. The permitted values are from an enumerated list. "},"org":{"$ref":"#/components/schemas/OrgGUIDRefDType"},"userProfile":{"type":"string","description":"Model Primitive Datatype = AnyURI. The identifier for the system/tool/app access account that is relevant to this role in the org. The equivalent UserProfile should exist with a 'profileId' equal to this identifier value.","format":"uri"},"beginDate":{"type":"string","description":"Model Primitive Datatype = Date. The start date on which the role becomes active (inclusive). ","format":"date"},"endDate":{"type":"string","description":"Model Primitive Datatype = Date. The end date on which the role becomes inactive (exclusive). ","format":"date"}},"additionalProperties":false,"description":"The container for one mapping between a role and an org for the user."},"SingleAcademicSessionDType":{"required":["academicSession"],"type":"object","properties":{"academicSession":{"$ref":"#/components/schemas/AcademicSessionDType"}},"additionalProperties":false,"description":"This is the container for a single academicSession instance for a message payload."},"SingleClassDType":{"required":["class"],"type":"object","properties":{"class":{"$ref":"#/components/schemas/ClassDType"}},"additionalProperties":false,"description":"This is the container for a single class instance for a message payload."},"SingleCourseDType":{"required":["course"],"type":"object","properties":{"course":{"$ref":"#/components/schemas/CourseDType"}},"additionalProperties":false,"description":"This is the container for a single course instance for a message payload."},"SingleDemographicsDType":{"required":["demographics"],"type":"object","properties":{"demographics":{"$ref":"#/components/schemas/DemographicsDType"}},"additionalProperties":false,"description":"This is the container for a single demographics instance for a message payload."},"SingleEnrollmentDType":{"required":["enrollment"],"type":"object","properties":{"enrollment":{"$ref":"#/components/schemas/EnrollmentDType"}},"additionalProperties":false,"description":"This is the container for a single enrollment instance for a message payload."},"SingleOrgDType":{"required":["org"],"type":"object","properties":{"org":{"$ref":"#/components/schemas/OrgDType"}},"additionalProperties":false,"description":"This is the container for a single org instance for a message payload."},"SingleUserDType":{"required":["user"],"type":"object","properties":{"user":{"$ref":"#/components/schemas/UserDType"}},"additionalProperties":false,"description":"This is the container for a single user instance for a message payload."},"UserDType":{"required":["dateLastModified","enabledUser","familyName","givenName","roles","sourcedId","status"],"type":"object","properties":{"sourcedId":{"type":"string","description":"Model Primitive Datatype = String. The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is a GUID  System ID for an object. This is the GUID that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId.  The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products.  Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general, but particularly users. This means that if a customer includes a student name in an enrollment.sourcedId, it will not fall to any certified product to protect the enrollment.sourcedId as PII, or even the userSourcedId field in the enrollment record."},"status":{"type":"string","description":"All objects MUST BE either 'active' or 'tobedeleted'.  Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'.","enum":["active","tobedeleted"]},"dateLastModified":{"type":"string","description":"Model Primitive Datatype = DateTime. All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in W3C profile of [ISO 8601] and MUST contain the UTC timezone.","format":"date-time"},"metadata":{"$ref":"#/components/schemas/MetadataDType"},"userMasterIdentifier":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The master unique identifier for this user. This is NOT the same as the user's interoperability 'sourcedId'. This should be used to ensure that all of the system identifiers/accounts etc. can be reconciled to the same user. How this identifier is assigned and its format is beyond the scope of this specification."},"username":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The user name assigned to the user. NOTE - This has been kept for backwards compatibility with OneRoster 1.1 and the new 'userProfiles' characteristic SHOULD be used instead."},"userIds":{"minItems":0,"type":"array","description":"The set of external user identifiers that should be used for this user, if for some reason the sourcedId cannot be used. This might be an active directory id, an LTI id, or some other machine-readable identifier that is used for this person.","items":{"$ref":"#/components/schemas/UserIdDType"}},"enabledUser":{"type":"string","description":"This is used to determine whether or not the record is active in the local system. 'false' denotes that the record is active but system access is curtailed according to the local administration rules.","enum":["true","false"]},"givenName":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The given name. Also, known as the first name."},"familyName":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The family name. Also, known as the last name."},"middleName":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The set of middle names. If more than one middle name is needed separate using a space e.g. 'Wingarde Granville'."},"preferredFirstName":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The user's preferred first name. This attribute was added in version 1.2."},"preferredMiddleName":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The user's preferred middle name(s). This attribute was added in version 1.2."},"preferredLastName":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The user's preferred last name. This attribute was added in version 1.2."},"pronouns":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The pronoun(s) by which this person is referenced. Examples (in the case of English) include 'she/her/hers', 'he/him/his', 'they/them/theirs', 'ze/hir/hir', 'xe/xir', or a statement that the person's name should be used instead of any pronoun."},"roles":{"minItems":1,"type":"array","description":"The set of roles for each of the orgs to which the user is affilliated. This is expressed as a set of role/org tuples.","items":{"$ref":"#/components/schemas/RoleDType"}},"userProfiles":{"minItems":0,"type":"array","description":"The set of system/app/tool profiles for the user.","items":{"$ref":"#/components/schemas/UserProfileDType"}},"primaryOrg":{"$ref":"#/components/schemas/OrgGUIDRefDType"},"identifier":{"type":"string","description":"Model Primitive Datatype = String. An identifier for the user. NOTE - This characteristic is kept for backwards compatibility with OneRoster 1.1/1.0. The 'userIds' characteristic SHOULD be used instead."},"email":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The email address for the user."},"sms":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The SMS number for the user."},"phone":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The phone number for the user."},"agents":{"minItems":0,"type":"array","description":"The links to other people i.e. User 'sourcedIds'.","items":{"$ref":"#/components/schemas/UserGUIDRefDType"}},"grades":{"minItems":0,"type":"array","description":"Model Primitive Datatype = NormalizedString. Grade(s) for which a user with role 'student' is enrolled. The permitted vocabulary should be defined as part of the adoption and deployment process. See the Implementation Guide [OR-IMPL-12] for more details on how to define/use such a vocabulary.","items":{"type":"string"}},"password":{"type":"string","description":"Model Primitive Datatype = String. A top-level password for the user. Care should be taken when using this field and the password SHOULD be encrypted."},"resources":{"minItems":0,"type":"array","description":"The identifiers (GUIDs) for the set of resources that are to be made available to the user. These are the sourcedIds that should be used for obtaining the metadata about the resources using the OR 1.2 Resources Service [OR-RES-SM-12].","items":{"$ref":"#/components/schemas/ResourceGUIDRefDType"}}},"additionalProperties":false,"description":"Users, Teachers and Students are human beings that are teaching or studying in a class respectively. A single User class is used to represent both teachers and students and a role property is used to distinguish a user's natural role.Humans may have relationships with other humans. For example, a student may have parents. The 'agents' attribute allows for relationships between humans to be expressed. Note that these are typically from the point of view of the student - so a student will link to its parents (via the agent attribute). The reverse view MUST also be modeled, so for example, a user of role 'parent' MUST have agents that are of type 'student'. Note: Teachers MUST NOT be set as agents of students i.e. the teaching relationship is covered via enrollments. "},"UserGUIDRefDType":{"required":["href","sourcedId","type"],"type":"object","properties":{"href":{"type":"string","description":"Model Primitive Datatype = AnyURI. The URI for the type of object being referenced.","format":"uri"},"sourcedId":{"type":"string","description":"Model Primitive Datatype = String. The globally unique identifier of the object being referenced."},"type":{"type":"string","description":"The type of object being referenced i.e. a 'user'.","enum":["user"]}},"additionalProperties":false,"description":"This is the container for reference to a OneRoster 'User' object that has an allocated sourcedId (GUID)."},"UserIdDType":{"required":["identifier","type"],"type":"object","properties":{"type":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The type of identifier. This is no predefined vocabuary."},"identifier":{"type":"string","description":"Model Primitive Datatype = String. The user identifier."}},"additionalProperties":false,"description":"This is the set of external user identifiers that should be used for this user, if for some reason the sourcedId cannot be used. This might be an active directory id, an LTI id, or some other machine-readable identifier that is used for this person."},"UserProfileDType":{"required":["profileId","profileType","vendorId"],"type":"object","properties":{"profileId":{"type":"string","description":"Model Primitive Datatype = AnyURI. The unique identifier for the profile. This does not need to be a globally unique identifier but it must be unique within the scope of the user.","format":"uri"},"profileType":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The type of profile. This should be a human readable label that has some significance in the context of the related system, app, tool, etc."},"vendorId":{"type":"string","description":"Model Primitive Datatype = NormalizedString. The unique identifier for the vendor of the system, tool, app, etc. which requires the use of this profile."},"applicationId":{"type":"string","description":"Model Primitive Datatype = NormalizedString. Identifier for the application associated with the account. The nature, and how this identifier is assigned is not defined by this specification. This may have a value of 'default' to denote this account should be used for default access to all applications related to this vendor."},"description":{"type":"string","description":"Model Primitive Datatype = String. A human readable description of the use of the profile. This should not contain any security information for access to the account."},"credentials":{"minItems":0,"type":"array","description":"The set of credentials that are available for access to this profile.","items":{"$ref":"#/components/schemas/CredentialDType"}}},"additionalProperties":false,"description":"The container for the information about a User Profile that will provide the user with access to some system, application, tool, etc."},"UserSetDType":{"type":"object","properties":{"users":{"minItems":0,"type":"array","description":"The collection of user instances. The order is not significant. The corresponding query constraints may result in no instances being returned.","items":{"$ref":"#/components/schemas/UserDType"}}},"additionalProperties":false,"description":"This is the container for a collection of user instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant."},"imsx_CodeMinorDType":{"required":["imsx_codeMinorField"],"type":"object","properties":{"imsx_codeMinorField":{"minItems":1,"type":"array","description":"Each reported code minor status code.","items":{"$ref":"#/components/schemas/imsx_CodeMinorFieldDType"}}},"additionalProperties":false,"description":"This is the container for the set of code minor status codes reported in the responses from the Service Provider."},"imsx_CodeMinorFieldDType":{"required":["imsx_codeMinorFieldName","imsx_codeMinorFieldValue"],"type":"object","properties":{"imsx_codeMinorFieldName":{"type":"string","description":"Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report. In most cases this will be the target service provider denoted as 'TargetEndSystem'.","default":"TargetEndSystem"},"imsx_codeMinorFieldValue":{"type":"string","description":"The code minor status code (this is a value from the corresponding enumerated vocabulary).","enum":["fullsuccess","invalid_filter_field","invalid_selection_field","invaliddata","unauthorisedrequest","forbidden","server_busy","unknownobject","internal_server_error"]}},"additionalProperties":false,"description":"This is the container for a single code minor status code."},"imsx_StatusInfoDType":{"required":["imsx_codeMajor","imsx_severity"],"type":"object","properties":{"imsx_codeMajor":{"type":"string","description":"The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes. The permitted vocabulary for the values for the CodeMajor field.","enum":["success","processing","failure","unsupported"]},"imsx_severity":{"type":"string","description":"The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.","enum":["status","warning","error"]},"imsx_description":{"type":"string","description":"Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information."},"imsx_CodeMinor":{"$ref":"#/components/schemas/imsx_CodeMinorDType"}},"additionalProperties":false,"description":"This is the container for the status code and associated information returned within the HTTP messages received from the Service Provider. For the OneRoster Rostering service this object will only be returned to provide information about a failed request i.e. it will NOT be in the payload for a successful request. See Appendix B for further information on the interpretation of the information contained within this class."}},"securitySchemes":{"OAuth2CC":{"type":"oauth2","description":"OAuth 2 Client Credentials (as per the requirements in the IMS Security Framework) is to be used.","flows":{"clientCredentials":{"tokenUrl":"https://api.openroster.org/auth/token/{tenantId}","scopes":{"https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly":"Support for all of the read operations (excluding demographics) to enable information about collections or a single object to be obtained.","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly":"The core set of read operations to enable information about collections or a single object to be obtained.","https://purl.imsglobal.org/spec/or/v1p2/scope/roster-demographics.readonly":"The read operations to provide all demographics or a single demographics object to be obtained."}}}}}},"x-original-swagger-version":"2.0","externalDocs":{"description":"1EdTech OneRoster 1.2 Standard","url":"https://www.imsglobal.org/spec/oneroster/v1p2/"}}