# #####################################################################################
# YAML File Information
# #####################################################################################
# 
# Author:         Colin Smythe (1EdTech) and Markus Gylling (1EdTech)
# Date:           31st January 2023
# Version:        1.0
# Status:         Candidate Final
# Description:    The OneRoster Rostering Service enables the exchange of K-12 oriented roster data. This exchange is typically between the Student Information System and the learning delivery systems. The service provides a number of operations, collected as several endpoints, primarily based upon read, create and delete of the first class objects. In this Norwegian Profile K-12 many new endpoints have been added to support information exchange about Childcare and After School activities.
#                 The changes to the base specification are:
#                 * The "AfterSchoolsManagement" interface has been added (This enables the management of information about after-school activities. An after school activity is a type of 'org'.)
#                    - "getAcademicSessionForAfterSchool" endpoint - To read, get, the specific academic session for the specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getAcademicSessionSetForAfterSchool" endpoint - To read, get, the collection of academic sessions for specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getAfterSchool" endpoint - To read, get, a specific after-school activity. If the specified after-school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getAllAfterSchools" endpoint - To read, get, a collection of after-school activities i.e. all orgs of type 'after-school'.
#                    - "getClassForAfterSchool" endpoint - To read, get, the specific class for the specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getClassSetForAfterSchool" endpoint - To read, get, the collection of classes for specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getEnrollmentForAfterSchool" endpoint - To read, get, the specific enrollment for the specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getEnrollmentSetForAfterSchool" endpoint - To read, get, the collection of enrollments for specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getStudentForAfterSchool" endpoint - To read, get, the specific student for the specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getStudentSetForAfterSchool" endpoint - To read, get, the collection of students for specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getStudentSetForClassInAfterSchool" endpoint - To read, get, the collection of students for specific after-school activity and class. If the specified after-school activity and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getTeacherForAfterSchool" endpoint - To read, get, the specific teacher for the specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getTeacherSetForAfterSchool" endpoint - To read, get, the collection of teachers for specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getTeacherSetForClassInAfterSchool" endpoint - To read, get, the collection of teachers for specific after-school activity and class. If the specified after-school activity and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getUserForAfterSchool" endpoint - To read, get, the specific user for the specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getUserSetForAfterSchool" endpoint - To read, get, the collection of users for specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#
#                 * The "ChildcaresManagement" interface has been added (This enables the management of information about child care activities. A child care activity is a type of 'org'.)
#                    - "getAcademicSessionForChildcare" endpoint - To read, get, the specific academic session for the specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getAcademicSessionSetForChildcare" endpoint - To read, get, the collection of academic sessions for specific chuldcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getAllChildcares" endpoint - To read, get, a collection of child care activities i.e. all orgs of type 'child care'.
#                    - "getChildcare" endpoint - To read, get, a specific child care activity. If the specified child care activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getClassForChildcare" endpoint - To read, get, the specific class for the specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getClassSetForChildcare" endpoint - To read, get, the collection of classes for specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getEnrollmentForChildcare" endpoint - To read, get, the specific enrollment for the specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getEnrollmentSetForChildcare" endpoint - To read, get, the collection of enrollments for specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getStudentForChildcare" endpoint - To read, get, the specific student for the specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getStudentSetForChildcare" endpoint - To read, get, the collection of students for specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getStudentSetForClassInChildcare" endpoint - To read, get, the collection of students for specific childcare activity and class. If the specified childcare activity and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getTeacherForChildcare" endpoint - To read, get, the specific teacher for the specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getTeacherSetForChildcare" endpoint - To read, get, the collection of teachers for specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getTeacherSetForClassInChildcare" endpoint - To read, get, the collection of teachers for specific childcare activity and class. If the specified childcare activity and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getUserForChildcare" endpoint - To read, get, the specific user for the specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#                    - "getUserSetForChildcare" endpoint - To read, get, the collection of users for specific childcareactivity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
#
#                 * The following classes/data-types have been modified:-
#                    - Changes to the "ClassTypeEnum" class are:-
#                       + The enumeration token "ext:nationalTestsGroup" has been ADDED
#                       + The enumeration token "ext:specialEducation" has been ADDED
#                       + The enumeration token "ext:grepGroup" has been ADDED
#                       + The enumeration token "ext:contactTeacherGroup" has been ADDED
#                    - Changes to the "Demographics" class are:-
#                       + The attribute "americanIndianOrAlaskaNative" has been PROHIBITED
#                       + The attribute "asian" has been PROHIBITED
#                       + The attribute "blackOrAfricanAmerican" has been PROHIBITED
#                       + The attribute "nativeHawaiianOrOtherPacificIslander" has been PROHIBITED
#                       + The attribute "white" has been PROHIBITED
#                       + The attribute "demographicRaceTwoOrMoreRaces" has been PROHIBITED
#                       + The attribute "hispanicOrLatinoEthnicity" has been PROHIBITED
#                       + The attribute "countryOfBirthCode" has been PROHIBITED
#                       + The attribute "stateOfBirthAbbreviation" has been PROHIBITED
#                       + The attribute "cityOfBirth" has been PROHIBITED
#                       + The attribute "publicSchoolResidenceStatus" has been PROHIBITED
#                    - Changes to the "EnrolRoleEnum" class are:-
#                       + The attribute "proctor" has been PROHIBITED
#                       + The enumeration token "ext:aide" has been ADDED
#                       + The enumeration token "ext:contactTeacher" has been ADDED
#                    - Changes to the "MetadataClass" class are:-
#                       + The attribute "1edtech.language" of data-type LANGUAGE has been APPENDED
#                       + The attribute "1edtech.subjectCodes" with a COMPLEX data-type (SubjectCodes) has been APPENDED
#                       + The attribute "1edtech.grepGroups" with a COMPLEX data-type (GrepGroups) has been APPENDED
#                    - Changes to the "MetadataCourse" class are:-
#                       + The attribute "1edtech.language" of data-type LANGUAGE has been APPENDED
#                       + The attribute "1edtech.subjectCodes" with a COMPLEX data-type (SubjectCodes) has been APPENDED
#                    - Changes to the "MetadataEnrollment" class are:-
#                       + The attribute "1edtech.language" of data-type LANGUAGE has been APPENDED
#                    - Changes to the "MetadataGeneral" class are:-
#                       + The attribute "1edtech.language" of data-type LANGUAGE has been APPENDED
#                    - Changes to the "MetadataOrg" class are:-
#                       + The attribute "1edtech.language" of data-type LANGUAGE has been APPENDED
#                       + The attribute "1edtech.schoolVIGOID" of data-type NORMALIZEDSTRING has been APPENDED
#                       + The attribute "1edtech.schoolPASCode" of data-type NORMALIZEDSTRING has been APPENDED
#                       + The attribute "1edtech.schoolType" with an ENUMERATED data-type (SchoolTypeEnum) has been APPENDED
#                    - Changes to the "MetadataUser" class are:-
#                       + The attribute "1edtech.language" of data-type LANGUAGE has been APPENDED
#                    - Changes to the "OrgTypeEnum" class are:-
#                       + The attribute "state" has been PROHIBITED
#                       + The attribute "local" has been PROHIBITED
#                       + The attribute "national" has been PROHIBITED
#                       + The enumeration token "ext:afterSchool" has been ADDED
#                       + The enumeration token "ext:childCare" has been ADDED
#                       + The enumeration token "ext:counsellingService" has been ADDED
#                       + The enumeration token "ext:county" has been ADDED
#                       + The enumeration token "ext:municipality" has been ADDED
#                       + The enumeration token "ext:privateOwner" has been ADDED
#                    - Changes to the "RoleEnum" class are:-
#                       + The attribute "proctor" has been PROHIBITED
#                       + The attribute "guardian" has been PROHIBITED
#                       + The attribute "parent" has been PROHIBITED
#                       + The attribute "relative" has been PROHIBITED
#                       + The enumeration token "ext:staff" has been ADDED
#                       + The enumeration token "ext:primaryGuardian" has been ADDED
#                       + The enumeration token "ext:ownerRepesentative" has been ADDED
#                       + The enumeration token "ext:responsibleCaregiver" has been ADDED
#                    - Changes to the "User" class are:-
#                       + The attribute "identifier" has been PROHIBITED
#                       + The attribute "password" has been PROHIBITED
#
#                 * The following new classes/data-types have been defined:-
#                    - The NEW class "GrepGroups" has been created.
#                      This is a new class defined in this Profile to hold information about the defined Grep Groups.
#                      This consists of the following attributes:
#                       + "1edtech.grepType : GrepTypeEnum [1..1]"
#                       + "1edtech.code : NormalizedString [1..1]"
#                       + "1edtech.title : String [1..1]"
#                       + "1edtech.vocabName : VocabNameEnumExt [0..1]"
#                       + "1edtech.uri : AnyURI [0..1]"
#                    - The NEW class "GrepTypeEnum" has been created.
#                      This is the container for the new enumerated vocabulary for the type of Grep Group.
#                      This provides an enumeration of:
#                       + The token "fagkoder" has been defined
#                       + The token "programomraader" has been defined
#                       + The token "utdanningsprogram" has been defined
#                       + The token "aarstrinn" has been defined
#                    - The NEW class "SchoolTypeEnum" has been created.
#                      This is the container for the new enumerated sub-type vocabulary for a School org.
#                      This provides an enumeration of:
#                       + The token "primarySchool" has been defined
#                       + The token "lowerSecondarySchool" has been defined
#                       + The token "upperSecondarySchool" has been defined
#                       + The token "adultEducation" has been defined
#                       + The token "vocationalSchool" has been defined
#                       + The token "homeEducation" has been defined
#                       + The token "primaryAndLowerSecondarySchool" has been defined
#                       + The token "kindergarten" has been defined
#                       + The token "lowerSecondaryAndUpperSecondarySchool" has been defined
#                    - The NEW class "SubjectCodes" has been created.
#                      This is a new class defined in this Profile to hold information about the subjectCodes assigned to a Class or Course. This is the preferred mechanism for providing the subject codes information.
#                      This consists of the following attributes:
#                       + "1edtech.code : NormalizedString [1..1]"
#                       + "1edtech.title : String [1..1]"
#                       + "1edtech.vocabName : VocabNameEnumExt [0..1]"
#                       + "1edtech.uri : AnyURI [0..1]"
#                    - The NEW class "UserIdTypeEnum" has been created.
#                      This is the container for the new enumerated vocabulary for the type of UserId.
#                      This provides an enumeration of:
#                       + The token "feideID" has been defined
#                       + The token "UPN" has been defined
#                       + The token "personFIN" has been defined
#                       + The token "personLIN" has been defined
#                       + The token "personNIN" has been defined
#                       + The token "personNINencrypted" has been defined
#                       + The token "sisID" has been defined
#                       + The token "studentID" has been defined
#                       + The token "username" has been defined
#                       + The token "workforceID" has been defined
#                    - The NEW class "VocabNameEnum" has been created.
#                      This is the container for the new enumerated vocabulary for the vocabulary name for Subject Codes.
#                      This provides an enumeration of:
#                       + The token "GREP" has been defined
#                       + The token "VIGO" has been defined
#                       + The token "localCode" has been defined
#                    - The NEW class "VocabNameEnumExt" has been created (UNSUPPORTED STEREOTYPE).
# 
# History:        This is the first release of the OneRoster Norwegian K-12 Profile. This Candidate Final release is for internal review and adoption by 1EdTech Members.
# 
# License:        IPR and Distribution Notices
# 
#                 This machine readable file is derived from the 1EdTech OneRoster 1.2 Norwegian Profile for K-12 Education Version 1.0
#                 found at https://www.1edtech.org/ and the original 1EdTech schema binding or code base at
#                 https://www.1edtech.org/.
# 
#                 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.
# 
#                 1EdTech 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 1EdTech procedures with respect to rights in 1EdTech 
#                 specifications can be found at the 1EdTech Intellectual Property Rights web page: https://www.1edtech.org/ipr/imsipr_policyFinal.pdf.
# 
#                 Copyright (c) 1EdTech Consortium 1999-2024. All Rights Reserved.
# 
#                 Use of this specification to develop products or services is governed by the license with 1EdTech found on the 1EdTech website: http://www.1edtech.org/license.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 1EdTech 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 IMPLEMENTERS 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.
# 
# Source UML File Information
# ===========================
# The source file information must be supplied as an XMI file (without diagram layout information).
# The supported UML authoring tools are:
# (a) Papyrus - v1.1.3 (and later)
# 
# Source XSLT File Information
# ============================
# XSL Generator:    Specificationv1p0_GenerationToolv1.xsl
# XSLT Processor:   Saxon
# Release:          1.0
# Date:             31st October, 2022
# Autogen Engineer: Colin Smythe (1EdTech)
# Autogen Date:     2024-08-13
# 
# 1EdTech Auto-generation Binding Tool-kit (E-BAT)
# ================================================
# This file was auto-generated using the 1EdTech Binding Auto-generation Tool-kit (E-BAT). While every
# attempt has been made to ensure that this tool auto-generates the files correctly, users should be aware
# that this is an experimental tool. Permission is given to make use of this tool. 1EdTech makes no
# claim on the materials created by third party users of this tool. Details on how to use this tool
# are contained in the 1EdTech "E-BAT" documentation available at the 1EdTech web-site:
# https://www.1edtech.org.
# 
# Tool Copyright:  2012-2024  (c) 1EdTech Consortium Inc. All Rights Reserved.
# 
# #####################################################################################

