OneRoster: Conformance and Certification 1.2 IMS Candidate Final Public

IMS OneRoster: Conformance and Certification

IMS Candidate Final Public
Version 1.2
IMS Candidate Final Public
Date Issued: 1st July, 2021
Status: This document is for review and adoption by the IMS membership.
This version: https://www.imsglobal.org/spec/or/v1p2/cert/
Latest version: https://www.imsglobal.org/spec/or/latest/cert/
Errata: https://www.imsglobal.org/spec/or/v1p2/errata/

IPR and Distribution Notice

Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation.

IMS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on IMS's procedures with respect to rights in IMS specifications can be found at the IMS Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.

Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/speclicense.html.

Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.

The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.

THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.

Public contributions, comments and questions can be posted here: http://www.imsglobal.org/forums/ims-glc-public-forums-and-resources.

© 2021 IMS Global Learning Consortium, Inc. All Rights Reserved.

Trademark information: http://www.imsglobal.org/copyright.html

Abstract

The OneRoster® standard addresses the exchange of student data (primarily about people, courses, enrollments and grades) between different educational systems for the specific needs of K-12. The primary use-cases are: the exchange of data between a Student Information System (SIS) and Learning Management System (LMS), and the rostering of learning tools. In OR 1.2, the service has been split into three core services.

The underlying OneRoster specification is available in:

  • OR 1.2 Rostering Service Model [ORROS-SM]
  • OR 1.2 Resources Service Model [ORRES-SM]
  • OR 1.2 Gradebook Service Model [ORGBK-SM]

The purpose of this document is provide the details of the conformance process and certifications available for the IMS OneRoster 1.2 standard. Conformance certification is available for:

  • Systems that import and/or export OneRoster CSV files;
  • Systems that act as service providers and/or service consumers of the REST-based OneRoster services.

1. Introduction

1.1 Scope and Context

The OneRoster® standard is designed to be a subset of the full IMS Learning Information Services (LIS) standard that focuses on the K-12/Schools needs to exchange roster information and grades. The standard includes a REST-based binding (also described by an OpenAPI [OpenAPI2] and [OpenAPI3] file) to make it quicker and easier to implement the exchange of information about people, membership, courses and gradebooks. In addition to the REST binding description, a format for CSV file based exchange has also been included (CSV files are typically exchanged between the school and the vendor to populate the roster information needed to gain access to learning tools, portals and learning environments). In OneRoster 1.2, the service has been split into three core services:

In OneRoster 1.2 a further service has been included: 'Assessment Results' [ORARS-SM]. This service is a formal Profile of the OneRoster 1.2 Gradebook Service that is focused the delivery of detailed scores/grades for an assignment.

The purpose of this document is provide the details of the conformance process and certifications available for the IMS OneRoster 1.2 standard. Conformance certification is available for:

  • Systems that import and/or export OneRoster CSV files;
  • Systems that act as service providers and/or service consumers of the REST-based OneRoster services.

This document is the Final Release, meaning the technical solution is now made available as a public document and as such several IMS Members have aleady successfully completed conformance certification at the time of release of the document.

IMS strongly encourages its members and the community to provide feedback to continue the evolution and improvement of the OneRoster standard. To join the IMS developer and conformance certification community focused on OneRoster please visit the IMS OneRoster Alliance online here: http://www.imsglobal.org/lis/index.html

Public contributions, comments and questions can be posted here: Public OneRoster Forums.

1.2 Changes in the OneRoster 1.2 Specification

In the context of conformance and certification the following changes have occured in OR 1.2:

  • The conformance requirements for eight new CSV files has been addessed. The new files are:
    • lineItemLearningObjectiveIds.csv
    • lineItemScoreScales.csv
    • resultLearningObjectiveIds.csv
    • resultScoreScales.csv
    • roles.csv
    • scoreScales.csv
    • userProfiles.csv
    • userResources.csv;
  • The conformance requirements for twenty-one new endpoints have been addessed. The new endpoints are:
    • getAcademicStandardIdsForClass() - '/classes/{classSourcedId}/academicStandardIds'
    • getAcademicStandardIdsForSchool() - '/schools/{schoolSourcedId}/academicStandardIds'
    • getAssessmentLineItems() - '/assessmentLineItems'
    • getAssessmentLineItem() - '/assessmentLineItems/{id}'
    • deleteAssessmentLineItem() - '/assessmentLineItems/{id}'
    • putAssessmentLineItem() - '/assessmentLineItems/{id}'
    • getAssessmentResults() - '/assessmentResults'
    • getAssessmentResult() - '/assessmentResults/{id}'
    • deleteAssessmentResult() - '/assessmentResults/{id}'
    • putAssessmentResult() - '/assessmentResults/{id}'
    • postLineItemsForClass() - '/classes/{classSourcedId}/lineItems'
    • postLineItemsForSchool() - '/schools/{schoolSourcedId}/lineItems'
    • postResultsForLineItem() - '/lineItems/{lineItemSourcedId}/results'
    • postResultsForAcademicSessionForClass() - '/classes/{classSourcedId}/academicSessions/{academicSessionSourcedId}/results'
    • getAllScoreScales() - '/scoreScales'
    • getScoreScale() - '/scoreScales/{id}'
    • getScoreScalesForClass() - '/classes/{classSourcedId}/scoreScales'
    • getScoreScalesForSchool() - '/schools/{schoolSourcedId}/scoreScales'
    • putScoreScale() - '/scoreScales/{id}'
    • deleteScoreScale() - '/scoreScales/{id}'
    • getResourcesForUser() - '/users/{user_id}/resources';
  • Use of OAuth 1.0a message signing has been removed. The use of OAuth 2.0 Bearer Tokens (Client Credentials Grant) is REQUIRED.
  • Addition of support for certification testing of the optional Bulk Services.

1.3 Conformance Statements

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words "MAY", "MUST", "MUST NOT", "OPTIONAL", "RECOMMENDED", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", and "SHOULD NOT" in this document are to be interpreted as described in [RFC2119].

An implementation of this specification that fails to implement a MUST/REQUIRED/SHALL requirement or fails to abide by a MUST NOT/SHALL NOT prohibition is considered nonconformant. SHOULD/SHOULD NOT/RECOMMENDED statements constitute a best practice. Ignoring a best practice does not violate conformance but a decision to disregard such guidance should be carefully considered. MAY/OPTIONAL statements indicate that implementers are entirely free to choose whether or not to implement the option.

1.4 Structure of this Document

The structure of the rest of this document is:

2. The Conformance Process The formal process to be undertaken by a vendor wishing to obtain OneRoster conformance certification;
3. CSV Exchange Conformance Conformance testing to be undertaken by systems seeking CSV exchange certification and/or verification that the CSV files are conformant;
4. REST-based Exchange Conformance Conformance testing and the available conformance certifications for vendors seeking conformance to the OneRoster REST-based exchange;
5. OneRoster Certifications A summary of the set of possible OneRoster certifications that a product could obtain and an explanation of how these could be combined to make a product solution.
Appendix A Summary of the Conformance Tests for a Service Provider A summary of the set of tests that are used to certify if a system is service provider compliant;
Appendix B Summary of the Conformance Tests for a Consumer A summary of the set of tests that are used to certify if a system is consumer compliant.

1.5 Terminology and Acronyms

API
Application Programming Interface
Consumer
The entity that is contained with an application/system/tool to obtain data from a Service Provider.
CSV
Comma Separated Values
HTTP
HyperText Transfer Protocol
IUT
Implementation Under Test. An IUT may be claiming compliance as a Consumer and/or a Service Provider and may also support CSV import and/or CSV export.
LIS
Learning Information Services
REST
Representational State Transfer
Service Provider
The entity that is responsible for supplying data to a Consumer. In general a Service Provider will support many Consumers concurrently.

2. The Conformance Process

2.1 Conformance Testing Process

The process for conformance testing implementations of OneRoster includes the following:

  • Go to the IMS Conformance Test Suite for OneRoster for either the REST or CSV version of OneRoster. Conformance Test Suite links are available in the IMS LIS Alliance and the relevant link details are given in Sections 3 (CSV import/export certification), 4 (Service Provider and Consumer certification) of this document;
  • Follow the onscreen instructions to run the tests;
  • Once the test has been successfully run, submit a print out of the test results along with the following information to conformance@imsglobal.org:
    1. Your Name
    2. Your Organization
    3. Your Product Name and Version
    4. Date the Product was tested
    5. Whether you are a Service/Data Provider or a Service/Data Consumer
    6. Whether you support the REST version, the CSV Version or both REST and CSV
    7. The set of operational modes that are supported - all systems must support at least one core service ('Rostering', 'Resources', 'Gradebook' and/or 'Assessment Results').

All Tests for the appropriate operational modes must be passed successfully to be considered IMS compliant.

2.1.1 Requirements for OneRoster v1.2 Conformance

All Tests for either the REST version or the CSV version must be passed successfully to be considered IMS OneRoster compliant. There are four core functional modes:

  • Rostering - the enrolment of people in classes;
  • Resources - the association of teaching/learning resources with courses/classes;
  • Gradebooks - the scores/grades for a learner who has completed some assessment of their learning activity on a class/course;
  • Assessment Results - the detailed scores/grades for a learner who has completed some assessment of their learning activity.

For CSV conformance ALL systems MUST support the 'Rostering' mode and for every operational processing mode that is supported by the product. For example, if both CSV import and export processing are supported then 'Rostering' for BOTH of these is required.

For the REST binding ALL systems MUST support at LEAST one of the 'Rostering', 'Resources', 'Gradebooks' and 'Assessment Results' modes. Also, in the case of the REST binding, the Bulk Service exchange may be supported.

2.1.2 OneRoster Conformance Mark

After you have submitted your successful conformance information to conformance@imsglobal.org, and received confirmation and a registration number from IMS Global you may then apply the appropriate conformance mark. The IMS Global conformance chart will list your conformance details. If you have any questions, please feel free to contact us at any point.

Membership in the OneRoster/Learning Information Services Alliance is the only way to achieve official conformance to the OneRoster standard. Products without a IMS conformance Registration Number are not considered to be compliant by IMS Global.

3. CSV Exchange Conformance

The IMS Conformance program provides conformance testing for:

  • The set of CSV files that are to be exchanged;
  • The systems that either import and/or export CSV files.

It should be noted that all filenames, column headers and data values are case sensitive. Incorrect use of case will result in the corresponding conformance error being reported.

Details about OneRoster conformance are available at the webpage: https://www.imsglobal.org/oneroster-conformance-testing.

3.1 CSV File Compliance

The IMS OneRoster CSV validator is available to test the validity of CSV files. This validator is available at: https://onerostervalidator.imsglobal.org:8443/oneroster-server-cts-webapp/instructions. For OneRoster 1.0 this validator requires the CSV files to be submitted individually. For OneRoster v1.1 and v1.2 the set of CSV files are submitted as single zipped file. The validator will check that the ‘manifest.csv’ file is present and correctly structured. Next it will check the accompanying data CSV files for indvidual correctness. Next it will check for cross-file semantic consistency. Finally it will provide a report on the correctness of the set of CSV files. Note that ONLY the ‘manifest.csv’ file is required in the zip file i.e. any combination of accompanying data model CSV files is permitted provided that these are semantically complete and self-consistent.

CSV files are defined as either 'BULK' or 'DELTA' processing. Bulk and Delta based CSV files have different content requirements and the validator will check for that consistency: all records in a single CSV file must be bulk or delta processing i.e. a mixture is NOT permitted and will be result in the file being declared invalid.

The set of files for a BULK exchange MUST be semantically complete i.e. any reference to a record, for example the reference to the user in the enrollment, requires that record to be in the file set. For a DELTA file set only the files that contain records that have been changed MUST be included.

The OneRoster CSV validator is definitive when establishing whether or not a set of CSV files is conformant to the OneRoster specification.

3.2 Systems File Compliance

