  openapi: "3.0.1"
  info: 
    title: "OneRoster OpenAPI (JSON) Definition"
    description: "The OneRoster service binding is available in WSDL/XSD and REST/JSON. The model is based upon the IMS PSM modelling approach."
    contact: 
      email: "arquitetura.ti@ftd.com.br"
    version: "1.1"
  servers: 
    - 
      url: "https://backend-dev.ftd.com.br"
    - 
      url: "https://backend-hml.ftd.com.br"
    - 
      url: "https://backend-prd.ftd.com.br"
  security: 
    - 
      default: []
  tags: 
    - 
      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: "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: "UsersManagement"
      description: "This enables the management of information about users (this includes the set of 'students' and 'teachers')."
  paths: 
    /classes: 
      get: 
        tags: 
          - "ClassesManagement"
        summary: "The REST read request message for the getClasses() API call."
        description: "To read, get, a collection of classes i.e. all classes."
        operationId: "getClasses"
        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
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          - 
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          - 
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Classes.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /classes/{classSourcedId}/students: 
      get: 
        tags: 
          - "ClassesManagement"
        summary: "The REST read request message for the getStudentsForClass() API call."
        description: "...not supplied..."
        operationId: "getStudentsForClass"
        parameters: 
          - 
            name: "classSourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
          -
            name: "limit"
            in: "query"
            description: "To define the download segmentation value i.e. the maximum number of records to be contained in the response."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Users.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /classes/{classSourcedId}/teachers: 
      get: 
        tags: 
          - "ClassesManagement"
        summary: "The REST read request message for the getTeachersForClass() API call."
        description: "...not supplied..."
        operationId: "getTeachersForClass"
        parameters: 
          - 
            name: "classSourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
          -
            name: "limit"
            in: "query"
            description: "To define the download segmentation value i.e. the maximum number of records to be contained in the response."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Users.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /classes/{sourcedId}: 
      get: 
        tags: 
          - "ClassesManagement"
        summary: "The REST read request message for the getClass() API call."
        description: "To read, get, a specific class."
        operationId: "getClass"
        parameters: 
          - 
            name: "sourcedId"
            in: "path"
            description: "The unique identifier for this class."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/SingleClass.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /courses: 
      get: 
        tags: 
          - "CoursesManagement"
        summary: "The REST read request message for the getCourses() API call."
        description: "To read, get, a collection of courses i.e. all courses."
        operationId: "getCourses"
        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
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          - 
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          - 
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Courses.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /courses/{courseSourcedId}/classes: 
      get: 
        tags: 
          - "CoursesManagement"
        summary: "The REST read request message for the getClassesForCourse() API call."
        description: "...not supplied..."
        operationId: "getClassesForCourse"
        parameters: 
          - 
            name: "courseSourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
          -
            name: "limit"
            in: "query"
            description: "To define the download segmentation value i.e. the maximum number of records to be contained in the response."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Classes.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /courses/{sourcedId}: 
      get: 
        tags: 
          - "CoursesManagement"
        summary: "The REST read request message for the getCourse() API call."
        description: "To read, get, a specific course."
        operationId: "getCourse"
        parameters: 
          - 
            name: "sourcedId"
            in: "path"
            description: "The unique identifier for this course."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/SingleCourse.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /orgs: 
      get: 
        tags: 
          - "OrgsManagement"
        summary: "The REST read request message for the getOrgs() API call."
        description: "...not supplied..."
        operationId: "getOrgs"
        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
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          - 
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          - 
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Orgs.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /orgs/{sourcedId}: 
      get: 
        tags: 
          - "OrgsManagement"
        summary: "The REST read request message for the getOrg() API call."
        description: "...not supplied..."
        operationId: "getOrg"
        parameters: 
          - 
            name: "sourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/SingleOrg.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /schools: 
      get: 
        tags: 
          - "SchoolsManagement"
        summary: "The REST read request message for the getSchools() API call."
        description: "...not supplied..."
        operationId: "getSchools"
        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
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Orgs.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /schools/{schoolSourcedId}/classes: 
      get: 
        tags: 
          - "SchoolsManagement"
        summary: "The REST read request message for the getClassesForSchool() API call."
        description: "...not supplied..."
        operationId: "getClassesForSchool"
        parameters: 
          - 
            name: "schoolSourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
          -
            name: "limit"
            in: "query"
            description: "To define the download segmentation value i.e. the maximum number of records to be contained in the response."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Classes.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /schools/{schoolSourcedId}/classes/{classSourcedId}/students: 
      get: 
        tags: 
          - "SchoolsManagement"
        summary: "The REST read request message for the getStudentsForClassInSchool() API call."
        description: "...not supplied..."
        operationId: "getStudentsForClassInSchool"
        parameters: 
          - 
            name: "schoolSourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
          - 
            name: "classSourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
          -
            name: "limit"
            in: "query"
            description: "To define the download segmentation value i.e. the maximum number of records to be contained in the response."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Users.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /schools/{schoolSourcedId}/classes/{classSourcedId}/teachers: 
      get: 
        tags: 
          - "SchoolsManagement"
        summary: "The REST read request message for the getTeachersForClassInSchool() API call."
        description: "...not supplied..."
        operationId: "getTeachersForClassInSchool"
        parameters: 
          - 
            name: "schoolSourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
          - 
            name: "classSourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
          -
            name: "limit"
            in: "query"
            description: "To define the download segmentation value i.e. the maximum number of records to be contained in the response."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Users.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /schools/{schoolSourcedId}/courses: 
      get: 
        tags: 
          - "SchoolsManagement"
        summary: "The REST read request message for the getCoursesForSchool() API call."
        description: "...not supplied..."
        operationId: "getCoursesForSchool"
        parameters: 
          - 
            name: "schoolSourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
          -
            name: "limit"
            in: "query"
            description: "To define the download segmentation value i.e. the maximum number of records to be contained in the response."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Courses.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /schools/{schoolSourcedId}/students: 
      get: 
        tags: 
          - "SchoolsManagement"
        summary: "The REST read request message for the getStudentsForSchool() API call."
        description: "...not supplied..."
        operationId: "getStudentsForSchool"
        parameters: 
          - 
            name: "schoolSourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
          -
            name: "limit"
            in: "query"
            description: "To define the download segmentation value i.e. the maximum number of records to be contained in the response."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Users.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /schools/{schoolSourcedId}/teachers: 
      get: 
        tags: 
          - "SchoolsManagement"
        summary: "The REST read request message for the getTeachersForSchool() API call."
        description: "...not supplied..."
        operationId: "getTeachersForSchool"
        parameters: 
          - 
            name: "schoolSourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
          -
            name: "limit"
            in: "query"
            description: "To define the download segmentation value i.e. the maximum number of records to be contained in the response."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Users.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /schools/{sourcedId}: 
      get: 
        tags: 
          - "SchoolsManagement"
        summary: "The REST read request message for the getSchool() API call."
        description: "...not supplied..."
        operationId: "getSchool"
        parameters: 
          - 
            name: "sourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/SingleOrg.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /students: 
      get: 
        tags: 
          - "StudentsManagement"
        summary: "The REST read request message for the getStudents() API call."
        description: "...not supplied..."
        operationId: "getStudents"
        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
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Users.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /students/{sourcedId}: 
      get: 
        tags: 
          - "StudentsManagement"
        summary: "The REST read request message for the getStudent() API call."
        description: "...not supplied..."
        operationId: "getStudent"
        parameters: 
          - 
            name: "sourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/SingleUser.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /students/{studentSourcedId}/classes: 
      get: 
        tags: 
          - "StudentsManagement"
        summary: "The REST read request message for the getClassesForStudent() API call."
        description: "...not supplied..."
        operationId: "getClassesForStudent"
        parameters: 
          - 
            name: "studentSourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
          -
            name: "limit"
            in: "query"
            description: "To define the download segmentation value i.e. the maximum number of records to be contained in the response."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Classes.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /teachers: 
      get: 
        tags: 
          - "TeachersManagement"
        summary: "The REST read request message for the getTeachers() API call."
        description: "...not supplied..."
        operationId: "getTeachers"
        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
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Users.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /teachers/{sourcedId}: 
      get: 
        tags: 
          - "TeachersManagement"
        summary: "The REST read request message for the getTeacher() API call."
        description: "...not supplied..."
        operationId: "getTeacher"
        parameters: 
          - 
            name: "sourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/SingleUser.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /teachers/{teacherSourcedId}/classes: 
      get: 
        tags: 
          - "TeachersManagement"
        summary: "The REST read request message for the getClassesForTeacher() API call."
        description: "...not supplied..."
        operationId: "getClassesForTeacher"
        parameters: 
          - 
            name: "teacherSourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
          -
            name: "limit"
            in: "query"
            description: "To define the download segmentation value i.e. the maximum number of records to be contained in the response."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Classes.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /users: 
      get: 
        tags: 
          - "UsersManagement"
        summary: "The REST read request message for the getUsers() API call."
        description: "...not supplied..."
        operationId: "getUsers"
        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
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Users.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /users/{sourcedId}: 
      get: 
        tags: 
          - "UsersManagement"
        summary: "The REST read request message for the getUser() API call."
        description: "...not supplied..."
        operationId: "getUser"
        parameters: 
          - 
            name: "sourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/SingleUser.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
    /users/{userSourcedId}/classes: 
      get: 
        tags: 
          - "UsersManagement"
        summary: "The REST read request message for the getClassesForUser() API call."
        description: "...not supplied..."
        operationId: "getClassesForUser"
        parameters: 
          - 
            name: "userSourcedId"
            in: "path"
            description: "...tbd..."
            required: true
            style: "simple"
            explode: false
            schema: 
              type: "string"
          -
            name: "limit"
            in: "query"
            description: "To define the download segmentation value i.e. the maximum number of records to be contained in the response."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 1
              type: "integer"
              format: "int32"
              default: 100
          -
            name: "offset"
            in: "query"
            description: "The number of the first record to be supplied in the segmented response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              minimum: 0
              type: "integer"
              format: "int32"
              default: 0
          -
            name: "sort"
            in: "query"
            description: "Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "orderBy"
            in: "query"
            description: "The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc)."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
              enum: 
                - "acs"
                - "desc"
          - 
            name: "filter"
            in: "query"
            description: "The filtering rules to be applied when identifying the records to be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: true
            schema: 
              type: "string"
          - 
            name: "fields"
            in: "query"
            description: "To identify the range of fields that should be supplied in the response message."
            required: false
            allowEmptyValue: false
            style: "form"
            explode: false
            schema: 
              type: "array"
              items: 
                type: "string"
        responses: 
          200: 
            description: "...tbd..."
            headers: 
              X-Total-Count: 
                description: "The total number of resources that are available"
                style: "simple"
                explode: false
                schema: 
                  type: "integer"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/Classes.Type"
          default: 
            description: "StatusInfo Error Report"
            content: 
              application/json: 
                schema: 
                  $ref: "#/components/schemas/imsx_StatusInfo.Type"
        security: 
          - 
            default: []
        x-auth-type: null
        x-throttling-tier: null
        x-wso2-application-security: 
          security-types: 
            - "oauth2"
          optional: false
  components: 
    schemas: 
      Base.Type: 
        required: 
          - "dateLastModified"
          - "sourcedId"
          - "status"
        type: "object"
        properties: 
          sourcedId: 
            $ref: "#/components/schemas/GUID.Type"
          status: 
            type: "string"
            enum: 
              - "active"
              - "tobedeleted"
          dateLastModified: 
            type: "string"
            description: "Model Primitive Datatype = DateTime"
            format: "date-time"
        description: "...tbd (Class description)..."
      Class.Type: 
        description: "...tbd (Class description)..."
        allOf: 
          - 
            $ref: "#/components/schemas/Base.Type"
          - 
            required: 
              - "school"
              - "title"
            type: "object"
            properties: 
              title: 
                type: "string"
                description: "Model Primitive Datatype = NormalizedString"
              classCode: 
                type: "string"
                description: "Model Primitive Datatype = NormalizedString"
              school: 
                $ref: "#/components/schemas/GUIDRef.Type"
      Classes.Type: 
        type: "object"
        properties: 
          classes: 
            minItems: 0
            type: "array"
            items: 
              $ref: "#/components/schemas/Class.Type"
        description: "...tbd (Class description)..."
      Course.Type: 
        description: "...tbd (Class description)..."
        allOf: 
          - 
            $ref: "#/components/schemas/Base.Type"
          - 
            required: 
              - "courseCode"
              - "title"
            type: "object"
            properties: 
              title: 
                type: "string"
                description: "Model Primitive Datatype = NormalizedString"
              courseCode: 
                type: "string"
                description: "Model Primitive Datatype = NormalizedString"
              org: 
                $ref: "#/components/schemas/GUIDRef.Type"
      Courses.Type: 
        type: "object"
        properties: 
          courses: 
            minItems: 0
            type: "array"
            items: 
              $ref: "#/components/schemas/Course.Type"
        description: "...tbd (Class description)..."
      GUID.Type: 
        type: "string"
        description: "...tbd (Class description)..."
      GUIDRef.Type: 
        required: 
          - "href"
          - "sourcedId"
          - "type"
        type: "object"
        properties: 
          href: 
            type: "string"
            description: "Model Primitive Datatype = AnyURI"
            format: "uri"
          sourcedId: 
            $ref: "#/components/schemas/GUID.Type"
          type: 
            type: "string"
            enum: 
              - "academicSession"
              - "category"
              - "class"
              - "course"
              - "enrollment"
              - "lineItem"
              - "org"
              - "resource"
              - "result"
              - "student"
              - "teacher"
              - "user"
              - "term"
              - "gradingPeriod"
        description: "...tbd (Class description)..."
      Identifier.Type: 
        type: "string"
        description: "...tbd (Class description)..."
      Org.Type: 
        description: "...tbd (Class description)..."
        allOf: 
          - 
            $ref: "#/components/schemas/Base.Type"
          - 
            required: 
              - "identifier"
              - "name"
              - "type"
            type: "object"
            properties: 
              name: 
                type: "string"
                description: "Model Primitive Datatype = NormalizedString"
              type: 
                type: "string"
                enum: 
                  - "department"
                  - "district"
                  - "local"
                  - "national"
                  - "school"
                  - "state"
              identifier: 
                $ref: "#/components/schemas/Identifier.Type"
      Orgs.Type: 
        type: "object"
        properties: 
          orgs: 
            minItems: 0
            type: "array"
            items: 
              $ref: "#/components/schemas/Org.Type"
        description: "...tbd (Class description)..."
      SingleClass.Type: 
        required: 
          - "class"
        type: "object"
        properties: 
          class: 
            $ref: "#/components/schemas/Class.Type"
        description: "...tbd (Class description)..."
      SingleCourse.Type: 
        required: 
          - "course"
        type: "object"
        properties: 
          course: 
            $ref: "#/components/schemas/Course.Type"
        description: "...tbd (Class description)..."
      SingleOrg.Type: 
        required: 
          - "org"
        type: "object"
        properties: 
          org: 
            $ref: "#/components/schemas/Org.Type"
        description: "...tbd (Class description)..."
      SingleUser.Type: 
        required: 
          - "user"
        type: "object"
        properties: 
          user: 
            $ref: "#/components/schemas/User.Type"
        description: "...tbd (Class description)..."
      User.Type: 
        description: "...tbd (Class description)..."
        allOf: 
          - 
            $ref: "#/components/schemas/Base.Type"
          - 
            required: 
              - "familyName"
              - "givenName"
              - "orgs"
              - "role"
              - "username"
            type: "object"
            properties: 
              username: 
                type: "string"
                description: "Model Primitive Datatype = NormalizedString"
              givenName: 
                type: "string"
                description: "Model Primitive Datatype = NormalizedString"
              familyName: 
                type: "string"
                description: "Model Primitive Datatype = NormalizedString"
              role: 
                type: "string"
                enum: 
                  - "loja"
                  - "editorial admin"
                  - "school admin"
                  - "student"
                  - "teacher"
              orgs: 
                minItems: 1
                type: "array"
                items: 
                  $ref: "#/components/schemas/GUIDRef.Type"
              password: 
                type: "string"
                description: "Model Primitive Datatype = String"
      Users.Type: 
        type: "object"
        properties: 
          users: 
            minItems: 0
            type: "array"
            items: 
              $ref: "#/components/schemas/User.Type"
        description: "...tbd (Class description)..."
      imsx_CodeMinor.Type: 
        required: 
          - "imsx_codeMinorField"
        type: "object"
        properties: 
          imsx_codeMinorField: 
            minItems: 1
            type: "array"
            items: 
              $ref: "#/components/schemas/imsx_CodeMinorField.Type"
        description: "...tbd (Class description)..."
      imsx_CodeMinorField.Type: 
        required: 
          - "imsx_codeMinorFieldName"
          - "imsx_codeMinorFieldValue"
        type: "object"
        properties: 
          imsx_codeMinorFieldName: 
            type: "string"
            description: "Model Primitive Datatype = NormalizedString"
          imsx_codeMinorFieldValue: 
            type: "string"
            enum: 
              - "fullsuccess"
              - "invalid_sort_field"
              - "invalid_selection_field"
              - "invaliddata"
              - "unauthorisedrequest"
              - "linkfailure"
              - "unsupportedoperation"
              - "deletefailure"
              - "unknownobject"
              - "targetreadfailure"
        description: "...tbd (Class description)..."
      imsx_StatusInfo.Type: 
        required: 
          - "imsx_codeMajor"
          - "imsx_messageRefIdentifier"
          - "imsx_severity"
        type: "object"
        properties: 
          imsx_codeMajor: 
            type: "string"
            enum: 
              - "success"
              - "processing"
              - "failure"
              - "unsupported"
          imsx_severity: 
            type: "string"
            enum: 
              - "status"
              - "warning"
              - "error"
          imsx_messageRefIdentifier: 
            type: "string"
            description: "Model Primitive Datatype = NormalizedString"
          imsx_operationRefIdentifier: 
            minItems: 0
            type: "array"
            description: "Model Primitive Datatype = NormalizedString"
            items: 
              type: "string"
          imsx_description: 
            type: "string"
            description: "Model Primitive Datatype = String"
          imsx_CodeMinor: 
            $ref: "#/components/schemas/imsx_CodeMinor.Type"
        description: "...tbd (Class description)..."
    securitySchemes: 
      OAuth2Security: 
        type: "oauth2"
        description: "The standard usage of OAuth 2.0 by IMS Global"
        flows: 
          password: 
            tokenUrl: "http://www.imsglobal.org"
            scopes: 
              user: "All User Endpoints"
      default: 
        type: "oauth2"
        flows: 
          implicit: 
            authorizationUrl: "https://test.com"
            scopes: {}