openapi: '3.0.0'

#####################################################################################
#                               API Information                                     #
#####################################################################################
info: 
    version: '1.0'
    title: OneRoster 1.2 Norwegian Profile for K-12 Education [ NorwegianK-12 ] OpenAPI (YAML) Definition
    description: The OneRoster Rostering Service enables the exchange of K-12 oriented roster data. This exchange is typically between the Student Information System and the learning delivery systems. The service provides a number of operations, collected as several endpoints, primarily based upon read, create and delete of the first class objects. In this Norwegian Profile K-12 many new endpoints have been added to support information exchange about Childcare and After School activities. THIS IS A FORMAL PROFILE OF OneRoster Rostering Service 1.2.
    termsOfService: https://www.imsglobal.org/license.html
    contact: 
        name: Vice President of Operations, 1EdTech
        url: https://www.1edtech.org
        email: operations@1edtech.org
    license: 
        name: 1EdTech Consortium
        url: https://www.1edtech.org/license.html

#####################################################################################
#                                 Servers                                           #
#####################################################################################
servers: 
    - url: https://{hostName}{basePath}
      description: The pattern for the Server URL should be configured for the actual server location.
      variables: 
          "hostName": 
              description: This is the hostname for the server and MUST be set to the actual service provider (the 1EdTech url is given as a default value).
              default: www.imsglobal.org
          "basePath": 
              description: This is the base-path for the full URL and MUST be a part of the service endpoints.
              enum: 
                - /ims/oneroster/rostering/v1p2
              default: /ims/oneroster/rostering/v1p2

#####################################################################################
#                                  Tags                                             #
#####################################################################################
tags: 
    - name: AcademicSessionsManagement
      description: |
        This enables the management of academic sessions i.e. periods of academic activity.
    - name: ClassesManagement
      description: |
        This enables the management of Classes i.e. scheduled learning of courses.
    - name: CoursesManagement
      description: |
        This enables the management of Courses i.e. programme of study.
    - name: DemographicsManagement
      description: |
        This enables the management of demographics information (each assigned to a specific user). The sourcedIds for the user and the demograohics records should be the same.
    - name: EnrollmentsManagement
      description: |
        This enables the management of the enrollments of users (teachers, students, etc.) on classes supplied by schools.
    - name: GradingPeriodsManagement
      description: |
        This enables the management of grading periods i.e. specific academic sessions.
    - name: OrgsManagement
      description: |
        This enables the management of orgs i.e. an organization involved in the learning in some form or other.
    - name: SchoolsManagement
      description: |
        This enables the management of information about schools. A school is a type of 'org'.
    - name: StudentsManagement
      description: |
        This enables the management of information about students (a student is a type of 'user').
    - name: TeachersManagement
      description: |
        This enables the management of information about teachers (a teacher is a type of 'user').
    - name: TermsManagement
      description: |
        This enables the management of information about terms (a term is a type of 'academicSession').
    - name: UsersManagement
      description: |
        This enables the management of information about users (including students and teachers).
    - name: AfterSchoolsManagement
      description: |
        NEW in the [ NorwegianK-12 ] Profile: This enables the management of information about after-school activities. An after school activity is a type of 'org'.
    - name: ChildcaresManagement
      description: |
        NEW in the [ NorwegianK-12 ] Profile: This enables the management of information about child care activities. A child care activity is a type of 'org'.