All systems, whether supporting import and/or export, must handle BULK processing content. Support for DELTA content is optional. Also, all systems must support the core set of rostering CSV files (this minimum set ensures semantic consistency for rostering information). Support for the non-rostering-oriented files is optional but the set of supported files must still create semantically consistent data exchange.

3.2.1 Importing CSV Files

Determining whether or not a system that imports OneRoster CSV files is conformant is based upon a report generated from the importing of the reference test set of OneRoster CSV files. This test set contains multiple zip files each of which must be imported by the Implementation Under Test (IUT). This set of zip files consists of two types of test files:

  • CSV files that are syntactically correct and semantically consistent;
  • CSV files which are syntactically incorrect and/or semantically inconsistent.

In the case of the files with known errors, a system must indicate that the files are incorrect. How those errors are reported and the subsequent file processing is implementation dependent and not subject to conformance. However, establishing whether or not a system is compliant requires the vendor to demonstrate that the CSV files have been appropriately processed and any errors detected.

A conformant system is NOT required to import every type of data model CSV file. A conformant system must import, completely, the ‘manifest.csv’ file, the mandatory set of CSV data files and any of the optional data model CSV files supported by the OneRoster system undergoing conformance (the set of supported CSV files must be identified during conformance). The correct CSV files must be processed appropriately i.e. updates according to any delta changes, etc.

An importing system MUST support all of the required and optional data fields within the OneRoster specification. It is not a requirement that all of the data is stored internally but an importer must not flag as in error a CSV file that contains data that cannot be stored by the importing system.

The test set includes files sets that are semantically incomplete and these inconsistencies must be detected and the appropriate error messages logged. The test set also includes CSV files that have extensions. A system is not required to process these extensions but it must not result in the import files being rejected as invalid. A system that can process bulk files only must be capable of detecting delta files as invalid and logging the appropriate error information.

If a 'manifest.csv' file is NOT present in the zip file then an importing system MUST assume the set of files are as per the OR 1.0 CSV specification. The importing system must flag an error. Subsequent error handling is implementation dependent BUT if a system wishes to claim it can correctly process the OR 1.0 CSV files it MUST also be OR 1.0 compliant i.e. it MUST have been certified for both OR 1.0 and OR 1.1/1.2 specifications.

The set of OneRoster Reference Test CSV Files are available from IMS Global through the OneRoster Conformance web pages (https://www.imsglobal.org/oneroster-conformance-testing).

3.2.1.1 Support for Importing Rosters

The mandatory set, or core, of CSV data files that MUST be supported for rosters import is (note that it is NOT a requirement that every set of CSV files contain this core set):

  • ‘academicSessions.csv’ - bulk mode;
  • ‘classes.csv’ - bulk mode;
  • ‘courses.csv’ - bulk mode;
  • ‘enrollments.csv’ - bulk mode;
  • ‘orgs.csv’ - bulk mode;
  • ‘roles.csv’ (§) - bulk mode;
  • ‘users.csv’ - bulk mode.

Therefore, the CSV data files that MAY be supported for rosters import are:

  • ‘academicSessions.csv’ - delta mode;
  • ‘classes.csv’ - delta mode;
  • ‘courses.csv’ - delta mode;
  • ‘demographics.csv’ - bulk and/or delta mode;
  • ‘enrollments.csv’ - delta mode;
  • ‘orgs.csv’ - delta mode;
  • ‘roles.csv’ (§) - delta mode;
  • ‘users.csv’ - delta mode;
  • ‘userProfiles.csv’ (§) - bulk and/or delta mode.

The '§' denotes the CSV files added in OR 1.2.

Any system claiming that it supports import of the above optional data files MUST demonstrate the correct importing of the reference test set as part of the conformance. Note that the requirement for semantic consistency means that not all combinations of the set of optionally supported file imports is permitted.

3.2.1.2 Support for Importing Resources

Systems that are certifed to support the importing of resources as well as rostering must support the following files (the files marked by '*' are the extra files to be supported):

  • ‘academicSessions.csv’ - bulk mode;
  • ‘classes.csv’ - bulk mode;
  • ‘courses.csv’ - bulk mode;
  • ‘enrollments.csv’ - bulk mode;
  • ‘orgs.csv’ - bulk mode;
  • ‘roles.csv’ (§) - bulk mode;
  • ‘users.csv’ - bulk mode;
  • ‘classResources.csv’ - bulk mode*;
  • ‘courseResources.csv’ - bulk mode*;
  • ‘resources.csv’ - bulk mode*;
  • ‘userResources.csv’ (§) - bulk mode*.

Therefore, the CSV data files that MAY be supported for resources import are:

  • ‘academicSessions.csv’ - delta mode;
  • ‘classes.csv’ - delta mode;
  • ‘courses.csv’ - delta mode;
  • ‘demographics.csv’ - bulk and/or delta mode;
  • ‘enrollments.csv’ - delta mode;
  • ‘orgs.csv’ - delta mode;
  • ‘roles.csv’ (§) - delta mode;
  • ‘users.csv’ - delta mode;
  • ‘userProfiles.csv’ (§) - bulk and/or delta mode;
  • ‘classResources.csv’ - delta mode*;
  • ‘courseResources.csv’ - delta mode*;
  • ‘resources.csv’ - delta mode*;
  • ‘userResources.csv’ (§) - delta mode.

The '§' denotes the CSV files added in OR 1.2.

Any system claiming that it supports import of the above optional data files MUST demonstrate the correct importing of the reference test set as part of the conformance. Note that the requirement for semantic consistency means that not all combinations of the set of optionally supported file imports is permitted.

3.2.1.3 Support for Importing Gradebooks

Systems that are certifed to support the importing of gradebooks as well rostering must support the following files (the files marked by '*' are the extra files to be supported):

  • ‘academicSessions.csv’ - bulk mode;
  • ‘classes.csv’ - bulk mode;
  • ‘courses.csv’ - bulk mode;
  • ‘enrollments.csv’ - bulk mode;
  • ‘orgs.csv’ - bulk mode;
  • ‘roles.csv’ (§) - bulk mode;
  • ‘users.csv’ - bulk mode;
  • ‘categories.csv’ - bulk mode*;
  • ‘lineItems.csv’ - bulk mode*;
  • ‘lineItemLearningObjectiveIds.csv’ (§) - bulk mode;
  • ‘lineItemScoreScales.csv’ (§) - bulk mode;
  • ‘results.csv’ - bulk mode*;
  • ‘resultLearningObjectiveIds.csv’ (§) - bulk mode;
  • ‘resultScoreScales.csv’ (§) - bulk mode;
  • ‘scoreScales.csv’ (§) - bulk mode.

Therefore, the CSV data files that MAY be supported for gradebook import are:

  • ‘academicSessions.csv’ - delta mode;
  • ‘classes.csv’ - delta mode;
  • ‘courses.csv’ - delta mode;
  • ‘demographics.csv’ - bulk and/or delta mode;
  • ‘enrollments.csv’ - delta mode;
  • ‘orgs.csv’ - delta mode;
  • ‘roles.csv’ (§) - delta mode;
  • ‘users.csv’ - delta mode;
  • ‘userProfiles.csv’ (§) - bulk and/or delta mode;
  • ‘categories.csv’ - delta mode*;
  • ‘lineItems.csv’ - delta mode*;
  • ‘lineItemLearningObjectiveIds.csv’ (§) - delta mode;
  • ‘lineItemScoreScales.csv’ (§) - delta mode;
  • ‘results.csv’ - delta mode*;
  • ‘resultLearningObjectiveIds.csv’ (§) - delta mode;
  • ‘resultScoreScales.csv’ (§) - delta mode;
  • ‘scoreScales.csv’ (§) - delta mode.

The '§' denotes the CSV files added in OR 1.2.

Any system claiming that it supports import of the above optional data files MUST demonstrate the correct importing of the reference test set as part of the conformance. Note that the requirement for semantic consistency means that not all combinations of the set of optionally supported file imports is permitted.

3.2.2 Exporting CSV Files

Determining whether or not a system that exports OneRoster CSV files is conformant is based upon the use of the OneRoster CSV validator to determine that the exported CSV files are valid. The IUT is required to export a set of CSV files that demonstrates the full range of the export capabilities of the IUT. These zip files must be validated by the IMS OneRoster validator. The resulting set of reports, and the corresponding CSV files, must be submitted to IMS Global as part of the conformance claim.

The submitted set of zipped CSV files must include examples of every one of the possible CSV files and must support contain ‘bulk’ and, if appropriate, ‘delta’ data sets. Support for the full range of the data models must also be demonstrated.

The demonstration set may contain extension fields but these must be the last set of columns. The header names for the extensions must not duplicate any of the other header names in CSV.

A system is NOT required to create all of the CSV files. A conformant system MUST be capable of creating the ‘manifest.csv’ file, the set of core data CSV files plus any of the other OneRoster CSV file as identified by the conformance claim and sustaining the semantic consistency. The range of data model CSV files created by the OneRoster system under test MUST be defined as part of the conformance. The mandatory, or core, set of CSV data files that MUST be supported for export is (note that it is NOT a requirement that every set of CSV files contain this core set):

3.2.2.1 Support for Exporting Rosters

The mandatory set, or core, of CSV data files that MUST be supported for rosters export is (note that it is NOT a requirement that every set of CSV files contain this core set):

  • ‘academicSessions.csv’ - bulk mode;
  • ‘classes.csv’ - bulk mode;
  • ‘courses.csv’ - bulk mode;
  • ‘enrollments.csv’ - bulk mode;
  • ‘orgs.csv’ - bulk mode;
  • ‘roles.csv’ (§) - bulk mode;
  • ‘users.csv’ - bulk mode.

Therefore, the CSV data files that MAY be supported for rosters export are:

  • ‘academicSessions.csv’ - delta mode;
  • ‘classes.csv’ - delta mode;
  • ‘courses.csv’ - delta mode;
  • ‘demographics.csv’ - bulk and/or delta mode;
  • ‘enrollments.csv’ - delta mode;
  • ‘orgs.csv’ - delta mode;
  • ‘roles.csv’ (§) - delta mode;
  • ‘users.csv’ - delta mode;
  • ‘userProfiles.csv’ - bulk and/or delta mode.

The '§' denotes the CSV files added in OR 1.2.

Any system claiming that it supports export of the above optional data files MUST demonstrate the correct exporting of the files using the OneRoster CSV Validator. The set of exported files MUST be semantically consistent otherwise the export capability will be declared invalid (the IMS OneRoster CSV validator will check for this semantic consistency).

Exporting systems must supply all of the data that is defined as required and may supply any of the data fields defined as optional.

3.2.2.2 Support for Exporting Resources

Systems that are certifed to support the exporting of resources as well rostering must support the following files (the files marked by '*' are the extra files to be supported):

  • ‘academicSessions.csv’ - bulk mode;
  • ‘classes.csv’ - bulk mode;
  • ‘courses.csv’ - bulk mode;
  • ‘enrollments.csv’ - bulk mode;
  • ‘orgs.csv’ - bulk mode;
  • ‘roles.csv’ - bulk mode;
  • ‘users.csv’ - bulk mode;
  • ‘classResources.csv’ - bulk mode*;
  • ‘courseResources.csv’ - bulk mode*;
  • ‘resources.csv’ - bulk mode*;
  • ‘userResources.csv’ (§) - bulk mode.

Therefore, the CSV data files that MAY be supported for resources export are:

  • ‘academicSessions.csv’ - delta mode;
  • ‘classes.csv’ - delta mode;
  • ‘courses.csv’ - delta mode;
  • ‘demographics.csv’ - bulk and/or delta mode;
  • ‘enrollments.csv’ - delta mode;
  • ‘orgs.csv’ - delta mode;
  • ‘roles.csv’ (§) - delta mode;
  • ‘users.csv’ - delta mode;
  • ‘userProfiles.csv’ - bulk and/or delta mode;
  • ‘classResources.csv’ - delta mode*;
  • ‘courseResources.csv’ - delta mode*;
  • ‘userResources.csv’ (§) - delta mode.

The '§' denotes the CSV files added in OR 1.2.

Any system claiming that it supports export of the above optional data files MUST demonstrate the correct exporting of the files using the OneRoster CSV Validator. The set of exported files MUST be semantically consistent otherwise the export capability will be declared invalid (the IMS OneRoster CSV validator will check for this semantic consistency).

Exporting systems must supply all of the data that is defined as required and may supply any of the data fields defined as optional.

3.2.2.3 Support for Exporting Gradebooks

Systems that are certifed to support the exporting of gradebooks as well rostering must support the following files (the files marked by '*' are the extra files to be supported):

  • ‘academicSessions.csv’ - bulk mode;
  • ‘classes.csv’ - bulk mode;
  • ‘courses.csv’ - bulk mode;
  • ‘enrollments.csv’ - bulk mode;
  • ‘orgs.csv’ - bulk mode;
  • ‘roles.csv’ (§) - bulk mode;
  • ‘users.csv’ - bulk mode;
  • ‘categories.csv’ - bulk mode*;
  • ‘lineItems.csv’ - bulk mode*;
  • ‘lineItemLearningObjectiveIds.csv’ (§) - bulk mode;
  • ‘lineItemScoreScales.csv’ (§) - bulk mode;
  • ‘results.csv’ - bulk mode*;
  • ‘resultLearningObjectiveIds.csv’ (§) - bulk mode;
  • ‘resultScoreScales.csv’ (§) - bulk mode;
  • ‘scoreScales.csv’ (§) - bulk mode.

Therefore, the CSV data files that MAY be supported for gradebook import are:

  • ‘academicSessions.csv’ - delta mode;
  • ‘classes.csv’ - delta mode;
  • ‘courses.csv’ - delta mode;
  • ‘demographics.csv’ - bulk and/or delta mode;
  • ‘enrollments.csv’ - delta mode;
  • ‘orgs.csv’ - delta mode;
  • ‘roles.csv’ (§) - delta mode;
  • ‘users.csv’ - delta mode;
  • ‘userProfiles.csv’ (§) - bulk and/or delta mode;
  • ‘categories.csv’ - delta mode*;
  • ‘lineItems.csv’ - delta mode*;
  • ‘lineItemLearningObjectiveIds.csv’ (§) - delta mode;
  • ‘lineItemScoreScales.csv’ (§) - delta mode;
  • ‘results.csv’ - delta mode*;
  • ‘resultLearningObjectiveIds.csv’ (§) - delta mode;
  • ‘resultScoreScales.csv’ (§) - delta mode;
  • ‘scoreScales.csv’ (§) - delta mode.

The '§' denotes the CSV files added in OR 1.2.

Any system claiming that it supports export of the above optional data files MUST demonstrate the correct exporting of the files using the OneRoster CSV Validator. The set of exported files MUST be semantically consistent otherwise the export capability will be declared invalid (the IMS OneRoster CSV validator will check for this semantic consistency).

Exporting systems must supply all of the data that is defined as required and may supply any of the data fields defined as optional.

3.3 CSV File Processing Certification

System that are certified as OneRoster CSV compliant will be categorised as:

  • CSV Importers - that support OneRoster CSV file importing only;
  • CSV Exporters - that support OneRoster CSV file exporting only;
  • CSV Importers/Exporters - that support OneRoster CSV file importing and exporting.

3.3.1 CSV Importers Certification

The functional capabilities of such systems are:

  • They shall support the importing of the manifest file;
  • They shall support the importing of the set of core rostering files in bulk processing mode;
  • They may support the importing of the 'demographics.csv' files in bulk processing mode;
  • They may support the importing of the 'userProfiles.csv' files in bulk processing mode;
  • They may support the importing of the full set of rostering files in delta processing mode (the nine files used for rostering);
  • They may support the importing of the set of non-rostering files in bulk and/or delta processing modes;
  • They must support all of the data fields;
  • They may support the processing of extension data fields.

A checklist for the required CSV file support for importing systems for each of the three service modes is shown in Table 3.1 (the shaded rows denote the new CSV files added in OR 1.2).

Table 3.1 The checklist for CSV file support for importing systems.
CSV File Name Bulk Mode Delta Mode
Roster Resource Gradebook Roster Resource Gradebook
manifest R R R R R R
academicSessions R R R O O O
classes R R R O O O
courses R R R O O O
enrollments R R R O O O
orgs R R R O O O
roles R R R O O O
users R R R O O O
demographics O O O O O O
userProfiles O O O O O O
classResources O R O O O O
courseResources O R O O O O
resources O R O O O O
userResources O R O O O O
categories O O R O O O
lineItems O O R O O O
lineItemLearningObjectiveIds O O R O O O
lineItemScoreScales O O R O O O
results O O R O O O
resultLearningObjectiveIds O O R O O O
resultScoreScales O O R O O O
scoreScales O O R O O O

3.3.2 CSV Exporters Certification

The functional capabilities of such systems are:

  • They shall support the exporting of the manifest file;
  • They shall support the exporting of the set of core rostering files in bulk processing mode;
  • They may support the exporting of the 'demographics.csv' files in bulk processing mode;
  • They may support the exporting of the 'userProfiles.csv' files in bulk processing mode;
  • They may support the exporting of the set of full rostering files in delta processing mode (the nine files used for rostering);
  • They may support the exporting of the set of non-rostering files in bulk and/or delta processing modes;
  • They must supply all of the required data fields;
  • They may supply any of the optional data fields;
  • They may supply extension data fields.

A checklist for the required CSV file support for exporting systems for each of the three service modes is shown in Table 3.2 (the shaded rows denote the new CSV files added in OR 1.2).

Table 3.2 The checklist for CSV file support for exporting systems.
CSV File Name Bulk Mode Delta Mode
Roster Resource Gradebook Roster Resource Gradebook
manifest R R R R R R
academicSessions R R R O O O
classes R R R O O O
courses R R R O O O
enrollments R R R O O O
orgs R R R O O O
roles R R R O O O
users R R R O O O
demographics O O O O O O
userProfiles O O O O O O
classResources O R O O O O
courseResources O R O O O O
resources O R O O O O
userResources O R O O O O
categories O O R O O O
lineItems O O R O O O
lineItemLearningObjectiveIds O O R O O O
lineItemScoreScales O O R O O O
results O O R O O O
resultLearningObjectiveIds O O R O O O
resultScoreScales O O R O O O
scoreScales O O R O O O

3.3.3 CSV Importers/Exporters Certification

The functional capabilities of such systems are:

  • They shall support the importing and exporting of the manifest file;
  • They shall support the importing and exporting of the core set of rostering files in bulk processing mode;
  • They may support the importing and exporting of the 'demographics.csv' files in bulk processing mode;
  • They may support the importing and exporting of the 'userProfiles.csv' files in bulk processing mode;
  • They may support the importing and exporting of the full set of rostering files in delta processing mode;
  • They may support the importing and exporting of the set of non-rostering files in bulk and/or delta processing modes;
  • They must support the importing of all of the data fields;
  • When exporting, they must supply all of the required data fields;
  • When exporting they may supply any of the optional data fields;
  • They may support the import and/or export processing of extension data fields.

There is no requirement to maintain the integrity of the data set that is created by the import/export round-tripping.

A checklist for the required CSV file support for importing/exporting systems for each of the three service modes is shown in Table 3.3 (the shaded rows denote the new CSV files added in OR 1.2).

Table 3.3 The checklist for CSV file support for importing/exporting systems.
CSV File Name Bulk Mode Delta Mode
Roster Resource Gradebook Roster Resource Gradebook
manifest R R R R R R
academicSessions R R R O O O
classes R R R O O O
courses R R R O O O
enrollments R R R O O O
orgs R R R O O O
roles R R R O O O
users R R R O O O
demographics O O O O O O
userProfiles O O O O O O
classResources O R O O O O
courseResources O R O O O O
resources O R O O O O
userResources O R O O O O
categories O O R O O O
lineItems O O R O O O
lineItemLearningObjectiveIds O O R O O O
lineItemScoreScales O O R O O O
results O O R O O O
resultLearningObjectiveIds O O R O O O
resultScoreScales O O R O O O
scoreScales O O R O O O

4. REST-based Exchange Conformance

The IMS Conformance program provides conformance testing for:

  • Systems that act as OneRoster Service Providers – these are, primarily, systems that store OneRoster data and MUST enable that data to be returned to requests from a consumer;
  • Systems that act as OneRoster Service Consumers – these are, primarily, systems that enable a OneRoster repository to be accessed and MUST enable requests to be made by the consumer.

For conformance the endpoint functionality is split into four classifications:

  • Rostering endpoints – the endpoints that handle rostering information, in particular, data about people, clases, courses, and enrollments;
  • Gradebooks endpoints – the endpoints that handle gradebooks information, in particular, data about results, lineItems and categories;
  • Assessment Results endpoints – the endpoints that handle detailed results information, in particular, data about results, lineItems and categories;
  • Resources endpoints – the endpoints that handle resources information.

For the REST binding ALL systems MUST support at LEAST one of the 'Rostering', 'Resources', 'Gradebooks' and 'Assessment Results' set of endpoints.

In the tabular summaries of the endpoint requirements the following should be noted:

  • For a OneRoster 1.2 Rostering implementation the 'Endpoint' string should be appended to the string '/ims/oneroster/roster/v1p2';
  • For a OneRoster 1.2 Resource implementation the 'Endpoint' string should be appended to the string '/ims/oneroster/resource/v1p2';
  • For a OneRoster 1.2 Gradebook implementation the 'Endpoint' string should be appended to the string '/ims/oneroster/gradebook/v1p2';
  • For a OneRoster 1.2 Assessment Result implementation the 'Endpoint' string should be appended to the string '/ims/oneroster/gradebook/v1p2';
  • The 'Mode' is used denote whether the system is responsible for issuing the request (Init) or responding to the request (Resp).

4.1 Service Providers Compliance

4.1.1 Rostering Endpoint Compliance

For service provider rostering conformance the endpoints listed in Table 4.1 MUST be supported.

Table 4.1 The endpoints that MUST be supported by a compliant OneRoster rostering service provider.
Service Call Endpoint HTTP Verb Mode
getAllAcademicSessions /academicSessions GET Resp
getAcademicSession /academicSessions/{id} GET Resp
getAllClasses /classes GET Resp
getClass /classes/{id} GET Resp
getAllCourses /courses GET Resp
getCourse /courses/{id} GET Resp
getAllEnrollments /enrollments GET Resp
getEnrollment /enrollments/{id} GET Resp
getAllGradingPeriods /gradingPeriods GET Resp
getGradingPeriod /gradingPeriods/{id} GET Resp
getAllOrgs /orgs GET Resp
getOrg /orgs/{id} GET Resp
getAllSchools /schools GET Resp
getSchool /schools/{id} GET Resp
getAllStudents /students GET Resp
getStudent /students/{id} GET Resp
getAllTeachers /teachers GET Resp
getTeacher /teachers/{id} GET Resp
getAllTerms /terms GET Resp
getTerm /terms/{id} GET Resp
getAllUsers /users GET Resp
getUser /users/{id} GET Resp

Support for ANY of the other endpoints and service modes is OPTIONAL. For 'GET' requests a service provider must supply all of the required data fields for the action and may supply any of the optional data fields.

4.1.2 Gradebooks Endpoint Compliance

For service provider gradebook conformance the endpoints listed in either Tables 4.2 or/and 4.3 MUST be supported. Table 4.2 lists the 'pull' endpoints i.e. where the consumer reads the data from the provider. Table 4.3 list the 'push' endpoints where the provider writes the endpoints into the consumer.

Table 4.2 The endpoints that MUST be supported by a compliant OneRoster gradebooks service provider (data is pulled from the provider).
Service Call Endpoint HTTP Verb Mode
getAllCategories /categories GET Resp
getCategory /categories/{id} GET Resp
getAllLineItems /lineItems GET Resp
getLineItem /lineItems/{id} GET Resp
getAllResults /results GET Resp
getResult /results/{id} GET Resp
getAllScoreScales /scoreScales GET Resp
getScoreScale /scoreScales/{id} GET Resp

The shaded rows denote the endpoints introduced in OR 1.2.

Support for ANY of the other endpoints and service modes is OPTIONAL. For a 'GET' request a service provider must supply all of the required data fields for the action and may supply any of the optional data fields.

Table 4.3 The endpoints that MUST be supported by a compliant OneRoster gradebooks service provider (data is pushed by the provider).
Service Call Endpoint HTTP Verb Mode
putLineItem /lineItems/{id} PUT Init
putResult /results/{id} PUT Init

The shaded rows denote the endpoints introduced in OR 1.2.

Support for ANY of the other endpoints and service modes is OPTIONAL.

4.1.3 Assessment Results Endpoint Compliance

For service provider gradebook conformance the endpoints listed in either Tables 4.4 or/and 4.5 MUST be supported. Table 4.4 lists the 'pull' endpoints i.e. where the consumer reads the data from the provider. Table 4.5 list the 'push' endpoints where the provider writes the endpoints into the consumer.

Table 4.4 The endpoints that MUST be supported by a compliant OneRoster assessment results service provider (data is pulled from the provider).
Service Call Endpoint HTTP Verb Mode
getAllAssessmentLineItems /assessmentLineItems GET Resp
getAssessmentLineItem /assessmentLineItems/{id} GET Resp
getAllAssessmentResults /assessmentResults GET Resp
getAssessmentResult /assessmentResults/{id} GET Resp

The shaded rows denote the endpoints introduced in OR 1.2.

Support for ANY of the other endpoints and service modes is OPTIONAL. For a 'GET' request a service provider must supply all of the required data fields for the action and may supply any of the optional data fields.

Table 4.5 The endpoints that MUST be supported by a compliant OneRoster assessment results service provider (data is pushed by the provider).
Service Call Endpoint HTTP Verb Mode
putAssessmentLineItem /assessmentResults/{id} PUT Init
putAssessmentResult /assessmentResults/{id} PUT Init

The shaded rows denote the endpoints introduced in OR 1.2.

Support for ANY of the other endpoints and service modes is OPTIONAL.

4.1.4 Resources Endpoint Compliance

For service provider resources conformance the endpoints listed in Tables 4.4 MUST be supported.

Table 4.6 The endpoints that MUST be supported by a compliant OneRoster resources service provider.
Service Call Endpoint HTTP Verb Mode
getAllResources /resources GET Resp
getResource /resources/{id} GET Resp

Support for ANY of the other endpoints and service modes is OPTIONAL. For a 'GET' request a service provider must supply all of the required data fields for the action and may supply any of the optional data fields.

4.2 Service Consumers Compliance

4.2.1 Rostering Endpoint Compliance

For service consumer rostering conformance AT LEAST ONE of the endpoints listed in Table 4.5 MUST be supported.

Table 4.7 The endpoints that MUST be supported by a compliant OneRoster rostering service consumer.
Service Call Endpoint HTTP Verb Mode
getAllAcademicSessions /academicSessions GET Init
getAcademicSession /academicSessions/{sourcedId} GET Init
getAllClasses /classes GET Init
getlClass /classes/{sourcedId} GET Init
getAllCourses /courses GET Init
getCourse /courses/{sourcedId} GET Init
getAllEnrollments /enrollments GET Init
getEnrollment /enrollments/{sourcedId} GET Init
getAllOrgs /orgs GET Init
getOrg /orgs/{sourcedId} GET Init
getAllUsers /users GET Init
getUser /users/{sourcedId} GET Init

Support for ANY of the other endpoints and service modes is OPTIONAL. For a 'GET' request a service consumer must support all of the required and optional data fields in the corresponding received records.

4.2.2 Gradebooks Endpoint Compliance

For service consumer gradebooks conformance the endpoints listed in either Table 4.8 and/or Table 4.9 MUST be supported.

Table 4.8 The endpoints that MUST be supported by a compliant OneRoster gradebooks service consumer.
Service Call Endpoint HTTP Verb Mode
getAllCategories /categories GET Init
getAllLineItems /lineItems GET Init
getAllResults /results GET Init
getAllScoreScales /scoreScales GET Init

The shaded rows denote the endpoints introduced in OR 1.2.

Support for ANY of the other endpoints and service modes is OPTIONAL. For a 'GET' request a service consumer must support all of the required and optional data fields in the corresponding received records.

Table 4.9 The endpoints that MUST be supported by a compliant OneRoster gradebooks service consumer (data is pushed by the provider).
Service Call Endpoint HTTP Verb Mode
putLineItem /lineItems/{id} PUT Resp
putResult /results/{id} PUT Resp

The shaded rows denote the endpoints introduced in OR 1.2.

Support for ANY of the other endpoints and service modes is OPTIONAL.

4.2.3 Assessment Results Endpoint Compliance

For service consumer assessment results conformance the endpoints listed in either Table 4.10 and/or Table 4.11 MUST be supported.

Table 4.10 The endpoints that MUST be supported by a compliant OneRoster assessment results service consumer.
Service Call Endpoint HTTP Verb Mode
getAllAssessmentLineItems /assessmentLineItems GET Init
getAllAssessmentResults /assessmentResults GET Init

The shaded rows denote the endpoints introduced in OR 1.2.

Support for ANY of the other endpoints and service modes is OPTIONAL. For a 'GET' request a service consumer must support all of the required and optional data fields in the corresponding received records.

Table 4.11 The endpoints that MUST be supported by a compliant OneRoster assessment results service consumer (data is pushed by the provider).
Service Call Endpoint HTTP Verb Mode
putAssessmentLineItem /assessmentLineItems/{id} PUT Resp
putAssessmentResult /assessmentResults/{id} PUT Resp

The shaded rows denote the endpoints introduced in OR 1.2.

Support for ANY of the other endpoints and service modes is OPTIONAL.

4.2.4 Resources Endpoint Compliance

For service consumer resources conformance the endpoints listed in Table 4.12 MUST be supported.

Table 4.12 The endpoints that MUST be supported by a compliant OneRoster resources service consumer.
Service Call Endpoint HTTP Verb Mode
getAllResources /resources GET Init
getResource /resources/{id} GET Init

Support for ANY of the other endpoints and service modes is optional. For a 'GET' request a service consumer must support all of the required and optional data fields in the corresponding received records.

4.3 OneRoster REST Service Certification

4.3.1 Service Provider Certification

The functional capabilities of such systems are:

  • The OpenAPI file(s) that describe the functionality of the available OneRoster 1.2 services MUST be published at the endpoint base URL. This must be a valid OpenAPI 3.0 JSON file. The name and location of thes files are:
    • Rostering Service - "...hostname..."/ims/oneroster/rostering/v1p2/discovery/imsorv1p2_rostering_openapi3_v1p0.json
    • Resources Service - "...hostname..."/ims/oneroster/resources/v1p2/discovery/imsorv1p2_resources_openapi3_v1p0.json
    • Gradebook Service - "...hostname..."/ims/oneroster/gradebook/v1p2/discovery/imsorv1p2_gradebook_openapi3_v1p0.json
  • At least one of the rostering, gradebooks and resources set of endpoints MUST be supported;
  • If rostering is supported, all of the required endpoints MUST be supported;
  • If rostering is supported, any of the optional endpoints MAY be supported;
  • If resources is supported, all of the required endpoints MUST be supported;
  • If resources is supported, any of the optional endpoints MAY be supported;
  • If gradebooks is supported, all of either the pull or the push modes required endpoints MUST be supported;
  • If gradebooks is supported, any of the optional endpoints may be supported (from both the pull and push modes);
  • If assessment results is supported, all of either the pull or the push modes required endpoints MUST be supported;
  • If assessment results is supported, any of the optional endpoints MAY be supported (from both the pull and push modes);
  • They MUST supply all of the required data fields;
  • They MAY supply any of the optional data fields;
  • They MAY provide extension data fields;
  • They MUST support the endpoint payload pagination mechanism for all responses that provide a collection in the payload;
  • They MUST support the endpoint payload filtering mechanism for all responses that provide a collection in the payload. When the rostering service is supported the following filtering rules MUST be supported:-
    • Filtering for students using the filter of "filter=roles.role~'student'" on the "getAllUsers()" endpoint
    • Filtering for teachers using the filter of "filter=roles.role~'teacher'" on the "getAllUsers()" endpoint
    • Filtering for grading periods using the filter of "filter=type='gradingPeriod'" on the "getAllAcademicSessions()" endpoint
    • Filtering for terms using the filter of "filter=type='term'" on the "getAllAcademicSessions()" endpoint
    • Filtering for schools using the filter of "filter=type='school'" on the "getAllAcademicSessions()" endpoint
  • They MUST support the endpoint payload sorting mechanism for all responses that provide a collection in the payload;
  • They MUST support the endpoint payload field selection mechanism for all responses that provide a collection or a singleton in the payload;
  • They MUST support the OAuth 2.0 Bearer Token authentication mechanism.

Systems that wish to undertake conformance testing as a Service Provider should use the coformance test system located at: https://138.197.66.237/ORv1p2_CTS_ServiceProvider/

4.3.2 Service Consumer Certification

The functional capabilities of such systems are:

  • At least one of the rostering, gradebooks and resources set of endpoints MUST be supported;
  • If rostering is supported, all of the required endpoints MUST be supported;
  • If rostering is supported, any of the optional endpoints MAY be supported;
  • If resources is supported, all of the required endpoints MUST be supported;
  • If resources is supported, any of the optional endpoints MAY be supported;
  • If gradebooks is supported, all of either the pull or the push modes required endpoints MUST be supported;
  • If gradebooks is supported, any of the optional endpoints MAY be supported (from both the pull and push modes);
  • If assessment results is supported, all of either the pull or the push modes required endpoints MUST be supported;
  • If assessment results is supported, any of the optional endpoints MAY be supported (from both the pull and push modes);
  • They MUST support all of the required data fields;
  • They MUST support all of the optional data fields;
  • They MAY process extension data fields;
  • They MUST support the endpoint payload pagination mechanism for all requests that provide a collection in the response payload;
  • They MUST support the endpoint payload filtering mechanism for all requests that provide a collection in the response payload;
  • They MUST support the endpoint payload sorting mechanism for all requests that provide a collection in the response payload;
  • They MUST support the endpoint payload field selection mechanism for all requests that provide a collection or a singleton in the response payload;
  • They MUST support the OAuth 2.0 Bearer Token authentication mechanism;
  • MAY read the Service Provider's OpenAPI service description file(s) to obtain the details of the sertvcie(s) made available by that provider.

Systems that wish to undertake conformance testing as a Service Consumer should use the conformance test system loacted at: https://onerostervalidator.imsglobal.org:8443/oneroster-client-cts-webapp/

4.3.3 Comparison of the Certifications

A comparison of the available certifications for the defined OneRoster endpoints is shown in Table 4.13. In this table the key is:

  • 'C' denotes a service consumer;
  • 'P' denotes a service provider;
  • 'Init' denotes that the end-system issues the request (a shaded box denotes that support for the endpoint is required for that mode and a black cell indicates that AT LEAST ONE of those endpoints MUST be supported);
  • 'Resp' denotes that the end-system responds to the request (a shaded box denotes that support for the endpoint is required for that mode);
  • '-' denotes that the endpoint is not available to that operational mode.
Table 4.13 A comparison of the certifications available with respect to the defined OneRoster endpoints.
Service Call Endpoint HTTP Verb Rostering Gradebooks Assessment Results Resources
C P C P C P C P
getAllAcademicSessions /academicSessions GET Init Resp - - - - - -
getAcademicSession /academicSessions/{id} GET Init Resp - - - - - -
getAllClasses /classes GET Init Resp - - - - - -
getClass /classes/{id} GET Init Resp - - - - - -
getResourcesForClass /classes/{class_id}/resources GET - - - - - - Init Resp
getStudentsForClass /classes/{class_id}/students GET Init Resp - - - - - -
getTeachersForClass /classes/{class_id}/teachers GET Init Resp - - - - - -
getAllCourses /courses GET Init Resp - - - - - -
getCourse /courses/{id} GET Init Resp - - - - - -
getClassesForCourse /courses/{course_id}/classes GET Init Resp - - - - - -
getResourcesForCourse /courses/{course_id}/resources GET - - - - - - Init Resp
getAllDemographics /demographics GET Init Resp - - - - - -
getDemographics /demographics/{id} GET Init Resp - - - - - -
getAllEnrollments /enrollments GET Init Resp - - - - - -
getEnrollment /enrollments/{id} GET Init Resp - - - - - -
getAllGradingPeriods /gradingPeriods GET Init Resp - - - - - -
getGradingPeriod /gradingPeriods/{id} GET Init Resp - - - - - -
getAllOrgs /orgs GET Init Resp - - - - - -
getOrg /orgs/{id} GET Init Resp - - - - - -
getAllResources /resources GET - - - - - - Init Resp
getResource /resources/{id} GET - - - - - - Init Resp
getAllSchools /schools GET Init Resp - - - - - -
getSchool /schools/{id} GET Init Resp - - - - - -
getClassesForSchool /schools/{school_id}/classes GET Init Resp - - - - - -
getCoursesForSchool /schools/{id}/courses GET Init Resp - - - - - -
getEnrollmentsForSchool /schools/{school_id}/enrollments GET Init Resp - - - - - -
getEnrollmentsForClassInSchool /schools/{school_id}/classes/{class_id}/enrollments GET Init Resp - - - - - -
getStudentsForClassInSchool /schools/{school_id}/classes/{class_id}/students GET Init Resp - - - - - -
getStudentsForSchool /schools/{school_id}/students GET Init Resp - - - - - -
getTeachersForClassInSchool /schools/{school_id}/classes/{class_id}/teachers GET Init Resp - - - - - -
getTeachersForSchool /schools/{school_id}/teachers GET Init Resp - - - - - -
getTermsForSchool /schools/{school_id}/terms GET Init Resp - - - - - -
getAllStudents /students GET Init Resp - - - - - -
getStudent /students/{id} GET Init Resp - - - - - -
getClassesForStudent /students/{student_id}/classes GET Init Resp - - - - - -
getAllTeachers /teachers GET Init Resp - - - - - -
getTeacher /teachers/{id} GET Init Resp - - - - - -
getClassesForTeacher /teachers/{teacher_id}/classes GET Init Resp - - - - - -
getAllTerms /terms GET Init Resp - - - - - -
getTerm /terms/{id} GET Init Resp - - - - - -
getClassesForTerm /terms/{term_id}/classes GET Init Resp - - - - - -
getGradingPeriodsForTerm /terms/{term_id}/gradingPeriods GET Init Resp - - - - - -
getAllUsers /users GET Init Resp - - - - - -
getUser /users/{id} GET Init Resp - - - - - -
getClassesForUser /users/{user_id}/classes GET Init Resp - - - - - -
getResourcesForUser /users/{user_id}/resources GET - - - - - - Init Resp
getAcademicStandardIdsForClass /classes/{classSourcedId}/academicStandardIds GET - - Resp
(Pull)
Init
(Pull)
- - - -
getAcademicStandardIdsForSchool /schools/{schoolSourcedId}/academicStandardIds GET - - Resp
(Pull)
Init
(Pull)
- - - -
getAllCategories /categories GET - - Init
(Pull)
Resp
(Pull)
- - - -
getCategory /categories/{id} GET - - Init
(Pull)
Resp
(Pull)
- - - -
getCategoriesForClass /classes/{classSourcedId}/categories GET - - Init
(Pull)
Resp
(Pull)
- - - -
putCategory /categories/{id} PUT - - Resp
(Push)
Init
(Push)
- - - -
deleteCategory /categories/{id} DELETE - - Resp
(Push)
Init
(Push)
- - - -
getAllAssessmentLineItems /assessmentLineItems GET - - - - Init
(Pull)
Resp
(Pull)
- -
getAssessmentLineItem /assessmentLineItems/{id} GET - - - - Init
(Pull)
Resp
(Pull)
- -
putAssessmentLineItem /assessmentLineItems/{id} PUT - - - - Resp
(Push)
Init
(Push)
- -
deleteAssessmentLineItem /assessmentLineItems/{id} DELETE - - - - Resp
(Push)
Init
(Push)
- -
getAllLineItems /lineItems GET - - Init
(Pull)
Resp
(Pull)
- - - -
getLineItem /lineItems/{id} GET - - Init
(Pull)
Resp
(Pull)
- - - -
postLineItemsForClass /classes/{classSourcedId}/lineItems POST - - Resp
(Push)
Init
(Push)
- - - -
postLineItemsForSchool /schools/{schoolSourcedId}/lineItems POST - - Resp
(Push)
Init
(Push)
- - - -
putLineItem /lineItems/{id} PUT - - Resp
(Push)
Init
(Push)
- - - -
deleteLineItem /lineItems/{id} DELETE - - Resp
(Push)
Init
(Push)
- - - -
getLineItemsForClass /classes/{class_id}/lineItems GET - - Resp
(Pull)
Init
(Pull)
- - - -
getAllAssessmentResults /assessmentResults GET - - - - Init
(Pull)
Resp
(Pull)
- -
getAssessmentResult /assessmentResults/{id} GET - - - - Init
(Pull)
Resp
(Pull)
- -
putAssessmentResult /assessmentResults/{id} PUT - - - - Resp
(Push)
Init
(Push)
- -
deleteAssessmentResult /assessmentResults/{id} DELETE - - - - Resp
(Push)
Init
(Push)
- -
getAllResults /results GET - - Init
(Pull)
Resp
(Pull)
- - - -
getResult /results/{id} GET - - Init
(Pull)
Resp
(Pull)
- - - -
postResultsForLineItem /lineItems/{lineItemSourcedId}/results POST - - Resp
(Push)
Init
(Push)
- - - -
postResultsForAcademicSessionForClass /classes/{classSourcedId}/academicSessions/{academicSessionSourcedId}/results POST - - Resp
(Push)
Init
(Push)
- - - -
putResult /results/{id} PUT - - Resp
(Push)
Init
(Push)
- - - -
deleteResult /results/{id} DELETE - - Resp
(Push)
Init
(Push)
- - - -
getResultsForClass /classes/{class_id}/results GET - - Resp
(Pull)
Init
(Pull)
- - - -
getResultsForLineItemForClass /classes/{class_id}/lineItems/{li_id}/results GET - - Resp
(Pull)
Init
(Pull)
- - - -
getResultsForStudentForClass /classes/{class_id}/students/{student_id}/results GET - - Resp
(Pull)
Init
(Pull)
- - - -
getAllScoreScales /scoreScales GET - - Init
(Pull)
Resp
(Pull)
- - - -
getScoreScale /scoreScales/{id} GET - - Init
(Pull)
Resp
(Pull)
- - - -
getScoreScalesForClass /classes/{classSourcedId}/scoreScales GET - - Init
(Pull)
Resp
(Pull)
- - - -
getScoreScalesForSchool /schools/{schoolSourcedId}/scoreScales GET - - Init
(Pull)
Resp
(Pull)
- - - -
putScoreScale /scoreScales/{id} PUT - - Resp
(Push)
Init
(Push)
- - - -
deleteScoreScale /scoreScales/{id} DELETE - - Resp
(Push)
Init
(Push)
- - - -

5. OneRoster Certifications

A system that successfully achieves OneRoster certification will have a certain set of functional capabilities. OneRoster certification does NOT guarantee interoperability between ALL other OneRoster compliant solutions: a system that has only CSV certification will not interoperate with a system that has only REST API certification, etc. The set of functional properties that a OneRoster certified product may have is shown in Table 5.1. The key for Table 5.1 is:

  • There are four functional modes i.e. Rostering (the enrollment of people on classes), Resources (the identification of resources allocated to courses/classes, Gradebook (the scores/grades achieved by learners on courses/classes) and Assessment Results (the detailed scores/grades achieved by learners on learning activities). ALL systems must support at LEAST one of the functional modes of operation. In OR 1.2 the 'Bulk Services' capability was added with support through the REST API only. Support for this is optional;
  • There are two operational modes i.e. CSV processing and REST-API support;
  • For CSV processing a system can support import and/or export file processing. In both cases there are the 'bulk' and 'delta' processing with support for 'bulk' processing being required;
  • For REST API support a system can be a service provider and/or a service consumer. In both cases there is a set of 'Core' endpoints that must be supported and a set of 'Other' endpoints that may be supported (these other endpoints are distinct for each of the 'Rostering', 'Resources', 'Gradebook' and 'Assessment Results' support).

ALL systems must support at LEAST one of the 'Rostering', 'Resources', 'Gradebook' and 'Assessment Results'.

Table 5.1 A comparison of the certifications available for a OneRoster compliant product.
Functional Mode
(at least one must be supported)
CSV Processing REST API
Import Export Provider Consumer
Bulk Delta Bulk Delta Core Other Core Other
Rostering Required Optional Required Optional Required Optional Required Optional
Resources Required
(Rostering CSV support
also required)
Optional Required
(Rostering CSV support
also required)
Optional Required Optional Required Optional
Gradebooks Required
(Rostering CSV support
also required)
Optional Required
(Rostering CSV support
also required)
Optional Required
(Pull or Push)
Optional Required
(Pull or Push)
Optional
Assessment Results N/A N/A N/A N/A Required
(Pull or Push)
Optional Required
(Pull or Push)
Optional
Bulk Services N/A N/A N/A N/A Optional Optional Optional Optional

A. Summary of the Conformance Tests for a Service Provider

This section is non-normative.

The set of tests that will be used to determine if an implementation of the service provider functionality is compliant are summarised in Tables A1, A2 and A3. The features supplied in Tables are:

  • ID - the unique identifier assigned to the test;
  • Mode - set as either 'R' to denote that this test MUST be passed, 'O' to denote this test MAY be passed and '–' to denote the test is not applicable;
  • Description - a brief summary of the objective of the test.

A.1 Tests on the Rostering Service

This section is non-normative.

All of the tests are applied using OAuth 2.0 (Client Credentials) for support is REQUIRED.

Table A1 - A summary of the set of tests to be applied to a service provider undergoing certification.
ID Mode Description
RG-GALLAS-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload.
RG-GALLAS-201 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLAS-202 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLAS-203 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLAS-301 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLAS-302 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLAS-303 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLAS-304 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLAS-305 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLAS-306 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLAS-307 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the contains test on a SchoolYear) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLAS-308 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the AND predicate) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLAS-309 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions' endpoint works correctly using the &filter (with the OR predicate) query parameter. The test system issues the getAllAcademicSessions request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLAS-??? R ...More tests to be added in a later release of this document...
RG-GONEAS-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/academicSessions/{id}' endpoint works correctly. The test system issues the getAcademicSession request and expects to receive a fully populated JSON payload.
RG-GONEAS-??? R ...More tests to be added in a later release of this document...
RG-GALLCL-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes' endpoint works correctly. The test system issues the getAllClasses request and expects to receive a fully populated JSON payload.
RG-GALLCL-201 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllClasses request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLCL-202 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllClasses request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLCL-203 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllClasses request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLCO-??? R ...More tests to be added in a later release of this document...
RG-GONECL-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{id}' endpoint works correctly. The test system issues the getClass request and expects to receive a fully populated JSON payload.
RG-GONECO-??? R ...More tests to be added in a later release of this document...
RG-GCLFCO-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses/{course_id}/classes' endpoint works correctly. The test system issues the getClassesForCourse request and expects to receive a fully populated JSON payload.
RG-GCLFCO-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses/{course_id}/classes' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getClassesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFCO-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses/{course_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getClassesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFCO-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses/{course_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getClassesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFCO-??? O ...More tests to be added in a later release of this document...
RG-GCLFSC-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes' endpoint works correctly. The test system issues the getClassesForSchool request and expects to receive a fully populated JSON payload.
RG-GCLFSC-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getClassesForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFSC-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getClassesForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFSC-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getClassesForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFSC-??? O ...More tests to be added in a later release of this document...
RG-GCLFST-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students/{student_id}/classes' endpoint works correctly. The test system issues the getClassesForStudent request and expects to receive a fully populated JSON payload.
RG-GCLFST-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students/{student_id}/classes' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getClassesForStudent request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFST-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students/{student_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getClassesForStudent request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFST-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students/{student_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getClassesForStudent request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFST-??? O ...More tests to be added in a later release of this document...
RG-GCLFTH-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers/{teacher_id}/classes' endpoint works correctly. The test system issues the getClassesForTeacher request and expects to receive a fully populated JSON payload.
RG-GCLFTH-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers/{teacher_id}/classes' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getClassesForTeacher request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFTH-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers/{teacher_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getClassesForTeacher request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFTH-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers/{teacher_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getClassesForTeacher request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFTH-??? O ...More tests to be added in a later release of this document...
RG-GCLFUS-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users/{user_id}/classes' endpoint works correctly. The test system issues the getClassesForUser request and expects to receive a fully populated JSON payload.
RG-GCLFUS-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users/{user_id}/classes' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getClassesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFUS-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users/{user_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getClassesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFUS-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users/{user_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getClassesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFUS-??? O ...More tests to be added in a later release of this document...
RG-GCLFTM-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/classes' endpoint works correctly. The test system issues the getClassesForTerm request and expects to receive a fully populated JSON payload.
RG-GCLFTM-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/classes' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getClassesForTerm request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFTM-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getClassesForTerm request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFTM-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/classes' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getClassesForTerm request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCLFTM-??? O ...More tests to be added in a later release of this document...
RG-GALLCO-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses' endpoint works correctly. The test system issues the getAllCourses request and expects to receive a fully populated JSON payload.
RG-GALLCO-201 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllCourses request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLCO-202 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllCourses request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLCO-203 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllCourses request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLCO-??? R ...More tests to be added in a later release of this document...
RG-GONECO-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/courses/{id}' endpoint works correctly. The test system issues the getCourse request and expects to receive a fully populated JSON payload.
RG-GONECO-??? R ...More tests to be added in a later release of this document...
RG-GCOFSC-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/school/{school_id}/courses' endpoint works correctly. The test system issues the getCoursesForSchool request and expects to receive a fully populated JSON payload.
RG-GCOFSC-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/courses' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getCoursesForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCOFSC-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/courses' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getCoursesForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCOFSC-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/courses' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getCoursesForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GCOFSC-??? O ...More tests to be added in a later release of this document...
RG-GALLDG-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/demographics' endpoint works correctly. The test system issues the getAllDemographics request and expects to receive a fully populated JSON payload.
RG-GALLDG-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/demographics' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllDemographics request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLDG-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/demographics' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllDemographics request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLDG-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/demographics' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllDemographics request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLDG-??? R ...More tests to be added in a later release of this document...
RG-GONEDG-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/demographics/{id}' endpoint works correctly. The test system issues the getDemographics request and expects to receive a fully populated JSON payload.
RG-GONEDG-??? R ...More tests to be added in a later release of this document...
RG-GALLEN-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/enrollments' endpoint works correctly. The test system issues the getAllEnrollments request and expects to receive a fully populated JSON payload.
RG-GALLEN-201 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/enrollments' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllEnrollments request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLEN-202 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/enrollments' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllEnrollments request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLEN-203 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/enrollments' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllEnrollments request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLEN-??? R ...More tests to be added in a later release of this document...
RG-GONEEN-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/enrollments/{id}' endpoint works correctly. The test system issues the getEnrollment request and expects to receive a fully populated JSON payload.
RG-GONEEN-??? R ...More tests to be added in a later release of this document...
RG-GENFSC-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/enrollments' endpoint works correctly. The test system issues the getEnrollmentsForSchool request and expects to receive a fully populated JSON payload.
RGRG-GENFSC-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/enrollments' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getEnrollmentsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RGRG-GENFSC-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/enrollments' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getEnrollmentsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RGRG-GENFSC-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/enrollments' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getEnrollmentsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GENFSC-??? O ...More tests to be added in a later release of this document...
RG-GENISC-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/schools/{school_id}/enrollments' endpoint works correctly. The test system issues the getEnrollmentsForClassInSchool request and expects to receive a fully populated JSON payload.
RG-GENISC-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/enrollments' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getEnrollmentsForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GENISC-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/enrollments' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getEnrollmentsForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GENISC-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/enrollments' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getEnrollmentsForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GENISC-??? O ...More tests to be added in a later release of this document...
RG-GALLGP-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/gradingPeriods' endpoint works correctly. The test system issues the getAllGradingPeriods request and expects to receive a fully populated JSON payload.
RG-GALLGP-201 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/gradingPeriods' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllGradingPeriods request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLGP-202 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/gradingPeriods' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllGradingPeriods request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLGP-203 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/gradingPeriods' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllGradingPeriods request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLGP-??? R ...More tests to be added in a later release of this document...
RG-GONEGP-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/gradingPeriods/{id}' endpoint works correctly. The test system issues the getGradingPeriod request and expects to receive a fully populated JSON payload.
RG-GONEGP-??? R ...More tests to be added in a later release of this document...
RG-GGPFTM-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/gradingPeriods' endpoint works correctly. The test system issues the getGradingPeriodsForTerm request and expects to receive a fully populated JSON payload.
RG-GGPFTM-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/gradingPeriods' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllGradingPeriodsForTerm request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GGPFTM-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/gradingPeriods' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllGradingPeriodsForTerm request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GGPFTM-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{term_id}/gradingPeriods' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllGradingPeriodsForTerm request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GGPFTM-??? O ...More tests to be added in a later release of this document...
RG-GALLOG-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/orgs' endpoint works correctly. The test system issues the getAllOrgs request and expects to receive a fully populated JSON payload.
RG-GALLOG-201 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/orgs' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllOrgs request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLOG-202 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/orgs' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllOrgs request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLOG-203 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/orgs' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllOrgs request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLOG-??? R ...More tests to be added in a later release of this document...
RG-GONEOG-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/orgs/{id}' endpoint works correctly. The test system issues the getOrg request and expects to receive a fully populated JSON payload.
RG-GONEOG-??? R ...More tests to be added in a later release of this document...
RG-GALLSC-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools' endpoint works correctly. The test system issues the getAllSchools request and expects to receive a fully populated JSON payload.
RG-GALLSC-201 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllSchools request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLSC-202 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllSchools request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLSC-203 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllSchools request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLSC-??? R ...More tests to be added in a later release of this document...
RG-GONESC0-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{id}' endpoint works correctly. The test system issues the getSchool request and expects to receive a fully populated JSON payload.
RG-GONESC-??? R ...More tests to be added in a later release of this document...
RG-GALLST-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students' endpoint works correctly. The test system issues the getAllStudents request and expects to receive a fully populated JSON payload.
RG-GALLST-201 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllStudents request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLST-202 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllStudents request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLST-203 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllStudents request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLST-??? R ...More tests to be added in a later release of this document...
RG-GONEST-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/students/{id}' endpoint works correctly. The test system issues the getStudent request and expects to receive a fully populated JSON payload.
RG-GONEST-??? R ...More tests to be added in a later release of this document...
RG-GSTFCL-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/students' endpoint works correctly. The test system issues the getStudentsForClass request and expects to receive a fully populated JSON payload.
RG-GSTFCL-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/students' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getStudentsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GSTFCL-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/students' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getStudentsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GSTFCL-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/students' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getStudentsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GSTFCL-??? O ...More tests to be added in a later release of this document...
RG-GSTFSC-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/students' endpoint works correctly. The test system issues the getStudentsForSchool request and expects to receive a fully populated JSON payload.
RG-GSTFSC-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/students' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getStudentsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GSTFSC-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/students' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getStudentsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GSTFSC-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/students' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getStudentsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GSTFSC-??? O ...More tests to be added in a later release of this document...
RG-GSTISC-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/schools/{school_id}/students' endpoint works correctly. The test system issues the getStudentsForClassInSchool request and expects to receive a fully populated JSON payload.
RG-GSTISC-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/students' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getStudentsForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GSTISC-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/students' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getStudentsForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GSTISC-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/students' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getStudentsForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GSTISC-??? O ...More tests to be added in a later release of this document...
RG-GALLTH-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers' endpoint works correctly. The test system issues the getAllTeachers request and expects to receive a fully populated JSON payload.
RG-GALLTH-201 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllTeachers request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLTH-202 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllTeachers request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLTH-203 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllTeachers request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLTH-??? R ...More tests to be added in a later release of this document...
RG-GONETH-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/teachers/{id}' endpoint works correctly. The test system issues the getTeacher request and expects to receive a fully populated JSON payload.
RG-GONETH-??? R ...More tests to be added in a later release of this document...
RG-GTHFCL-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/teachers' endpoint works correctly. The test system issues the getTeachersForClass request and expects to receive a fully populated JSON payload.
RG-GTHFCL-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/teachers' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getTeachersForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GTHFCL-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getTeachersForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GTHFCL-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getTeachersForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GTHFCL-??? O ...More tests to be added in a later release of this document...
RG-GTHFSC-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/teachers' endpoint works correctly. The test system issues the getTeachersForSchool request and expects to receive a fully populated JSON payload.
RG-GTHFSC-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/teachers' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getTeachersForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GTHFSC-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getTeachersForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GTHFSC-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getTeachersForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GTHFSC-??? O ...More tests to be added in a later release of this document...
RG-GTHISC-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/classes/{class_id}/schools/{school_id}/teachers' endpoint works correctly. The test system issues the getTeachersForClassInSchool request and expects to receive a fully populated JSON payload.
RG-GTHISC-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/teachers' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getTeachersForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GTHISC-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getTeachersForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GTHISC-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/classes/{class_id}/teachers' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getTeachersForClassInSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GTHISCV-??? O ...More tests to be added in a later release of this document...
RG-GALLTM-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms' endpoint works correctly. The test system issues the getAllTerms request and expects to receive a fully populated JSON payload.
RG-GALLTM-201 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllTerms request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLTM-202 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllTerms request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLTM-203 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllTerms request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLTM-??? R ...More tests to be added in a later release of this document...
RG-GONETM-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/terms/{id}' endpoint works correctly. The test system issues the getTerm request and expects to receive a fully populated JSON payload.
RG-GONETM-??? R ...More tests to be added in a later release of this document...
RG-GTMFSC-101 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id/terms' endpoint works correctly. The test system issues the getTermsForSchool request and expects to receive a fully populated JSON payload.
RG-GTMFSC-201 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/terms' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getTermsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GTMFSC-202 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/terms' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getTermsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GTMFSC-203 O To confirm the service provider's '.../ims/oneroster/rostering/v1p2/schools/{school_id}/terms' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getTermsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GTMFSC-??? O ...More tests to be added in a later release of this document...
RG-GALLUS-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users' endpoint works correctly. The test system issues the getAllUsers request and expects to receive a fully populated JSON payload.
RG-GALLUS-201 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllUsers request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLUS-202 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameter. The test system issues the getAllUsers request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLUS-203 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameter. The test system issues the getAllUsers request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RG-GALLUS-??? R ...More tests to be added in a later release of this document...
RG-ONEUS-101 R To confirm the service provider's '.../ims/oneroster/rostering/v1p2/users/{id}' endpoint works correctly. The test system issues the getUser request and expects to receive a fully populated JSON payload.
RG-GONEUS-??? R ...More tests to be added in a later release of this document...