#####################################################################################
#                                   Paths                                           #
#####################################################################################
paths: 
    /academicSessions:
        get:
            operationId: getAllAcademicSessions
            summary: The REST read request message for the getAllAcademicSessions() API call.
            tags: 
                - AcademicSessionsManagement
            description: |
                To read, get, a collection of academic sessions i.e. all academic sessions.
            parameters: 
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/AcademicSessionSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAllAcademicSessions
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAllAcademicSessions
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAllAcademicSessions
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAllAcademicSessions
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /academicSessions/{sourcedId}:
        get:
            operationId: getAcademicSession
            summary: The REST read request message for the getAcademicSession() API call.
            tags: 
                - AcademicSessionsManagement
            description: |
                To read, get, a specific academic session. If the specified academic session cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for this academic session.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleAcademicSessionDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /classes:
        get:
            operationId: getAllClasses
            summary: The REST read request message for the getAllClasses() API call.
            tags: 
                - ClassesManagement
            description: |
                To read, get, a collection of classes i.e. all classes.
            parameters: 
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/ClassSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAllClasses
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAllClasses
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAllClasses
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAllClasses
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /classes/{classSourcedId}/students:
        get:
            operationId: getStudentsForClass
            summary: The REST read request message for the getStudentsForClass() API call.
            tags: 
                - ClassesManagement
            description: |
                To read, get, the collection of students associated with a specific class. If the specified class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: classSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the class.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: restricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getStudentsForClass
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getStudentsForClass
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getStudentsForClass
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getStudentsForClass
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /classes/{classSourcedId}/teachers:
        get:
            operationId: getTeachersForClass
            summary: The REST read request message for the getTeachersForClass() API call.
            tags: 
                - ClassesManagement
            description: |
                To read, get, the collection of teachers associated with a specific class. If the specified class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: classSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the class.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: restricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getTeachersForClass
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getTeachersForClass
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getTeachersForClass
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getTeachersForClass
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /classes/{sourcedId}:
        get:
            operationId: getClass
            summary: The REST read request message for the getClass() API call.
            tags: 
                - ClassesManagement
            description: |
                To read, get, a specific class.  If the specified class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for this class.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleClassDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /courses:
        get:
            operationId: getAllCourses
            summary: The REST read request message for the getAllCourses() API call.
            tags: 
                - CoursesManagement
            description: |
                To read, get, a collection of courses i.e. all courses.
            parameters: 
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/CourseSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAllCourses
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAllCourses
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAllCourses
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAllCourses
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /courses/{courseSourcedId}/classes:
        get:
            operationId: getClassesForCourse
            summary: The REST read request message for the getClassesForCourse() API call.
            tags: 
                - CoursesManagement
            description: |
                To get the set of classes related to a specific course.  If the specified course cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: courseSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specific course.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/ClassSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getClassesForCourse
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getClassesForCourse
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getClassesForCourse
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getClassesForCourse
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /courses/{sourcedId}:
        get:
            operationId: getCourse
            summary: The REST read request message for the getCourse() API call.
            tags: 
                - CoursesManagement
            description: |
                To read, get, a specific course.  If the specified course cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for this course.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleCourseDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /demographics:
        get:
            operationId: getAllDemographics
            summary: The REST read request message for the getAllDemographics() API call.
            tags: 
                - DemographicsManagement
            description: |
                To read, get, a collection of demographics i.e. all demographics.
            parameters: 
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-demographics.readonly
            x-1edtech-confidentiality: veryrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/DemographicsSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAllDemographics
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAllDemographics
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAllDemographics
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAllDemographics
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /demographics/{sourcedId}:
        get:
            operationId: getDemographics
            summary: The REST read request message for the getDemographics() API call.
            tags: 
                - DemographicsManagement
            description: |
                To read, get, a specific user demographics. If the specified user and/or demographics recrds cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for this user demographics.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-demographics.readonly
            x-1edtech-confidentiality: veryrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleDemographicsDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /enrollments:
        get:
            operationId: getAllEnrollments
            summary: The REST read request message for the getAllEnrollments() API call.
            tags: 
                - EnrollmentsManagement
            description: |
                To read, get, a collection of enrollments i.e. all enrollments.
            parameters: 
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: normal
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/EnrollmentSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAllEnrollments
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAllEnrollments
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAllEnrollments
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAllEnrollments
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /enrollments/{sourcedId}:
        get:
            operationId: getEnrollment
            summary: The REST read request message for the getEnrollment() API call.
            tags: 
                - EnrollmentsManagement
            description: |
                To read, get, a specific enrollment. If the specified enrollment cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for this enrollment.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: normal
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleEnrollmentDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /gradingPeriods:
        get:
            operationId: getAllGradingPeriods
            summary: The REST read request message for the getAllGradingPeriods() API call.
            tags: 
                - GradingPeriodsManagement
            description: |
                To read, get, a collection of grading periods i.e. all academic sessions.
            parameters: 
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/AcademicSessionSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAllGradingPeriods
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAllGradingPeriods
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAllGradingPeriods
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAllGradingPeriods
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /gradingPeriods/{sourcedId}:
        get:
            operationId: getGradingPeriod
            summary: The REST read request message for the getGradingPeriod() API call.
            tags: 
                - GradingPeriodsManagement
            description: |
                To read, get, a specific grading period. If the specified grading period cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for this grading period.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleAcademicSessionDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /orgs:
        get:
            operationId: getAllOrgs
            summary: The REST read request message for the getAllOrgs() API call.
            tags: 
                - OrgsManagement
            description: |
                To read, get, a collection of orgs i.e. all orgs.
            parameters: 
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/OrgSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAllOrgs
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAllOrgs
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAllOrgs
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAllOrgs
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /orgs/{sourcedId}:
        get:
            operationId: getOrg
            summary: The REST read request message for the getOrg() API call.
            tags: 
                - OrgsManagement
            description: |
                To read, get, a specific org. If the specified org cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for this org.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleOrgDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /schools:
        get:
            operationId: getAllSchools
            summary: The REST read request message for the getAllSchools() API call.
            tags: 
                - SchoolsManagement
            description: |
                To read, get, a collection of schools i.e. all schools.
            parameters: 
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/OrgSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAllSchools
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAllSchools
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAllSchools
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAllSchools
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /schools/{schoolSourcedId}/classes:
        get:
            operationId: getClassesForSchool
            summary: The REST read request message for the getClassesForSchool() API call.
            tags: 
                - SchoolsManagement
            description: |
                To read, get, the collection of classes associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: schoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specific school.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/ClassSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getClassesForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getClassesForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getClassesForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getClassesForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /schools/{schoolSourcedId}/classes/{classSourcedId}/enrollments:
        get:
            operationId: getEnrollmentsForClassInSchool
            summary: The REST read request message for the getEnrollmentsForClassInSchool() API call.
            tags: 
                - SchoolsManagement
            description: |
                To read, get, the collection of enrollments associated with a specific class at a specific school. If the specified school and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: schoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the school.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: classSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the class.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: normal
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/EnrollmentSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getEnrollmentsForClassInSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getEnrollmentsForClassInSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getEnrollmentsForClassInSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getEnrollmentsForClassInSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /schools/{schoolSourcedId}/classes/{classSourcedId}/students:
        get:
            operationId: getStudentsForClassInSchool
            summary: The REST read request message for the getStudentsForClassInSchool() API call.
            tags: 
                - SchoolsManagement
            description: |
                To read, get, the collection of students associated with a specific class at a specific school. If the specified school and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: schoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specific school.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: classSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the class.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: restricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getStudentsForClassInSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getStudentsForClassInSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getStudentsForClassInSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getStudentsForClassInSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /schools/{schoolSourcedId}/classes/{classSourcedId}/teachers:
        get:
            operationId: getTeachersForClassInSchool
            summary: The REST read request message for the getTeachersForClassInSchool() API call.
            tags: 
                - SchoolsManagement
            description: |
                To read, get, the collection of teachers associated with a specific class at a specific school. If the specified school and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: schoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specific school.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: classSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the class.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: restricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getTeachersForClassInSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getTeachersForClassInSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getTeachersForClassInSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getTeachersForClassInSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /schools/{schoolSourcedId}/courses:
        get:
            operationId: getCoursesForSchool
            summary: The REST read request message for the getCoursesForSchool() API call.
            tags: 
                - SchoolsManagement
            description: |
                To read, get, the collection of courses associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: schoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the school.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/CourseSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getCoursesForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getCoursesForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getCoursesForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getCoursesForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /schools/{schoolSourcedId}/enrollments:
        get:
            operationId: getEnrollmentsForSchool
            summary: The REST read request message for the getEnrollmentsForSchool() API call.
            tags: 
                - SchoolsManagement
            description: |
                To read, get, the collection of enrollments associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: schoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specific school.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: normal
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/EnrollmentSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getEnrollmentsForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getEnrollmentsForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getEnrollmentsForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getEnrollmentsForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /schools/{schoolSourcedId}/students:
        get:
            operationId: getStudentsForSchool
            summary: The REST read request message for the getStudentsForSchool() API call.
            tags: 
                - SchoolsManagement
            description: |
                To read, get, the collection of students associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: schoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specific school.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: restricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getStudentsForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getStudentsForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getStudentsForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getStudentsForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /schools/{schoolSourcedId}/teachers:
        get:
            operationId: getTeachersForSchool
            summary: The REST read request message for the getTeachersForSchool() API call.
            tags: 
                - SchoolsManagement
            description: |
                To read, get, the collection of teachers associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: schoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specific school.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: restricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getTeachersForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getTeachersForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getTeachersForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getTeachersForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /schools/{schoolSourcedId}/terms:
        get:
            operationId: getTermsForSchool
            summary: The REST read request message for the getTermsForSchool() API call.
            tags: 
                - SchoolsManagement
            description: |
                To read, get, the collection of terms associated with a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: schoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specific school.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/AcademicSessionSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getTermsForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getTermsForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getTermsForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getTermsForSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /schools/{sourcedId}:
        get:
            operationId: getSchool
            summary: The REST read request message for the getSchool() API call.
            tags: 
                - SchoolsManagement
            description: |
                To read, get, a specific school. If the specified school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for this school.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleOrgDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /students:
        get:
            operationId: getAllStudents
            summary: The REST read request message for the getAllStudents() API call.
            tags: 
                - StudentsManagement
            description: |
                To read, get, a collection of students i.e. all students.
            parameters: 
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: restricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAllStudents
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAllStudents
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAllStudents
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAllStudents
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /students/{sourcedId}:
        get:
            operationId: getStudent
            summary: The REST read request message for the getStudent() API call.
            tags: 
                - StudentsManagement
            description: |
                To read, get, a specific student. If the specified student cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for this student.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: restricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleUserDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /students/{studentSourcedId}/classes:
        get:
            operationId: getClassesForStudent
            summary: The REST read request message for the getClassesForStudent() API call.
            tags: 
                - StudentsManagement
            description: |
                To get the set of classes related to a specific student. If the specified student cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: studentSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specific student.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/ClassSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getClassesForStudent
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getClassesForStudent
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getClassesForStudent
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getClassesForStudent
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /teachers:
        get:
            operationId: getAllTeachers
            summary: The REST read request message for the getAllTeachers() API call.
            tags: 
                - TeachersManagement
            description: |
                To read, get, a collection of teachers i.e. all teachers.
            parameters: 
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: restricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAllTeachers
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAllTeachers
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAllTeachers
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAllTeachers
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /teachers/{sourcedId}:
        get:
            operationId: getTeacher
            summary: The REST read request message for the getTeacher() API call.
            tags: 
                - TeachersManagement
            description: |
                To read, get, a specific teacher. If the specified teacher cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for this teacher.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: restricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleUserDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /teachers/{teacherSourcedId}/classes:
        get:
            operationId: getClassesForTeacher
            summary: The REST read request message for the getClassesForTeacher() API call.
            tags: 
                - TeachersManagement
            description: |
                To get the set of classes related to a specific teacher. If the specified teacher cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: teacherSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specific teacher.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/ClassSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getClassesForTeacher
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getClassesForTeacher
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getClassesForTeacher
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getClassesForTeacher
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /terms:
        get:
            operationId: getAllTerms
            summary: The REST read request message for the getAllTerms() API call.
            tags: 
                - TermsManagement
            description: |
                To read, get, a collection of terms i.e. all terms.
            parameters: 
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/AcademicSessionSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAllTerms
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAllTerms
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAllTerms
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAllTerms
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /terms/{sourcedId}:
        get:
            operationId: getTerm
            summary: The REST read request message for the getTerm() API call.
            tags: 
                - TermsManagement
            description: |
                To read, get, a specific term. If the specified term cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for this term.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleAcademicSessionDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /terms/{termSourcedId}/classes:
        get:
            operationId: getClassesForTerm
            summary: The REST read request message for the getClassesForTerm() API call.
            tags: 
                - TermsManagement
            description: |
                To get the set of classes related to a specific term. If the specified term cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: termSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specific term.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/ClassSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getClassesForTerm
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getClassesForTerm
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getClassesForTerm
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getClassesForTerm
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /terms/{termSourcedId}/gradingPeriods:
        get:
            operationId: getGradingPeriodsForTerm
            summary: The REST read request message for the getGradingPeriodsForTerm() API call.
            tags: 
                - TermsManagement
            description: |
                To get the set of grading periods related to a specific term. If the specified term cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: termSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specific term.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/AcademicSessionSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getGradingPeriodsForTerm
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getGradingPeriodsForTerm
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getGradingPeriodsForTerm
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getGradingPeriodsForTerm
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /users:
        get:
            operationId: getAllUsers
            summary: The REST read request message for the getAllUsers() API call.
            tags: 
                - UsersManagement
            description: |
                To read, get, a collection of users i.e. all users (including students and teachers).
            parameters: 
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: restricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAllUsers
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAllUsers
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAllUsers
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAllUsers
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /users/{sourcedId}:
        get:
            operationId: getUser
            summary: The REST read request message for the getUser() API call.
            tags: 
                - UsersManagement
            description: |
                To read, get, a specific user. If the specified user cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for this user.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            x-1edtech-confidentiality: restricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleUserDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /users/{userSourcedId}/classes:
        get:
            operationId: getClassesForUser
            summary: The REST read request message for the getClassesForUser() API call.
            tags: 
                - UsersManagement
            description: |
                To get the set of classes related to a specific user. If the specified user cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: userSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specific user.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            x-1edtech-confidentiality: unrestricted
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/ClassSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getClassesForUser
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getClassesForUser
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getClassesForUser
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getClassesForUser
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools:
        get:
            operationId: getAllAfterSchools
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getAllAfterSchools() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, a collection of after-school activities i.e. all orgs of type 'after-school'.
            parameters: 
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/OrgSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAllAfterSchools
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAllAfterSchools
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAllAfterSchools
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAllAfterSchools
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools/{afterschoolSourcedId}/academicsessions:
        get:
            operationId: getAcademicSessionSetForAfterSchool
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getAcademicSessionSetForAfterSchool() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, the collection of academic sessions for specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: afterschoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified after-school activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/AcademicSessionSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAcademicSessionSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAcademicSessionSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAcademicSessionSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAcademicSessionSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools/{afterschoolSourcedId}/academicsessions/{academicSessionSourcedId}:
        get:
            operationId: getAcademicSessionForAfterSchool
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getAcademicSessionForAfterSchool() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, the specific academic session for the specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: afterschoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified after-school activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: academicSessionSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified academicSession.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleAcademicSessionDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools/{afterschoolSourcedId}/classes:
        get:
            operationId: getClassSetForAfterSchool
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getClassSetForAfterSchool() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, the collection of classes for specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: afterschoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified after-school activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/ClassSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getClassSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getClassSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getClassSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getClassSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools/{afterschoolSourcedId}/classes/{classSourcedId}:
        get:
            operationId: getClassForAfterSchool
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getClassForAfterSchool() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, the specific class for the specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: afterschoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified after-school activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: classSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified class.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleClassDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools/{afterschoolSourcedId}/classes/{classSourcedId}/students:
        get:
            operationId: getStudentSetForClassInAfterSchool
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getStudentSetForClassInAfterSchool() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, the collection of students for specific after-school activity and class. If the specified after-school activity and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: afterschoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified after-school activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: classSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified class.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getStudentSetForClassInAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getStudentSetForClassInAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getStudentSetForClassInAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getStudentSetForClassInAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools/{afterschoolSourcedId}/classes/{classSourcedId}/teachers:
        get:
            operationId: getTeacherSetForClassInAfterSchool
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getTeacherSetForClassInAfterSchool() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, the collection of teachers for specific after-school activity and class. If the specified after-school activity and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: afterschoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified after-school activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: classSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified class.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getTeacherSetForClassInAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getTeacherSetForClassInAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getTeacherSetForClassInAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getTeacherSetForClassInAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools/{afterschoolSourcedId}/enrollments:
        get:
            operationId: getEnrollmentSetForAfterSchool
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getEnrollmentSetForAfterSchool() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, the collection of enrollments for specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: afterschoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified after-school activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/EnrollmentSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getEnrollmentSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getEnrollmentSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getEnrollmentSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getEnrollmentSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools/{afterschoolSourcedId}/enrollments/{enrollmentSourcedId}:
        get:
            operationId: getEnrollmentForAfterSchool
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getEnrollmentForAfterSchool() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, the specific enrollment for the specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: afterschoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified after-school activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: enrollmentSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified enrollment.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleEnrollmentDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools/{afterschoolSourcedId}/students:
        get:
            operationId: getStudentSetForAfterSchool
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getStudentSetForAfterSchool() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, the collection of students for specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: afterschoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified after-school activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getStudentSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getStudentSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getStudentSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getStudentSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools/{afterschoolSourcedId}/students/{studentSourcedId}:
        get:
            operationId: getStudentForAfterSchool
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getStudentForAfterSchool() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, the specific student for the specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: afterschoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified after-school activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: studentSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified student.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleUserDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools/{afterschoolSourcedId}/teachers:
        get:
            operationId: getTeacherSetForAfterSchool
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getTeacherSetForAfterSchool() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, the collection of teachers for specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: afterschoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified after-school activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getTeacherSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getTeacherSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getTeacherSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getTeacherSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools/{afterschoolSourcedId}/teachers/{teacherSourcedId}:
        get:
            operationId: getTeacherForAfterSchool
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getTeacherForAfterSchool() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, the specific teacher for the specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: afterschoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified after-school activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: teacherSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified teacher.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleUserDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools/{afterschoolSourcedId}/users:
        get:
            operationId: getUserSetForAfterSchool
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getUserSetForAfterSchool() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, the collection of users for specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: afterschoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified after-school activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getUserSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getUserSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getUserSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getUserSetForAfterSchool
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools/{afterschoolSourcedId}/users/{userSourcedId}:
        get:
            operationId: getUserForAfterSchool
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getUserForAfterSchool() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, the specific user for the specific after-school activity. If the specified after-school activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: afterschoolSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified after-school activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: userSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified user.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleUserDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /afterschools/{sourcedId}:
        get:
            operationId: getAfterSchool
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getAfterSchool() API call.
            tags: 
                - AfterSchoolsManagement
            description: |
                To read, get, a specific after-school activity. If the specified after-school cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for this after-school activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleOrgDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares:
        get:
            operationId: getAllChildcares
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getAllChildcares() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, a collection of child care activities i.e. all orgs of type 'child care'.
            parameters: 
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/OrgSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAllChildcares
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAllChildcares
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAllChildcares
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAllChildcares
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares/{childcareSourcedId}/academicsessions:
        get:
            operationId: getAcademicSessionSetForChildcare
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getAcademicSessionSetForChildcare() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, the collection of academic sessions for specific chuldcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: childcareSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified childcare activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/AcademicSessionSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAcademicSessionSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAcademicSessionSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAcademicSessionSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAcademicSessionSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares/{childcareSourcedId}/academicsessions/{academicSessionSourcedId}:
        get:
            operationId: getAcademicSessionForChildcare
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getAcademicSessionForChildcare() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, the specific academic session for the specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: childcareSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified childcare activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: academicSessionSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified academicSession.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleAcademicSessionDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares/{childcareSourcedId}/classes:
        get:
            operationId: getClassSetForChildcare
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getClassSetForChildcare() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, the collection of classes for specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: childcareSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified childcare activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/ClassSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getClassSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getClassSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getClassSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getClassSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares/{childcareSourcedId}/classes/{classSourcedId}:
        get:
            operationId: getClassForChildcare
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getClassForChildcare() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, the specific class for the specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: childcareSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified childcare activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: classSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified class.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleClassDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares/{childcareSourcedId}/classes/{classSourcedId}/students:
        get:
            operationId: getStudentSetForClassInChildcare
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getStudentSetForClassInChildcare() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, the collection of students for specific childcare activity and class. If the specified childcare activity and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: childcareSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified childcare activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: classSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified class.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getStudentSetForClassInChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getStudentSetForClassInChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getStudentSetForClassInChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getStudentSetForClassInChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares/{childcareSourcedId}/classes/{classSourcedId}/teachers:
        get:
            operationId: getTeacherSetForClassInChildcare
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getTeacherSetForClassInChildcare() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, the collection of teachers for specific childcare activity and class. If the specified childcare activity and/or class cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: childcareSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified childcare activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: classSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified class.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getTeacherSetForClassInChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getTeacherSetForClassInChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getTeacherSetForClassInChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getTeacherSetForClassInChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares/{childcareSourcedId}/enrollments:
        get:
            operationId: getEnrollmentSetForChildcare
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getEnrollmentSetForChildcare() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, the collection of enrollments for specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: childcareSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified childcare activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/EnrollmentSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getEnrollmentSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getEnrollmentSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getEnrollmentSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getEnrollmentSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares/{childcareSourcedId}/enrollments/{enrollmentSourcedId}:
        get:
            operationId: getEnrollmentForChildcare
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getEnrollmentForChildcare() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, the specific enrollment for the specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: childcareSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified childcare activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: enrollmentSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified enrollment.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleEnrollmentDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares/{childcareSourcedId}/students:
        get:
            operationId: getStudentSetForChildcare
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getStudentSetForChildcare() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, the collection of students for specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: childcareSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified childcare activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getStudentSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getStudentSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getStudentSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getStudentSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares/{childcareSourcedId}/students/{studentSourcedId}:
        get:
            operationId: getStudentForChildcare
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getStudentForChildcare() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, the specific student for the specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: childcareSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified childcare activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: studentSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified student.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleUserDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares/{childcareSourcedId}/teachers:
        get:
            operationId: getTeacherSetForChildcare
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getTeacherSetForChildcare() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, the collection of teachers for specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: childcareSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified childcare activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getTeacherSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getTeacherSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getTeacherSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getTeacherSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares/{childcareSourcedId}/teachers/{teacherSourcedId}:
        get:
            operationId: getTeacherForChildcare
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getTeacherForChildcare() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, the specific teacher for the specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: childcareSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified childcare activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: teacherSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified teacher.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleUserDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares/{childcareSourcedId}/users:
        get:
            operationId: getUserSetForChildcare
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getUserSetForChildcare() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, the collection of users for specific childcareactivity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: childcareSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified childcare activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: limit
                  in: query
                  description: |
                      To define the download segmentation value i.e. the maximum number of records to be contained in the response.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      The number of the first record to be supplied in the segmented response message.
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      The filtering rules to be applied when identifying the records to be supplied in the response message. The sort order should follow the [UNICODE, 16] standard.
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a collection has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/UserSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getUserSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getUserSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getUserSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getUserSetForChildcare
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares/{childcareSourcedId}/users/{userSourcedId}:
        get:
            operationId: getUserForChildcare
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getUserForChildcare() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, the specific user for the specific childcare activity. If the specified childcare activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: childcareSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified childcare activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: userSourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for the specified user.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleUserDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /childcares/{sourcedId}:
        get:
            operationId: getChildcare
            summary: NEW in the [ NorwegianK-12 ] Profile - The REST read request message for the getChildcare() API call.
            tags: 
                - ChildcaresManagement
            description: |
                To read, get, a specific child care activity. If the specified child care activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The unique identifier, GUID, for this child care activity.
                  required: true
                  schema: 
                      type: string
                  style: simple
                - name: fields
                  in: query
                  description: |
                      To identify the range of fields that should be supplied in the response message.
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            security:
                - OAuth2CC:
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
                    - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
            responses: 
                "default" : 
                    description: |
                        This is the default error response when no other appropriate code is available. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "200" : 
                    description: |
                        The request was successfully completed and a record has been returned. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '200'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/SingleOrgDType"
                "400" : 
                    description: |
                        Either an invalid selection field or invalid filter selection was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field' or  'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "401" : 
                    description: |
                        The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "403" : 
                    description: |
                        This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "404" : 
                    description: |
                        Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "405" : 
                    description: |
                        This error report is returned when the Service Provider does not support, but is aware of, the endpoint to which the request was made. This would be accompanied by the 'codeMajor/severity' values of 'status/unsupported.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "422" : 
                    description: |
                        This error condition may occur if a JSON request body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "429" : 
                    description: |
                        The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"
                "500" : 
                    description: |
                        This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"