A.2 Tests on the Resources Service

This section is non-normative.

All of the tests are applied using OAuth 2.0 (Client Credentials) for support is REQUIRED.

Table A2 - A summary of the set of tests to be applied to a service provider supporting the resources service undergoing certification.
ID Mode Description
RX-GALLRX-101 R To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly. The test system issues the getAllResources request and expects to receive a fully populated JSON payload.
RX-GALLRX-201 R To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GALLRX-202 R To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GALLRX-203 R To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GALLRX-301 R To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GALLRX-302 R To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GALLRX-303 R To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GALLRX-304 R To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GALLRX-305 R To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GALLRX-306 R To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GALLRX-307 R To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the contains test on an importance) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GALLRX-308 R To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the AND predicate) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GALLRX-309 R To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources' endpoint works correctly using the &filter (with the OR predicate) query parameter. The test system issues the getAllResources request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GALLRX-??? R ...More tests to be added in a later release of this document...
RX-GONERX-101 R To confirm the service provider's '.../ims/oneroster/resources/v1p2/resources/{id}' endpoint works correctly. The test system issues the getResource request and expects to receive a fully populated JSON payload.
RX-GONERX-??? R ...More tests to be added in a later release of this document...
RX-GRXFCL-101 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload.
RX-GRXFCL-201 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCL-202 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &sort=sourcedId&orderby=asc query parameters. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCL-203 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &sort=sourcedId&orderby=desc query parameters. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCL-301 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCL-302 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCL-303 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCL-304 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCL-305 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCL-306 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCL-307 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the contains test on an importance) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCL-308 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the AND predicate) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCL-309 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/classes/{class_id}/resources' endpoint works correctly using the &filter (with the OR predicate) query parameter. The test system issues the getResourcesForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCL-??? O ...More tests to be added in a later release of this document...
RX-GRXFCO-101 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload.
RX-GRXFCO-201 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{class_id}/resources' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCO-202 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &sort=sourcedId&orderby=asc query parameters. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCO-203 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &sort=sourcedId&orderby=desc query parameters. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCO-301 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCO-302 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCO-303 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCO-304 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCO-305 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCO-306 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCO-307 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the contains test on an importance) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCO-308 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the AND predicate) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCO-309 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/courses/{course_id}/resources' endpoint works correctly using the &filter (with the OR predicate) query parameter. The test system issues the getResourcesForCourse request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFCO-??? O ...More tests to be added in a later release of this document...
RX-GRXFUS-101 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload.
RX-GRXFUS-201 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFUS-202 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &sort=sourcedId&orderby=asc query parameters. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFUS-203 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &sort=sourcedId&orderby=desc query parameters. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFUS-301 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFUS-302 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFUS-303 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFUS-304 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFUS-305 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFUS-306 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFUS-307 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the contains test on the importance) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFUS-308 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the AND predicate) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFUS-309 O To confirm the service provider's '.../ims/oneroster/resources/v1p2/users/{user_id}/resources' endpoint works correctly using the &filter (with the OR predicate) query parameter. The test system issues the getResourcesForUser request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
RX-GRXFUS-??? O ...More tests to be added in a later release of this document...

A.3 Tests on the Gradebook Service

This section is non-normative.

All of the tests are applied using OAuth 2.0 (Client Credentials) for support is REQUIRED.

Table A3 - A summary of the set of tests to be applied to a service provider supporting the gradebook service undergoing certification.
ID Mode Description
GB-GAXFCL-101 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_d}/academicStandardIds' endpoint works correctly. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload.
GB-GAXFCL-201 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_d}/academicStandardIds' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFCL-202 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_d}/academicStandardIds' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFCL-203 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_d}/academicStandardIds' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFCL-301 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFCL-302 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFCL-303 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFCL-304 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFCL-305 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFCL-306 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFCL-307 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the contains test on a title) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFCL-308 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the AND predicate) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFCL-309 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/academicStandardIds' endpoint works correctly using the &filter (with the OR predicate) query parameter. The test system issues the getAcademicStandardIdsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFCL-??? O ...More tests to be added in a later release of this document...
GB-GAXFSC-101 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_d}/academicStandardIds' endpoint works correctly. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload.
GB-GAXFSC-201 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_d}/academicStandardIds' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFSC-202 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_d}/academicStandardIds' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFSC-203 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_d}/academicStandardIds' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFSC-301 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFSC-302 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFSC-303 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFSC-304 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFSC-305 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFSC-306 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFSC-307 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the contains test on a title) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFSC-308 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the AND predicate) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFSC-309 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/schools/{school_id}/academicStandardIds' endpoint works correctly using the &filter (with the OR predicate) query parameter. The test system issues the getAcademicStandardIdsForSchool request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GAXFSC-??? O ...More tests to be added in a later release of this document...
GB-GALLCG-101 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload.
GB-GALLCG-201 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLCG-202 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLCG-203 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLCG-301 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLCG-302 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLCG-303 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLCG-304 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the greater than or equal test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLCG-305 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLCG-306 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the less than or equal test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLCG-307 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the contains test on a title) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLCG-308 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the AND predicate test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLCG-309 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories' endpoint works correctly using the &filter (with the OR predicate test on a sourcedId) query parameter. The test system issues the getAllCategories request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLCG-??? R ...More tests to be added in a later release of this document...
GB-GONECG-101 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/categories/{id}' endpoint works correctly. The test system issues the getCategory request and expects to receive a fully populated JSON payload.
GB-GONECG-??? R ...More tests to be added in a later release of this document...
GB-GALLLI-101 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload.
GB-GALLLI-201 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLLI-202 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLLI-203 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLLI-301 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLLI-302 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLLI-303 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLLI-304 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the greater than or equals test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLLI-305 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLLI-306 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the less than or equals test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLLI-307 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the contains test on a title) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLLI-308 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the AND predicate test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLLI-309 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems' endpoint works correctly using the &filter (with the OR predicate test on a sourcedId) query parameter. The test system issues the getAllLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLLI-??? R ...More tests to be added in a later release of this document...
GB-GONELI-101 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lineItems/{id}' endpoint works correctly. The test system issues the getLineItem request and expects to receive a fully populated JSON payload.
GB-GONELI-??? R ...More tests to be added in a later release of this document...
GB-GLIFCL-101 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/lineItems' endpoint works correctly. The test system issues the getLineItemsForClass request and expects to receive a fully populated JSON payload.
GB-GLIFCL-201 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/lineItems' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getLineItemsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GLIFCL-202 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/lineItems' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getLineItemsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GLIFCL-203 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/lineItems' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getLineItemsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GLIFCL-??? O ...More tests to be added in a later release of this document...
GB-GALLRS-101 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/results' endpoint works correctly. The test system issues the getAllResults request and expects to receive a fully populated JSON payload.
GB-GALLRS-201 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/results' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllResults request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLRS-202 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/results' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllResults request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLRS-203 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/results' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllResults request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLRS-??? R ...More tests to be added in a later release of this document...
GB-GONERS-101 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/results/{id}' endpoint works correctly. The test system issues the getResult request and expects to receive a fully populated JSON payload.
GB-GONERS-??? R ...More tests to be added in a later release of this document...
GB-GRSFCL-101 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{id}/results' endpoint works correctly. The test system issues the getResultsForClass request and expects to receive a fully populated JSON payload.
GB-GRSFCL-201 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/results' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getResultsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GRSFCL-202 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/results' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getResultsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GRSFCL-203 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/results' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getResultsForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GRSFCL-??? O ...More tests to be added in a later release of this document...
GB-GRSFLI-101 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{id}/lineItems/{lineitem_id}/results' endpoint works correctly. The test system issues the getResultsForLineIemForClass request and expects to receive a fully populated JSON payload.
GB-GRSFLI-201 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/lineItems/{lineitem_id}/results' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getResultsForLineItemForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GRSFLI-202 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/lineItems/{lineitem_id}/results' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getResultsForLineItemForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GRSFLI-203 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/lineItems/{lineitem_id}/results' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getResultsForLineItemForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GRSFLI-??? O ...More tests to be added in a later release of this document...
GB-GRSFST-101 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{id}/students/{id}/results' endpoint works correctly. The test system issues the getResultsForStudentForClass request and expects to receive a fully populated JSON payload.
GB-GRSFST-201 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/students/{student_id}/results' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getResultsForStudentForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GRSFST-202 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/students/{student_id}/results' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getResultsForStudentForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GRSFST-203 O To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/classes/{class_id}/students/{student_id}/results' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getResultsForStudentForClass request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GRSFST-??? O ...More tests to be added in a later release of this document...
GB-GALLSS-101 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/scoreScales' endpoint works correctly. The test system issues the getAllScoreScales request and expects to receive a fully populated JSON payload.
GB-GALLSS-201 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/scoreScales' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllScoreScales request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLSS-202 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/scoreScales' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllScoreScales request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLSS-203 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/scoreScales' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllScoreScales request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
GB-GALLSS-??? R ...More tests to be added in a later release of this document...
GB-GONESS-101 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/scoreScales/{id}' endpoint works correctly. The test system issues the getScoreScale request and expects to receive a fully populated JSON payload.
GB-GONESS-??? R ...More tests to be added in a later release of this document...