#####################################################################################
#                               Components                                          #
#####################################################################################
components:
    securitySchemes:
        OAuth2CC:
            type: oauth2
            description: |
                OAuth 2 Client Credentials (as per the requirements in the IMS Security Framework) is to be used.
            flows:
                clientCredentials:
                    tokenUrl: https://www.imsglobal.org
                    scopes: 
                        https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly: Support for all of the read operations (excluding demographics) to enable information about collections or a single object to be obtained.
                        https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly: The core set of read operations to enable information about collections or a single object to be obtained.
                        https://purl.imsglobal.org/spec/or/v1p2/scope/roster-demographics.readonly: The read operations to provide all demographics or a single demographics object to be obtained.
    schemas: 
        AcadSessionGUIDRefDType:
            description: |
                This is the container for reference to a OneRoster 'Academic Session' object that has an allocated sourcedId (GUID).
            type: object
            required: 
                - href
                - sourcedId
                - type
            x-1edtech-confidentiality: unrestricted
            properties: 
                href: 
                    description: The URI for the type of object being referenced. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                sourcedId: 
                    description: The globally unique identifier of the object being referenced. Model Primitive Datatype = String.
                    type: string
                type: 
                    description: |
                        The type of object being referenced i.e. an 'academicSession'.
                    type: string
                    enum: 
                       - academicSession
            additionalProperties: false
        AcademicSessionDType:
            description: |
                The container for an academicSession. An academicSession represents a duration of time. Typically they are used to describe terms, grading periods, and other durations e.g. school years. Term is used to describe a period of time during which learning will take place. Other words for term could be in common use around the world e.g. Semester. The important thing is that Term is a unit of time, often many weeks long, into which classes are scheduled. Grading Period is used to represent another unit of time, that within which line items are assessed. A term may have many grading periods, a grading period belongs to a single term. A class may be assessed over several grade periods (represented by a line item being connected to a grading period). The parent / child attributes of academic sessions allow terms to be connected to their grading periods and vice-versa. 
            type: object
            required: 
                - sourcedId
                - status
                - dateLastModified
                - title
                - startDate
                - endDate
                - type
                - schoolYear
            x-1edtech-confidentiality: unrestricted
            properties: 
                sourcedId: 
                    description: The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is an interoperability System ID for an object. This is the identifier that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId. The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products. Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general. Model Primitive Datatype = String.
                    type: string
                status: 
                    description: |
                        All objects MUST BE either 'active' or 'tobedeleted'. Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'.
                    type: string
                    enum: 
                       - active
                       - tobedeleted
                dateLastModified: 
                    description: All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in the format 'YYYY-MM-DDThh:mm:ss.sssZ' [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
                title: 
                    description: The title/label for the academic session. Model Primitive Datatype = NormalizedString.
                    type: string
                startDate: 
                    description: The start date for the academic session. The start date is included in the academic session. This is in [ISO 8601] format of 'YYYY-MM-DD'. Model Primitive Datatype = Date.
                    type: string
                    format: date
                endDate: 
                    description: The end date for the academic session. The end date is excluded from the academic session. This is in [ISO 8601] format of 'YYYY-MM-DD'. Model Primitive Datatype = Date.
                    type: string
                    format: date
                type: 
                    description: |
                        The type of academic session. This is based upon an enumerated vocabulary.
                    anyOf: 
                        - enum: 
                            - gradingPeriod
                            - semester
                            - schoolYear
                            - term
                          type: string
                        - description: The data-type that enables an enumerated vocabulary to be extended. Model Primitive Datatype = NormalizedString.
                          type: string
                          pattern: "(ext:)[a-zA-Z0-9\\.\\-_]+"
                parent: 
                    $ref: "#/components/schemas/AcadSessionGUIDRefDType"
                children: 
                    description: |
                        The set of links to the child AcademicSessions i.e. a set of AcademicSession 'sourcedIds'.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/AcadSessionGUIDRefDType"
                schoolYear: 
                    description: The school year for the academic session.  This year should include the school year end e.g. 2014. This is in the [ISO 8601] format of 'YYYY'. Model Primitive Datatype = NormalizedString.
                    type: string
                metadata: 
                    $ref: "#/components/schemas/MetadataGeneralDType"
            additionalProperties: false
        AcademicSessionSetDType:
            description: |
                This is the container for a collection of academicSessions instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.
            type: object
            x-1edtech-confidentiality: unrestricted
            properties: 
                academicSessions: 
                    description: |
                        The collection of academicSession instances. The order is not significant. The corresponding query constraints may result in no instances being returned.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/AcademicSessionDType"
            additionalProperties: false
        ClassDType:
            description: |
                A class is an instance of a course, onto which students and teachers are enrolled. A class is typically held within a term.
            type: object
            required: 
                - sourcedId
                - status
                - dateLastModified
                - title
                - classType
                - course
                - school
                - terms
            x-1edtech-confidentiality: unrestricted
            properties: 
                sourcedId: 
                    description: The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is an interoperability System ID for an object. This is the identifier that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId. The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products. Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general. Model Primitive Datatype = String.
                    type: string
                status: 
                    description: |
                        All objects MUST BE either 'active' or 'tobedeleted'. Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'.
                    type: string
                    enum: 
                       - active
                       - tobedeleted
                dateLastModified: 
                    description: All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in the format 'YYYY-MM-DDThh:mm:ss.sssZ' [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
                title: 
                    description: The tile/label for the class. Model Primitive Datatype = NormalizedString.
                    type: string
                classCode: 
                    description: The class code. Model Primitive Datatype = NormalizedString.
                    type: string
                classType: 
                    description: |
                        The type of class. This is based upon an enumerated vocabulary.
                    anyOf: 
                        - enum: 
                            - homeroom
                            - scheduled
                            - ext:nationalTestsGroup
                            - ext:specialEducation
                            - ext:grepGroup
                            - ext:contactTeacherGroup
                          type: string
                        - description: The data-type that enables an enumerated vocabulary to be extended. Model Primitive Datatype = NormalizedString.
                          type: string
                          pattern: "(ext:)[a-zA-Z0-9\\.\\-_]+"
                location: 
                    description: The location for the class e.g. 'Room 19'. Model Primitive Datatype = NormalizedString.
                    type: string
                grades: 
                    description: The grade(s) who attend the class. The permitted vocabulary should be defined as part of the adoption and deployment process. See the Implementation Guide [OR-IMPL-12] for more details on how to define/use such a vocabulary. Model Primitive Datatype = NormalizedString.
                    type: array
                    minItems: 0
                    items: 
                        type: string
                subjects: 
                    description: The set of subjects addressed by this class e.g. 'chemistry'. Model Primitive Datatype = NormalizedString.
                    type: array
                    minItems: 0
                    items: 
                        type: string
                course: 
                    $ref: "#/components/schemas/CourseGUIDRefDType"
                school: 
                    $ref: "#/components/schemas/OrgGUIDRefDType"
                terms: 
                    description: |
                        The links to the set of terms or semesters (academicSession) i.e. the set of 'sourcedIds' for the terms within the associated school year.
                    type: array
                    minItems: 1
                    items: 
                        $ref: "#/components/schemas/AcadSessionGUIDRefDType"
                subjectCodes: 
                    description: This is a machine readable set of codes and the number should match the associated 'subjects' attribute. The vocabulary for this characteristic should be defined as part of the local addition of this specification (see the Implementation Guide [OR-IMPL-12] for more details). Model Primitive Datatype = NormalizedString.
                    type: array
                    minItems: 0
                    items: 
                        type: string
                periods: 
                    description: The time slots in the day that the class will be given. Examples are 1 or a list of 1, 3, 5, etc. Model Primitive Datatype = NormalizedString.
                    type: array
                    minItems: 0
                    items: 
                        type: string
                resources: 
                    description: |
                        The links to the set of associated resources i.e. the Resource 'sourcedIds'.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/ResourceGUIDRefDType"
                metadata: 
                    $ref: "#/components/schemas/MetadataClassDType"
            additionalProperties: false
        ClassGUIDRefDType:
            description: |
                This is the container for reference to a OneRoster 'Class' object that has an allocated sourcedId (GUID).
            type: object
            required: 
                - href
                - sourcedId
                - type
            x-1edtech-confidentiality: unrestricted
            properties: 
                href: 
                    description: The URI for the type of object being referenced. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                sourcedId: 
                    description: The globally unique identifier of the object being referenced. Model Primitive Datatype = String.
                    type: string
                type: 
                    description: |
                        The type of object being referenced i.e. a 'class'.
                    type: string
                    enum: 
                       - class
            additionalProperties: false
        ClassSetDType:
            description: |
                This is the container for a collection of classes instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.
            type: object
            x-1edtech-confidentiality: unrestricted
            properties: 
                classes: 
                    description: |
                        The collection of class instances. The order is not significant. The corresponding query constraints may result in no instances being returned.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/ClassDType"
            additionalProperties: false
        CourseDType:
            description: |
                The information about a course. A Course is a course of study that, typically, has a shared curriculum although it may be taught to different students by different teachers. It is likely that several classes of a single course may be taught in a term. For example, a school runs Grade 9 English in the spring term. There are four classes, each with a different 30 students, taught by 4 different teachers. However the curriculum for each of those four classes is the same i.e. the course curriculum.
            type: object
            required: 
                - sourcedId
                - status
                - dateLastModified
                - title
                - org
            x-1edtech-confidentiality: unrestricted
            properties: 
                sourcedId: 
                    description: The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is an interoperability System ID for an object. This is the identifier that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId. The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products. Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general. Model Primitive Datatype = String.
                    type: string
                status: 
                    description: |
                        All objects MUST BE either 'active' or 'tobedeleted'. Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'.
                    type: string
                    enum: 
                       - active
                       - tobedeleted
                dateLastModified: 
                    description: All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in the format 'YYYY-MM-DDThh:mm:ss.sssZ' [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
                title: 
                    description: The title of the course. Model Primitive Datatype = NormalizedString.
                    type: string
                schoolYear: 
                    $ref: "#/components/schemas/AcadSessionGUIDRefDType"
                courseCode: 
                    description: The assigned course code. Model Primitive Datatype = NormalizedString.
                    type: string
                grades: 
                    description: Grade(s) for which the class is attended. The permitted vocabulary should be defined as part of the adoption and deployment process. See the Implementation Guide [OR-IMPL-12] for more details on how to define/use such a vocabulary. Model Primitive Datatype = NormalizedString.
                    type: array
                    minItems: 0
                    items: 
                        type: string
                subjects: 
                    description: The set of subjects addresse by this course. This is a set of human readable strings.   Model Primitive Datatype = NormalizedString.
                    type: array
                    minItems: 0
                    items: 
                        type: string
                org: 
                    $ref: "#/components/schemas/OrgGUIDRefDType"
                subjectCodes: 
                    description: This is a machine readable set of codes and the number should match the associated 'subjects' attribute. The vocabulary for this characteristic should be defined as part of the local addition of this specification (see the Implementation Guide [OR-IMPL-12] for more details). Model Primitive Datatype = NormalizedString.
                    type: array
                    minItems: 0
                    items: 
                        type: string
                resources: 
                    description: |
                        The links to the associated resources if applicable i.e. the resource 'sourcedIds'.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/ResourceGUIDRefDType"
                metadata: 
                    $ref: "#/components/schemas/MetadataCourseDType"
            additionalProperties: false
        CourseGUIDRefDType:
            description: |
                This is the container for reference to a OneRoster 'Course' object that has an allocated sourcedId (GUID).
            type: object
            required: 
                - href
                - sourcedId
                - type
            x-1edtech-confidentiality: unrestricted
            properties: 
                href: 
                    description: The URI for the type of object being referenced. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                sourcedId: 
                    description: The globally unique identifier of the object being referenced. Model Primitive Datatype = String.
                    type: string
                type: 
                    description: |
                        The type of object being referenced i.e. a 'course'.
                    type: string
                    enum: 
                       - course
            additionalProperties: false
        CourseSetDType:
            description: |
                This is the container for a collection of courses instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.
            type: object
            x-1edtech-confidentiality: unrestricted
            properties: 
                courses: 
                    description: |
                        The collection of course instances. The order is not significant. The corresponding query constraints may result in no instances being returned.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/CourseDType"
            additionalProperties: false
        CredentialDType:
            description: |
                The container for a single set of credentials for an account.
            type: object
            required: 
                - type
                - username
            x-1edtech-privacy:
                - username
                - password
                - extensions
            x-1edtech-confidentiality: restricted
            x-1edtech-confidentiality-normal: 
                - username
                - extensions
            x-1edtech-confidentiality-restricted: 
                - password
            properties: 
                type: 
                    description: The type of credentials for the profile. This should be indicative of when this specific credential should be used. Model Primitive Datatype = String.
                    type: string
                username: 
                    description: The username. Model Primitive Datatype = NormalizedString.
                    type: string
                password: 
                    description: The password in this set of credentials.  Care should be taken to ensure that no unencrypted value is revealed. Model Primitive Datatype = String.
                    type: string
            additionalProperties: true
        DemographicsDType:
            description: |
                Demographics information is taken from the Common Educational Data Standards (CEDS) from the US government (http://ceds.ed.gov). Note that demographics data is held in its own service, and that access to this service is considered privileged. Not all consumer keys will be able to request demographics data. NOTE that the sourcedId used to retrieve the demographics data MUST be the same as the sourcedId of the User i.e. the owner of the demographics data.
            type: object
            required: 
                - sourcedId
                - status
                - dateLastModified
            x-1edtech-privacy:
                - sourcedId
                - birthDate
                - sex
                - metadata
            x-1edtech-confidentiality: veryrestricted
            x-1edtech-confidentiality-normal: 
                - sourcedId
                - metadata
            x-1edtech-confidentiality-veryrestricted: 
                - birthDate
                - sex
            properties: 
                sourcedId: 
                    description: The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is an interoperability System ID for an object. This is the identifier that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId. The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products. Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general. The sourcedId used to retrieve the demographics data MUST be the same as the sourcedId of the User i.e. the owner of the demographics data. Model Primitive Datatype = String.
                    type: string
                status: 
                    description: |
                        All objects MUST BE either 'active' or 'tobedeleted'. Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'.
                    type: string
                    enum: 
                       - active
                       - tobedeleted
                dateLastModified: 
                    description: All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in the format 'YYYY-MM-DDThh:mm:ss.sssZ' [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
                birthDate: 
                    description: The date of birth. The format is [ISO 8601] of 'YYYY-MM-DD'. Model Primitive Datatype = Date.
                    type: string
                    format: date
                sex: 
                    description: |
                        The sex of the individual. The permitted values are from an enumerated list.
                    anyOf: 
                        - enum: 
                            - male
                            - female
                            - unspecified
                            - other
                          type: string
                        - description: The data-type that enables an enumerated vocabulary to be extended. Model Primitive Datatype = NormalizedString.
                          type: string
                          pattern: "(ext:)[a-zA-Z0-9\\.\\-_]+"
                metadata: 
                    $ref: "#/components/schemas/MetadataGeneralDType"
            additionalProperties: false
        DemographicsSetDType:
            description: |
                This is the container for a collection of demographics instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.
            type: object
            x-1edtech-privacy:
                - demographics
            x-1edtech-confidentiality: veryrestricted
            x-1edtech-confidentiality-veryrestricted: 
                - demographics
            properties: 
                demographics: 
                    description: |
                        The collection of demographics instances. The order is not significant. The corresponding query constraints may result in no instances being returned.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/DemographicsDType"
            additionalProperties: false
        EnrollmentDType:
            description: |
                An enrollment is the name given to an individual taking part in a class. In the vast majority of cases, users will be students learning in a class, or teachers teaching the class. Other roles are also possible.
            type: object
            required: 
                - sourcedId
                - status
                - dateLastModified
                - user
                - class
                - school
                - role
            x-1edtech-privacy:
                - user
                - role
                - metadata
            x-1edtech-confidentiality: normal
            x-1edtech-confidentiality-normal: 
                - user
                - role
                - metadata
            properties: 
                sourcedId: 
                    description: The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is an interoperability System ID for an object. This is the identifier that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId. The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products. Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general. Model Primitive Datatype = String.
                    type: string
                status: 
                    description: |
                        All objects MUST BE either 'active' or 'tobedeleted'. Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'.
                    type: string
                    enum: 
                       - active
                       - tobedeleted
                dateLastModified: 
                    description: All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in the format 'YYYY-MM-DDThh:mm:ss.sssZ' [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
                user: 
                    $ref: "#/components/schemas/UserGUIDRefDType"
                class: 
                    $ref: "#/components/schemas/ClassGUIDRefDType"
                school: 
                    $ref: "#/components/schemas/OrgGUIDRefDType"
                role: 
                    description: |
                        The role of the user for this class in the school e.g teacher, student, etc. This is from an enumerated vocabulary.
                    anyOf: 
                        - enum: 
                            - administrator
                            - student
                            - teacher
                            - ext:aide
                            - ext:contactTeacher
                          type: string
                        - description: The data-type that enables an enumerated vocabulary to be extended. Model Primitive Datatype = NormalizedString.
                          type: string
                          pattern: "(ext:)[a-zA-Z0-9\\.\\-_]+"
                primary: 
                    description: |
                        Applicable only to teachers. Only one teacher should be designated as the primary teacher for a class (this value set as 'true') in the period defined by the begin/end dates.
                    type: string
                    enum: 
                       - true
                       - false
                beginDate: 
                    description: The start date for the enrollment (inclusive). This date must be within the period of the associated Academic Session for the class (Term/Semester/SchoolYear). Use the [ISO 8601] format of 'YYYY-MM-DD'. Model Primitive Datatype = Date.
                    type: string
                    format: date
                endDate: 
                    description: The end date for the enrollment (exclusive).  This date must be within the period of the associated Academic Session for the class (Term/Semester/SchoolYear). Use the [ISO 8601] format of 'YYYY-MM-DD'. Model Primitive Datatype = Date.
                    type: string
                    format: date
                metadata: 
                    $ref: "#/components/schemas/MetadataEnrollmentDType"
            additionalProperties: false
        EnrollmentSetDType:
            description: |
                This is the container for a collection of enrollment instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.
            type: object
            x-1edtech-privacy:
                - enrollments
            x-1edtech-confidentiality: normal
            x-1edtech-confidentiality-normal: 
                - enrollments
            properties: 
                enrollments: 
                    description: |
                        The collection of enrollment instances. The order is not significant. The corresponding query constraints may result in no instances being returned.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/EnrollmentDType"
            additionalProperties: false
        MetadataClassDType:
            description: |
                The container for the proprietary extensions in the Class class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: 
                1edtech.language: 
                    description: An extension that is used to contain identification of the default language for the content being supplied. Model Primitive Datatype = Language.
                    type: string
                1edtech.subjectCodes: 
                    description: The existing OneRoster 1.2 subjectCodes property, available as optional on Class, is deprecated in this profile. This means that it remains available for use to achieve backwards compatibility, but that the new metadata 1edtech.subjectCodes property is the preferred mechanism for relaying subject code information. 
                    $ref: "#/components/schemas/SubjectCodesDType"
                1edtech.grepGroups: 
                    description: This is an extension property used to contain the definitions of the associated set of Grep Groups.
                    $ref: "#/components/schemas/GrepGroupsDType"
            additionalProperties: true
        MetadataCourseDType:
            description: |
                The container for the proprietary extensions in the Course class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: 
                1edtech.language: 
                    description: An extension that is used to contain identification of the default language for the content being supplied. Model Primitive Datatype = Language.
                    type: string
                1edtech.subjectCodes: 
                    description: The existing OneRoster 1.2 subjectCodes property, available as optional on Course, is deprecated in this profile. This means that it remains available for use to achieve backwards compatibility, but that the new metadata 1edtech.subjectCodes property is the preferred mechanism for relaying subject code information. 
                    $ref: "#/components/schemas/SubjectCodesDType"
            additionalProperties: true
        MetadataEnrollmentDType:
            description: |
                The container for the proprietary extensions in the Enrollment class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: 
                1edtech.language: 
                    description: An extension that is used to contain identification of the default language for the content being supplied. Model Primitive Datatype = Language.
                    type: string
            additionalProperties: true
        MetadataGeneralDType:
            description: |
                The container for the proprietary extensions.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: 
                1edtech.language: 
                    description: An extension that is used to contain identification of the default language for the content being supplied. Model Primitive Datatype = Language.
                    type: string
            additionalProperties: true
        MetadataOrgDType:
            description: |
                The container for the proprietary extensions for the Org class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: 
                1edtech.language: 
                    description: An extension that is used to contain identification of the default language for the content being supplied. Model Primitive Datatype = Language.
                    type: string
                1edtech.schoolVIGOID: 
                    description: This is an extension that is used to contain the VIGO identifier for the school. This is ONLY used when the associated type of 'org' is a school. Model Primitive Datatype = NormalizedString.
                    type: string
                1edtech.schoolPASCode: 
                    description: This is an extension that is used to contain the PAS code for the school. This is ONLY used when the associated type of 'org' is a school. Model Primitive Datatype = NormalizedString.
                    type: string
                1edtech.schoolType: 
                    description: This is an extension that is used to contain further definition of the type of school. This is ONLY used when the associated type of 'org' is a school.
                    type: string
                    enum: 
                       - primarySchool
                       - lowerSecondarySchool
                       - upperSecondarySchool
                       - adultEducation
                       - vocationalSchool
                       - homeEducation
                       - primaryAndLowerSecondarySchool
                       - kindergarten
                       - lowerSecondaryAndUpperSecondarySchool
            additionalProperties: true
        MetadataUserDType:
            description: |
                The container for the proprietary extensions in the User class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: 
                1edtech.language: 
                    description: An extension that is used to contain identification of the default language for the content being supplied. Model Primitive Datatype = Language.
                    type: string
            additionalProperties: true
        OrgDType:
            description: |
                ORG is defined here as a structure for holding organizational information. An ORG might be a school, or it might be a local, statewide, or national entity. ORGs will typically have a parent ORG (up to the national level), and children, allowing a hierarchy to be established. School is defined here as the place where the learning happens. Most commonly this is the data that describes a bricks and mortar building, or, in the case of a virtual school, the virtual school organization. For enrollment and result reporting purposes, little information about this organization is required. A common example of a local organization is a school district.
            type: object
            required: 
                - sourcedId
                - status
                - dateLastModified
                - name
                - type
            x-1edtech-confidentiality: unrestricted
            properties: 
                sourcedId: 
                    description: The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is an interoperability System ID for an object. This is the identifier that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId. The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products. Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general. Model Primitive Datatype = String.
                    type: string
                status: 
                    description: |
                        All objects MUST BE either 'active' or 'tobedeleted'. Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'.
                    type: string
                    enum: 
                       - active
                       - tobedeleted
                dateLastModified: 
                    description: All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in the format 'YYYY-MM-DDThh:mm:ss.sssZ' [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
                name: 
                    description: The name of the organization. Model Primitive Datatype = NormalizedString.
                    type: string
                type: 
                    description: |
                        The type of organization. This uses a predefined vocabulary.
                    anyOf: 
                        - enum: 
                            - department
                            - district
                            - school
                            - ext:afterSchool
                            - ext:childCare
                            - ext:counsellingService
                            - ext:county
                            - ext:municipality
                            - ext:privateOwner
                          type: string
                        - description: The data-type that enables an enumerated vocabulary to be extended. Model Primitive Datatype = NormalizedString.
                          type: string
                          pattern: "(ext:)[a-zA-Z0-9\\.\\-_]+"
                identifier: 
                    description: Human readable identifier for this org e.g. NCES ID. Model Primitive Datatype = String.
                    type: string
                parent: 
                    $ref: "#/components/schemas/OrgGUIDRefDType"
                children: 
                    description: |
                        The 'sourcedIds' for the set of child organizations.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/OrgGUIDRefDType"
                metadata: 
                    $ref: "#/components/schemas/MetadataOrgDType"
            additionalProperties: false
        OrgGUIDRefDType:
            description: |
                This is the container for reference to a OneRoster 'Org' object that has an allocated sourcedId (GUID).
            type: object
            required: 
                - href
                - sourcedId
                - type
            x-1edtech-confidentiality: unrestricted
            properties: 
                href: 
                    description: The URI for the type of object being referenced. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                sourcedId: 
                    description: The globally unique identifier of the object being referenced. Model Primitive Datatype = String.
                    type: string
                type: 
                    description: |
                        The type of object being referenced i.e. an 'org'.
                    type: string
                    enum: 
                       - org
            additionalProperties: false
        OrgSetDType:
            description: |
                This is the container for a collection of org instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.
            type: object
            x-1edtech-confidentiality: unrestricted
            properties: 
                orgs: 
                    description: |
                        The collection of org instances. The order is not significant. The corresponding query constraints may result in no instances being returned.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/OrgDType"
            additionalProperties: false
        ResourceGUIDRefDType:
            description: |
                This is the container for reference to a OneRoster 'Resourse' object that has an allocated sourcedId (GUID).
            type: object
            required: 
                - href
                - sourcedId
                - type
            x-1edtech-confidentiality: unrestricted
            properties: 
                href: 
                    description: The URI for the type of object being referenced. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                sourcedId: 
                    description: The globally unique identifier of the object being referenced. Model Primitive Datatype = String.
                    type: string
                type: 
                    description: |
                        The type of object being referenced i.e. a 'resource'.
                    type: string
                    enum: 
                       - resource
            additionalProperties: false
        RoleDType:
            description: |
                The container for one mapping between a role and an org for the user.
            type: object
            required: 
                - roleType
                - role
                - org
            x-1edtech-privacy:
                - role
                - userProfile
            x-1edtech-confidentiality: restricted
            x-1edtech-confidentiality-normal: 
                - role
            x-1edtech-confidentiality-restricted: 
                - userProfile
            properties: 
                roleType: 
                    description: |
                        Indicates if this role is the primary or secondary role for that org. There MUST be one, and only one, primary role for each org.
                    type: string
                    enum: 
                       - primary
                       - secondary
                role: 
                    description: |
                        The role of the user in the org. The permitted values are from an enumerated list. 
                    anyOf: 
                        - enum: 
                            - aide
                            - counselor
                            - districtAdministrator
                            - principal
                            - siteAdministrator
                            - student
                            - systemAdministrator
                            - teacher
                            - ext:staff
                            - ext:primaryGuardian
                            - ext:ownerRepesentative
                            - ext:responsibleCaregiver
                          type: string
                        - description: The data-type that enables an enumerated vocabulary to be extended. Model Primitive Datatype = NormalizedString.
                          type: string
                          pattern: "(ext:)[a-zA-Z0-9\\.\\-_]+"
                org: 
                    $ref: "#/components/schemas/OrgGUIDRefDType"
                userProfile: 
                    description: The identifier for the system/tool/app access account that is relevant to this role in the org. The equivalent UserProfile should exist with a 'profileId' equal to this identifier value. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                beginDate: 
                    description: The start date on which the role becomes active (inclusive).  Model Primitive Datatype = Date.
                    type: string
                    format: date
                endDate: 
                    description: The end date on which the role becomes inactive (exclusive).  Model Primitive Datatype = Date.
                    type: string
                    format: date
            additionalProperties: false
        SingleAcademicSessionDType:
            description: |
                This is the container for a single academicSession instance for a message payload.
            type: object
            required: 
                - academicSession
            x-1edtech-confidentiality: unrestricted
            properties: 
                academicSession: 
                    $ref: "#/components/schemas/AcademicSessionDType"
            additionalProperties: false
        SingleClassDType:
            description: |
                This is the container for a single class instance for a message payload.
            type: object
            required: 
                - class
            x-1edtech-confidentiality: unrestricted
            properties: 
                class: 
                    $ref: "#/components/schemas/ClassDType"
            additionalProperties: false
        SingleCourseDType:
            description: |
                This is the container for a single course instance for a message payload.
            type: object
            required: 
                - course
            x-1edtech-confidentiality: unrestricted
            properties: 
                course: 
                    $ref: "#/components/schemas/CourseDType"
            additionalProperties: false
        SingleDemographicsDType:
            description: |
                This is the container for a single demographics instance for a message payload.
            type: object
            required: 
                - demographics
            x-1edtech-privacy:
                - demographics
            x-1edtech-confidentiality: veryrestricted
            x-1edtech-confidentiality-veryrestricted: 
                - demographics
            properties: 
                demographics: 
                    $ref: "#/components/schemas/DemographicsDType"
            additionalProperties: false
        SingleEnrollmentDType:
            description: |
                This is the container for a single enrollment instance for a message payload.
            type: object
            required: 
                - enrollment
            x-1edtech-privacy:
                - enrollment
            x-1edtech-confidentiality: normal
            x-1edtech-confidentiality-normal: 
                - enrollment
            properties: 
                enrollment: 
                    $ref: "#/components/schemas/EnrollmentDType"
            additionalProperties: false
        SingleOrgDType:
            description: |
                This is the container for a single org instance for a message payload.
            type: object
            required: 
                - org
            x-1edtech-confidentiality: unrestricted
            properties: 
                org: 
                    $ref: "#/components/schemas/OrgDType"
            additionalProperties: false
        SingleUserDType:
            description: |
                This is the container for a single user instance for a message payload.
            type: object
            required: 
                - user
            x-1edtech-privacy:
                - user
            x-1edtech-confidentiality: restricted
            x-1edtech-confidentiality-restricted: 
                - user
            properties: 
                user: 
                    $ref: "#/components/schemas/UserDType"
            additionalProperties: false
        UserDType:
            description: |
                Users, Teachers and Students are human beings that are teaching or studying in a class respectively. A single User class is used to represent both teachers and students and a role property is used to distinguish a user's natural role.Humans may have relationships with other humans. For example, a student may have parents. The 'agents' attribute allows for relationships between humans to be expressed. Note that these are typically from the point of view of the student - so a student will link to its parents (via the agent attribute). The reverse view MUST also be modeled, so for example, a user of role 'parent' MUST have agents that are of type 'student'. Note: Teachers MUST NOT be set as agents of students i.e. the teaching relationship is covered via enrollments. 
            type: object
            required: 
                - sourcedId
                - status
                - dateLastModified
                - username
                - enabledUser
                - givenName
                - familyName
                - roles
            x-1edtech-privacy:
                - sourcedId
                - userMasterIdentifier
                - username
                - userIds
                - givenName
                - familyName
                - middleName
                - preferredGivenName
                - preferredMiddleName
                - preferredFamilyName
                - pronouns
                - roles
                - userProfiles
                - email
                - sms
                - phone
                - agents
                - metadata
            x-1edtech-confidentiality: restricted
            x-1edtech-confidentiality-normal: 
                - sourcedId
                - userMasterIdentifier
                - username
                - userIds
                - givenName
                - familyName
                - middleName
                - preferredGivenName
                - preferredMiddleName
                - preferredFamilyName
                - pronouns
                - email
                - sms
                - phone
                - agents
                - metadata
            x-1edtech-confidentiality-restricted: 
                - roles
                - userProfiles
            properties: 
                sourcedId: 
                    description: The sourcedId of the object. All objects MUST be identified by a Source Identifier. This is an interoperability System ID for an object. This is the identifier that SYSTEMS will refer to when making API calls, or when needing to identify an object. It is RECOMMENDED that systems are able to map whichever local ids (e.g. database key fields) they use to SourcedId. The sourcedId of an object is considered an addressable property of an entity and as such will not be treated as Personally Identifiable Information (PII) by certified products. Therefore, as a part of certification, vendors will be required to declare that they will notify customers via documentation or other formal and documented agreement that sourcedIds should never contain PII in general. Model Primitive Datatype = String.
                    type: string
                status: 
                    description: |
                        All objects MUST BE either 'active' or 'tobedeleted'. Something which is flagged 'tobedeleted' is to be considered safe to delete. Systems can delete records that are flagged as such if they wish, but they are not under any compulsion to do so. In v1.1 the enumeration value of 'inactive' was removed and so for backwards compatibility all such marked objects should be interpreted as 'tobedeleted'.
                    type: string
                    enum: 
                       - active
                       - tobedeleted
                dateLastModified: 
                    description: All objects MUST be annotated with the dateTime upon which they were last modified. This enables requesters to query for just the latest objects. DateTimes MUST be expressed in the format 'YYYY-MM-DDThh:mm:ss.sssZ' [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
                userMasterIdentifier: 
                    description: The master unique identifier for this user. This is NOT the same as the user's interoperability 'sourcedId'. This should be used to ensure that all of the system identifiers/accounts etc. can be reconciled to the same user. How this identifier is assigned and its format is beyond the scope of this specification. Model Primitive Datatype = NormalizedString.
                    type: string
                username: 
                    description: The user name assigned to the user. NOTE - This has been kept for backwards compatibility with OneRoster 1.1 and the new 'userProfiles' characteristic SHOULD be used instead. Model Primitive Datatype = NormalizedString.
                    type: string
                userIds: 
                    description: |
                        The set of external user identifiers that should be used for this user, if for some reason the sourcedId cannot be used. This might be an active directory id, an LTI id, or some other machine-readable identifier that is used for this person.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/UserIdDType"
                enabledUser: 
                    description: |
                        This is used to determine whether or not the record is active in the local system. 'false' denotes that the record is active but system access is curtailed according to the local administration rules.
                    type: string
                    enum: 
                       - true
                       - false
                givenName: 
                    description: The given name. Also, known as the first name. Model Primitive Datatype = NormalizedString.
                    type: string
                familyName: 
                    description: The family name. Also, known as the last name. Model Primitive Datatype = NormalizedString.
                    type: string
                middleName: 
                    description: The set of middle names. If more than one middle name is needed separate using a space e.g. 'Wingarde Granville'. Model Primitive Datatype = NormalizedString.
                    type: string
                preferredGivenName: 
                    description: The user's preferred given name. This attribute was added in version 1.2. Model Primitive Datatype = NormalizedString.
                    type: string
                preferredMiddleName: 
                    description: The user's preferred middle name(s). This attribute was added in version 1.2. Model Primitive Datatype = NormalizedString.
                    type: string
                preferredFamilyName: 
                    description: The user's preferred family name. This attribute was added in version 1.2. Model Primitive Datatype = NormalizedString.
                    type: string
                pronouns: 
                    description: The pronoun(s) by which this person is referenced. Examples (in the case of English) include 'she/her/hers', 'he/him/his', 'they/them/theirs', 'ze/hir/hir', 'xe/xir', or a statement that the person's name should be used instead of any pronoun. Model Primitive Datatype = NormalizedString.
                    type: string
                roles: 
                    description: |
                        The set of roles for each of the orgs to which the user is affilliated. This is expressed as a set of role/org tuples.
                    type: array
                    minItems: 1
                    items: 
                        $ref: "#/components/schemas/RoleDType"
                userProfiles: 
                    description: |
                        The set of system/app/tool profiles for the user.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/UserProfileDType"
                primaryOrg: 
                    $ref: "#/components/schemas/OrgGUIDRefDType"
                email: 
                    description: The email address for the user. Model Primitive Datatype = NormalizedString.
                    type: string
                sms: 
                    description: The SMS number for the user. Model Primitive Datatype = NormalizedString.
                    type: string
                phone: 
                    description: The phone number for the user. Model Primitive Datatype = NormalizedString.
                    type: string
                agents: 
                    description: |
                        The links to other people i.e. User 'sourcedIds'.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/UserGUIDRefDType"
                grades: 
                    description: Grade(s) for which a user with role 'student' is enrolled. The permitted vocabulary should be defined as part of the adoption and deployment process. See the Implementation Guide [OR-IMPL-12] for more details on how to define/use such a vocabulary. Model Primitive Datatype = NormalizedString.
                    type: array
                    minItems: 0
                    items: 
                        type: string
                resources: 
                    description: |
                        The identifiers (GUIDs) for the set of resources that are to be made available to the user. These are the sourcedIds that should be used for obtaining the metadata about the resources using the OR 1.2 Resources Service [OR-RES-SM-12].
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/ResourceGUIDRefDType"
                metadata: 
                    $ref: "#/components/schemas/MetadataUserDType"
            additionalProperties: false
        UserGUIDRefDType:
            description: |
                This is the container for reference to a OneRoster 'User' object that has an allocated sourcedId (GUID).
            type: object
            required: 
                - href
                - sourcedId
                - type
            x-1edtech-confidentiality: unrestricted
            properties: 
                href: 
                    description: The URI for the type of object being referenced. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                sourcedId: 
                    description: The globally unique identifier of the object being referenced. Model Primitive Datatype = String.
                    type: string
                type: 
                    description: |
                        The type of object being referenced i.e. a 'user'.
                    type: string
                    enum: 
                       - user
            additionalProperties: false
        UserIdDType:
            description: |
                This is the set of external user identifiers that should be used for this user, if for some reason the sourcedId cannot be used. This might be an active directory id, an LTI id, or some other machine-readable identifier that is used for this person.
            type: object
            required: 
                - type
                - identifier
            x-1edtech-privacy:
                - type
                - identifier
            x-1edtech-confidentiality: normal
            x-1edtech-confidentiality-normal: 
                - type
                - identifier
            properties: 
                type: 
                    description: |
                        The type of identifier. This is no predefined vocabuary. In this Profile the data-type has been changed to an enumerated vocabulary.
                    type: string
                    enum: 
                       - feideID
                       - UPN
                       - personFIN
                       - personLIN
                       - personNIN
                       - personNINencrypted
                       - sisID
                       - studentID
                       - username
                       - workforceID
                identifier: 
                    description: The user identifier. Model Primitive Datatype = String.
                    type: string
            additionalProperties: false
        UserProfileDType:
            description: |
                The container for the information about a User Profile that will provide the user with access to some system, application, tool, etc.
            type: object
            required: 
                - profileId
                - profileType
                - vendorId
            x-1edtech-privacy:
                - profileId
                - credentials
            x-1edtech-confidentiality: restricted
            x-1edtech-confidentiality-normal: 
                - profileId
            x-1edtech-confidentiality-restricted: 
                - credentials
            properties: 
                profileId: 
                    description: The unique identifier for the profile. This does not need to be a globally unique identifier but it must be unique within the scope of the user. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                profileType: 
                    description: The type of profile. This should be a human readable label that has some significance in the context of the related system, app, tool, etc. Model Primitive Datatype = NormalizedString.
                    type: string
                vendorId: 
                    description: The unique identifier for the vendor of the system, tool, app, etc. which requires the use of this profile. Model Primitive Datatype = NormalizedString.
                    type: string
                applicationId: 
                    description: Identifier for the application associated with the account. The nature, and how this identifier is assigned is not defined by this specification. This may have a value of 'default' to denote this account should be used for default access to all applications related to this vendor. Model Primitive Datatype = NormalizedString.
                    type: string
                description: 
                    description: A human readable description of the use of the profile. This should not contain any security information for access to the account. Model Primitive Datatype = String.
                    type: string
                credentials: 
                    description: |
                        The set of credentials that are available for access to this profile.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/CredentialDType"
            additionalProperties: false
        UserSetDType:
            description: |
                This is the container for a collection of user instances for a message payload. This may be empty if no instances are found that sustain the applied query constraints. The order is not significant.
            type: object
            x-1edtech-privacy:
                - users
            x-1edtech-confidentiality: restricted
            x-1edtech-confidentiality-restricted: 
                - users
            properties: 
                users: 
                    description: |
                        The collection of user instances. The order is not significant. The corresponding query constraints may result in no instances being returned.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/UserDType"
            additionalProperties: false
        imsx_CodeMinorDType:
            description: |
                This is the container for the set of code minor status codes reported in the responses from the Service Provider.
            type: object
            required: 
                - imsx_codeMinorField
            x-1edtech-confidentiality: unrestricted
            properties: 
                imsx_codeMinorField: 
                    description: |
                        Each reported code minor status code.
                    type: array
                    minItems: 1
                    items: 
                        $ref: "#/components/schemas/imsx_CodeMinorFieldDType"
            additionalProperties: false
        imsx_CodeMinorFieldDType:
            description: |
                This is the container for a single code minor status code.
            type: object
            required: 
                - imsx_codeMinorFieldName
                - imsx_codeMinorFieldValue
            x-1edtech-confidentiality: unrestricted
            properties: 
                imsx_codeMinorFieldName: 
                    description: This should contain the identity of the system that has produced the code minor status code report. In most cases this will be the target service provider denoted as 'TargetEndSystem'. Model Primitive Datatype = NormalizedString.
                    type: string
                    default: TargetEndSystem
                imsx_codeMinorFieldValue: 
                    description: |
                        The code minor status code (this is a value from the corresponding enumerated vocabulary).
                    type: string
                    enum: 
                       - fullsuccess
                       - invalid_filter_field
                       - invalid_selection_field
                       - invaliddata
                       - unauthorisedrequest
                       - forbidden
                       - server_busy
                       - unknownobject
                       - internal_server_error
            additionalProperties: false
        imsx_StatusInfoDType:
            description: |
                This is the container for the status code and associated information returned within the HTTP messages received from the Service Provider. For the OneRoster Rostering service this object will only be returned to provide information about a failed request i.e. it will NOT be in the payload for a successful request. See Appendix B for further information on the interpretation of the information contained within this class.
            type: object
            required: 
                - imsx_codeMajor
                - imsx_severity
            x-1edtech-confidentiality: unrestricted
            properties: 
                imsx_codeMajor: 
                    description: |
                        The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes. The permitted vocabulary for the values for the CodeMajor field.
                    type: string
                    enum: 
                       - success
                       - processing
                       - failure
                       - unsupported
                imsx_severity: 
                    description: |
                        The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
                    type: string
                    enum: 
                       - status
                       - warning
                       - error
                imsx_description: 
                    description: A human readable description supplied by the entity creating the status code information. Model Primitive Datatype = String.
                    type: string
                imsx_CodeMinor: 
                    $ref: "#/components/schemas/imsx_CodeMinorDType"
            additionalProperties: false
        GrepGroupsDType:
            description: |
                This is a new class defined in this Profile to hold information about the defined Grep Groups.
            type: object
            required: 
                - 1edtech.grepType
                - 1edtech.code
                - 1edtech.title
            properties: 
                1edtech.grepType: 
                    description: The type of Grep Group. This is a fixed enumerated vocabulary.
                    type: string
                    enum: 
                       - fagkoder
                       - programomraader
                       - utdanningsprogram
                       - aarstrinn
                1edtech.code: 
                    description: The unique identifier for the Grep Group. Model Primitive Datatype = NormalizedString.
                    type: string
                1edtech.title: 
                    description: Human reabable title for the Grep Group. Model Primitive Datatype = String.
                    type: string
                1edtech.vocabName: 
                    description: |
                        The name of the source vocabulary. This is an extensible enumerated vocabulary.
                    anyOf: 
                        - enum: 
                            - GREP
                            - VIGO
                            - localCode
                          type: string
                        - description: The data-type that enables an enumerated vocabulary to be extended. Model Primitive Datatype = NormalizedString.
                          type: string
                          pattern: "(ext:)[a-zA-Z0-9\\.\\-_]+"
                1edtech.uri: 
                    description: URI for Grep Group. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
            additionalProperties: false
        SubjectCodesDType:
            description: |
                This is a new class defined in this Profile to hold information about the subjectCodes assigned to a Class or Course. This is the preferred mechanism for providing the subject codes information.
            type: object
            required: 
                - 1edtech.code
                - 1edtech.title
            properties: 
                1edtech.code: 
                    description: The subject code from the corresponding identified vocabulary. Model Primitive Datatype = NormalizedString.
                    type: string
                1edtech.title: 
                    description: Human-readable title of the subject. Model Primitive Datatype = String.
                    type: string
                1edtech.vocabName: 
                    description: |
                        The name of the source vocabulary. This is an extensible enumerated vocabulary.
                    anyOf: 
                        - enum: 
                            - GREP
                            - VIGO
                            - localCode
                          type: string
                        - description: The data-type that enables an enumerated vocabulary to be extended. Model Primitive Datatype = NormalizedString.
                          type: string
                          pattern: "(ext:)[a-zA-Z0-9\\.\\-_]+"
                1edtech.uri: 
                    description: URI for the definition of the subject code. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
            additionalProperties: false