A.4 Tests on the Assessment Results Service

This section is non-normative.

All of the tests are applied using OAuth 2.0 (Client Credentials) for support is REQUIRED.

Table A4 - A summary of the set of tests to be applied to a service provider supporting the assessment results service undergoing certification.
ID Mode Description
AR-GALLLI-101 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload.
AR-GALLLI-201 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
AR-GALLLI-202 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
AR-GALLLI-203 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
AR-GALLLI-301 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the equal test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
AR-GALLLI-302 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the not equal test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
AR-GALLLI-303 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the greater than test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
AR-GALLLI-304 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/lassessmentLineItems' endpoint works correctly using the &filter (with the greater than or equals test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
AR-GALLLI-305 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the less than test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
AR-GALLLI-306 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the less than or equals test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
AR-GALLLI-307 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the contains test on a title) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
AR-GALLLI-308 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the AND predicate test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
AR-GALLLI-309 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems' endpoint works correctly using the &filter (with the OR predicate test on a sourcedId) query parameter. The test system issues the getAllAssessmentLineItems request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
AR-GALLLI-??? R ...More tests to be added in a later release of this document...
AR-GONELI-101 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentLineItems/{id}' endpoint works correctly. The test system issues the getAssessmentLineItem request and expects to receive a fully populated JSON payload.
AR-GONELI-??? R ...More tests to be added in a later release of this document...
AR-GALLRS-101 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentResults' endpoint works correctly. The test system issues the getAllAssessmentResults request and expects to receive a fully populated JSON payload.
AR-GALLRS-201 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentResults' endpoint works correctly using the &sort=sourcedId query parameter. The test system issues the getAllAssessmentResults request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
AR-GALLRS-202 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentResults' endpoint works correctly using the &sort=sourcedId&orderBy=asc query parameters. The test system issues the getAllAssessmentResults request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
AR-GALLRS-203 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentResults' endpoint works correctly using the &sort=sourcedId&orderBy=desc query parameters. The test system issues the getAllAssessmentResults request and expects to receive a fully populated JSON payload. This query parameter must be supported for this service.
AR-GALLRS-??? R ...More tests to be added in a later release of this document...
AR-GONERS-101 R To confirm the service provider's '.../ims/oneroster/gradebook/v1p2/assessmentResults/{id}' endpoint works correctly. The test system issues the getAssessmentResult request and expects to receive a fully populated JSON payload.
AR-GONERS-??? R ...More tests to be added in a later release of this document...

B. Summary of the Conformance Tests for a Consumer

This section is non-normative.

The set of tests that will be used to determine if an implementation of the consumer functionality is compliant are summarised in Table B1. The features supplied in Table B1 are:

  • ID - the unique identifier assigned to the test;
  • Mode - set as either 'R' to denote that this test MUST be passed, 'O' to denote this test MAY be passed and '–' to denote the test is not applicable. R(P) and O(P) denote MUST support and MAY support respectively for the Gradebook Push and Assessment Results Push endpoints. Four values are given for Rostering, Resources, Gradebook and Assessment Results services respectively;
  • Description - a brief summary of the objective of the test.
Table B1 - A summary of the set of tests to be applied to a consumer undergoing certification.
ID Mode Description
1.1 R | R | R | R OAuth2: Send request with valid access token.
2.1 R | – | – | – Endpoint: Get All Users.
2.2 O | – | – | – Endpoint: Get User By Id.
2.3 R | – | – | – Endpoint: Get All Students.
2.4 O | – | – | – Endpoint: Get Student By Id.
2.5 R | – | – | – Endpoint: Get All Teachers.
2.6 O | – | – | – Endpoint: Get Teacher By Id.
2.7 R | – | – | – Endpoint: Get All Orgs.
2.8 O | – | – | – Endpoint: Get Org By Id.
2.9 R | – | – | – Endpoint: Get All Courses.
2.10 O | – | – | – Endpoint: Get Course By Id.
2.11 R | – | – | – Endpoint: Get All Classes.
2.12 O | – | – | – Endpoint: Get Class By Id.
2.13 R | – | – | – Endpoint: Get All Academic Sessions.
2.14 O | – | – | – Endpoint: Get Academic Session By Id.
2.15 R | – | – | – Endpoint: Get All Terms.
2.16 O | – | – | – Endpoint: Get Term By Id.
2.17 – | – | R | – Endpoint: Get All Categories.
2.18 – | – | O | – Endpoint: Get Category By Id
2.19 – | – | O | – Endpoint: Get Line Items For Class.
2.20 – | – | O | – Endpoint: Get Results For Class.
2.21 R | – | – | – Endpoint: Get All Schools.
2.22 O | – | – | – Endpoint: Get School By Id.
2.23 O | – | – | – Endpoint: Get Classes For Student.
2.24 O | – | – | – Endpoint: Get Classes For Teacher.
2.25 R | – | – | – Endpoint: Get All Grading Periods.
2.26 O | – | – | – Endpoint: Get Grading Period By Id.
2.27 R | – | – | – Endpoint: Get All Enrollments.
2.28 O | – | – | – Endpoint: Get Enrollment By Id.
2.29 O | – | – | – Endpoint: Get All Demographics
2.30 O | – | – | – Endpoint: Get Demographics By Id.
2.31 O | – | – | – Endpoint: et Classes for User.
2.32 O | – | – | – Endpoint: Get Students for Class.
2.33 O | – | – | – Endpoint: Get Teachers for Class.
2.34 O | – | – | – Endpoint: Get Classes for Course.
2.35 O | – | – | – Endpoint: Get Classes for School.
2.36 O | – | – | – Endpoint: Get Courses for School.
2.37 O | – | – | – Endpoint: Get Enrollments for School.
2.38 O | – | – | – Endpoint: Get Enrollments for Class in School.
2.39 O | – | – | – Endpoint: Get Students for School.
2.40 O | – | – | – Endpoint: Get Students for Class in School.
2.41 O | – | – | – Endpoint: Get Teachers for Class in School.
2.42 O | – | – | – Endpoint: GET Teachers for School.
2.43 O | – | – | – Endpoint: Get Terms for School.
2.44 O | – | – | – Endpoint: Get Classes for Term.
2.45 O | – | – | – Endpoint: Get Grading Periods for Term.
2.46 – | – | – | O Endpoint: Get Assessment Line Items.
2.47 – | – | – | O Endpoint: Get Assessment Line Item by Id.
2.48 – | – | R | – Endpoint: Get Line Items.
2.49 – | – | O | – Endpoint: Get Line Item by Id.
2.50 – | – | O | – Endpoint: Get Results for Lineitem in Class.
2.51 – | – | O | – Endpoint: Get Results for Student in Class.
2.52 – | – | – | O Endpoint: Get Assessment Result by Id.
2.53 – | – | – | R Endpoint: Get All Assessment Results.
2.54 – | – | O | – Endpoint: Get Result by Id.
2.55 – | – | R | – Endpoint: Get All Results.
2.56 – | – | O(P) | – Endpoint: Create Category (Put).
2.57 – | – | R(P) | – Endpoint: Create Line Item (Put).
2.58 – | – | R(P) | – Endpoint: Create Result (Put).
2.59 – | – | – | R(P) Endpoint: Create Assessment Line Item (Put).
2.60 – | – | – | R(P) Endpoint: Create Assessment Result (Put).
2.61 – | – | O(P) | – Endpoint: Delete Category.
2.62 – | – | O(P) | – Endpoint: Delete Line Item.
2.63 – | – | O(P) | – Endpoint: Delete Result.
2.64 – | – | – | O(P) Endpoint: Delete Assessment Line Item.
2.65 – | – | – | O(P) Endpoint: Delete Assessment Result.
2.66 – | R | – | – Endpoint: Get All Resources.
2.67 – | O | – | – Endpoint: Get Resource by Id.
2.68 – | O | – | – Endpoint: Get Resources for Course.
2.69 – | O | – | – Endpoint: Get Resources for Class.
3.1 R | R | R | – URL Query Parameter: Limit. Demonstrate using any of the supported endpoints.
3.2 R | R | R | R URL Query Parameter: Offset. Demonstrate using any of the supported endpoints.
3.3 R | R | R | R URL Query Parameter: Filter. Demonstrate using any of the supported endpoints.
3.4 R | R | R | R URL Query Parameter: Sort. Demonstrate using any of the supported endpoints.
3.5 R | R | R | R URL Query Parameter: OrderBy. Demonstrate using any of the supported endpoints.
3.6 O | O | O | O UR Query Parameter: Fields. Demonstrate using any of the supported endpoints.

C. Revision History

This section is non-normative.

C.1 Version History

Version No. Release Date Comments
Final Release v1.0 / Doc Version 1.0 3rd June 2015 The first formal release of the Final Release version of this document.
Final Release v1.1 / Doc Version 1.0 17th April, 2017 The second formal release of this document. The conformance requirements, for both CSV and REST, have been made considerably more demanding and specific.
Candidate Final Public Release v1.2 / Doc Version 1.0 1st July, 2021 The third formal release of this document. A number of new features have been added to the three operational modes of Rostering, Resources and Gradebook (for both REST and CSV bindings).

C.2 Changes in this Version

In the context of conformance and certification the following changes have occured in OR 1.2:

  • The conformance requirements for eight new CSV files has been addessed. The new files are:
    • lineItemLearningObjectiveIds.csv
    • lineItemScoreScales.csv
    • resultLearningObjectiveIds.csv
    • resultScoreScales.csv
    • roles.csv
    • scoreScales.csv
    • userProfiles.csv
    • userResources.csv;
  • The conformance requirements for twenty-two new endpoints has been addessed. The new endpoints are:
    • getAcademicStandardIdsForClass() - '/classes/{classSourcedId}/academicStandardIds'
    • getAcademicStandardIdsForSchool() - '/schools/{schoolSourcedId}/academicStandardIds'
    • getAllAssessmentLineItems() - '/assessmentLineItems'
    • getAssessmentLineItem() - '/assessmentLineItems/{id}'
    • putAssessmentLineItem() - '/assessmentLineItems/{id}'
    • deleteAssessmentLineItem() - '/assessmentLineItems/{id}'
    • getAllAssessmentResults() - '/assessmentResults'
    • getAssessmentResult() - '/assessmentResults/{id}'
    • putAssessmentResult() - '/assessmentResults/{id}'
    • deleteAssessmentResult() - '/assessmentResults/{id}'
    • getCategoriesForClass() - '/classes/{classSourcedId}/categories'
    • postLineItemsForClass() - '/classes/{classSourcedId}/lineItems'
    • postLineItemsForSchool() - '/schools/{schoolSourcedId}/lineItems'
    • postResultsForLineItem() - '/lineItems/{lineItemSourcedId}/results'
    • postResultsForAcademicSessionForClass() - '/classes/{classSourcedId}/academicSessions/{academicSessionSourcedId}/results'
    • getAllScoreScales() - '/scoreScales'
    • getScoreScale() - '/scoreScales/{id}'
    • getScoreScalesForClass() - '/classes/{classSourcedId}/scoreScales'
    • getScoreScalesForSchool() - '/schools/{schoolSourcedId}/scoreScales'
    • putScoreScale() - '/scoreScales/{id}'
    • deleteScoreScale() - '/scoreScales/{id}'
    • getResourcesForUser() - '/users/{uesr_id}/resources';
  • Use of OAuth 1.0a message signing has been removed. The use of OAuth 2.0 Bearer Tokens (Client Credentials Grant) is required instead;
  • Providers are now REQUIRED to make available a localized version of the specification OpenAPI files to enable service discovery and certifcation.

D. References

D.1 Normative references

[OpenAPI2]
OpenAPI Specification 2.0 (fka Swagger RESTful API Documentation Specification). Open API Initiative (Linux Foundation). September 2014. URL: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md
[OpenAPI3]
OpenAPI Specification 3.0. Open API Initiative (Linux Foundation). July 2017. URL: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md
[ORARS-SM]
Assessment Results Profile for Gradebook Services 1.0. IMS Global Learning Consortium, Inc. July, 2021. URL: https://www.imsglobal.org/lis/imsonerosterv1p2/imsOneRosterv1p2-assessmentresultsv1p0.html
[ORGBK-SM]
OneRoster 1.2 Gradebook Services. IMS Global Learning Consortium, Inc. July, 2021. URL: https://www.imsglobal.org/spec/oneroster/v1p2/gradebook/info
[ORRES-SM]
OneRoster 1.2 Resource Services. IMS Global Learning Consortium, Inc. July, 2021. URL: https://www.imsglobal.org/spec/oneroster/v1p2/resource/info
[ORROS-SM]
OneRoster 1.2 Rostering Services. IMS Global Learning Consortium, Inc. July, 2021. URL: https://www.imsglobal.org/spec/oneroster/v1p2/rostering/info
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119

E. List of Contributors

The following individuals contributed to the development of this document:

Name Organization Role
Eric AdamsKimono
Arthur BarstowMcGraw-Hill
Matthew BrentInfinite Campus
Hank DavidsonPearson
Vijay DhanarajClasslink
Linda FengUnicon
Viktor HaagD2L
Richard HeimLearning Mate
Oxana JurosevicInstructure
Mike KaastraD2L
Lisa MattsonIMS Global
David MayesGwinnett County Schools
Joshua McGheeIMS Globaleditor
Phil NichollsIMS Globaleditor
Padraig O'hiceadhaHMH
James PerreaultFLVS
Patrick PorterHouston ISD
Matt RichardsInfinite Campusco-chair
Kurt RompotPearson
Marc SheftelPearson
Colin SmytheIMS Globaleditor
Konrad StimelingK12
Matt VellaSchoology
TJ VeringMicrosoft
Mark WallsGwinnett County Schools
Mike ZackersonInstructure

IMS Global Learning Consortium, Inc. ("IMS Global") is publishing the information contained in this document ("Specification") for purposes of scientific, experimental, and scholarly collaboration only.

IMS Global makes no warranty or representation regarding the accuracy or completeness of the Specification.

This material is provided on an "As Is" and "As Available" basis.

The Specification is at all times subject to change and revision without notice.

It is your sole responsibility to evaluate the usefulness, accuracy, and completeness of the Specification as it relates to you.

IMS Global would appreciate receiving your comments and suggestions.

Please contact IMS Global through our website at http://www.imsglobal.org.

Please refer to Document Name: IMS OneRoster: Conformance and Certification 1.2

Date: 1st July, 2021