openapi: 3.1.0
info:
  title: CASE API
  version: 1.0.0
  description: >
    Timeback Platform's implementation of the 1EdTech CASE API (Competencies and Academic Standards Exchange) -
    https://www.1edtech.org/standards/case


    # Authentication


    All endpoints require authentication using the `Authorization: Bearer <token>` header.


    The token can be obtained with:


    ```

    curl -X POST https://prod-beyond-timeback-api-2-idp.auth.us-east-1.amazoncognito.com/oauth2/token \

    -H "Content-Type: application/x-www-form-urlencoded" \

    -d "grant_type=client_credentials&client_id=<your-client-id>&client_secret=<your-client-secret>"

    ```


    Use the correct IDP server depending on the environment you're using:


    IDP Server for this environment:

    ```

    https://prod-beyond-timeback-api-2-idp.auth.us-east-1.amazoncognito.com

    ```


    Reach out to the platform team to get a client/secret pair for your application.


    # Pagination


    Our API uses offset pagination for list endpoints. Paginated responses include the following fields:


    - `offset`: Offset for the next page of results

    - `limit`: Number of items per page (default: 100, maximum: 3000)


    **Note:** While the OneRoster specification does not define a maximum limit, this implementation enforces a maximum
    of 3000 items per page to prevent abuse and ensure optimal performance.


    Example request:


    ```

    GET /ims/oneroster/rostering/v1p2/users?offset=20&limit=20

    ```


    All listing endpoints support offset pagination.


    # Filtering


    All listing endpoints support filtering using the `filter` query parameter, following 1EdTech's filtering
    specification.


    The filter should be a string with the following format:


    ```

    ?filter=[field][operator][value]

    ```


    Example request:


    ```

    GET /ims/oneroster/rostering/v1p2/users?filter=status='active'

    ```


    Example request with multiple filters:


    ```

    GET /ims/oneroster/rostering/v1p2/users?filter=status='active' AND name='John'

    ```


    **Filtering by nested relations is not supported**.


    # Sorting


    All listing endpoints support sorting using the `sort` and `orderBy` query parameters, following 1EdTech's sorting
    specification


    Example request:


    ```

    GET /ims/oneroster/rostering/v1p2/users?sort=lastName&orderBy=asc

    ```


    # Proprietary Extensions


    This implementation includes proprietary extensions that extend beyond the official OneRoster 1.2 specification to
    provide additional functionality.


    ## Search Parameter


    In addition to the standard `filter` parameter, this implementation provides a `search` query parameter for
    simplified free-text searching:


    ```

    GET /ims/oneroster/rostering/v1p2/users?search=john

    ```


    **Purpose**: The `search` parameter enables convenient text-based queries across multiple fields simultaneously,
    whereas the standard `filter` parameter requires specifying exact field names and operators:


    ```

    # Search parameter - searches across multiple fields automatically

    GET /ims/oneroster/rostering/v1p2/users?search=john


    # Equivalent using standard filter parameter

    GET /ims/oneroster/rostering/v1p2/users?filter=givenName~'john' OR familyName~'john'

    ```


    The `search` parameter performs case-insensitive partial matching across predefined fields for each endpoint,
    providing a more user-friendly querying experience.


    ## OneRoster 1.2 Standard Parameters


    The official OneRoster 1.2 specification defines these standard parameters:


    - `limit` - pagination limit

    - `offset` - pagination offset

    - `sort` - field to sort by

    - `orderBy` - sort direction (asc/desc)

    - `filter` - filtering expression

    - `fields` - field selection


    ## Affected Endpoints


    The proprietary `search` parameter is available on the following endpoints:


    **Rostering API**:


    - `GET /ims/oneroster/rostering/v1p2/academicSessions/`

    - `GET /ims/oneroster/rostering/v1p2/classes/`

    - `GET /ims/oneroster/rostering/v1p2/classes/{classSourcedId}/students`

    - `GET /ims/oneroster/rostering/v1p2/classes/{classSourcedId}/teachers`

    - `GET /ims/oneroster/rostering/v1p2/courses/`

    - `GET /ims/oneroster/rostering/v1p2/courses/{courseSourcedId}/classes`

    - `GET /ims/oneroster/rostering/v1p2/demographics/`

    - `GET /ims/oneroster/rostering/v1p2/enrollments/`

    - `GET /ims/oneroster/rostering/v1p2/schools/{schoolSourcedId}/classes/{classSourcedId}/students`

    - `GET /ims/oneroster/rostering/v1p2/users/`


    **Gradebook API**:


    - `GET /ims/oneroster/gradebook/v1p2/assessmentLineItems/`

    - `GET /ims/oneroster/gradebook/v1p2/assessmentResults/`

    - `GET /ims/oneroster/gradebook/v1p2/classes/{classSourcedId}/students/{studentSourcedId}/results`

    - `GET /ims/oneroster/gradebook/v1p2/results/`


    **Resources API**:


    - `GET /ims/oneroster/resources/v1p2/resources/`


    ## Parameter Usage Guide


    ### Filter Parameter


    The standard `filter` parameter provides precise control over queries using these operators:


    - `=` - Exact match

    - `!=` - Not equal

    - `~` - Contains (case-insensitive)

    - `>`, `>=`, `<`, `<=` - Comparison operators

    - `@` - In list (comma-separated values)


    ### Logical Operators


    Combine multiple conditions in filter expressions:


    - `AND` - Both conditions must be true

    - `OR` - Either condition must be true


    ### Usage Examples


    ```bash

    # Simple text search across multiple fields

    GET /users?search=john


    # Equivalent precise filtering

    GET /users?filter=givenName~'john' OR familyName~'john'


    # Complex filtering with multiple conditions

    GET /users?filter=status='active' AND givenName~'john'


    # Advanced filtering with different operators

    GET /users?filter=dateLastModified>'2023-01-01' AND status='active'

    ```


    ## Search Fields by Endpoint


    Different endpoints search across these predefined fields:


    - **Users**: `givenName`, `familyName`, `email`

    - **Courses**: `title`, `courseCode`

    - **Classes**: `title`

    - **Organizations**: `name`


    ## Interoperability Notes


    The `search` parameter is a proprietary extension specific to this implementation. Other OneRoster-compliant systems
    may only support the standard `filter` parameter. When building applications that need to work with multiple
    OneRoster providers, consider using the standard filtering approach.


    ## Additional Schema Fields


    ### AssessmentLineItem Extensions


    The AssessmentLineItem schema includes two proprietary fields that extend curriculum mapping capabilities:


    #### Component Field


    - **Field**: `component`

    - **Type**: Object reference (`{ sourcedId: string }`)

    - **Purpose**: Direct association between assessment line items and course components, enabling enhanced curriculum
    mapping and learning pathway tracking.


    #### ComponentResource Field


    - **Field**: `componentResource`

    - **Type**: Object reference (`{ sourcedId: string }`)

    - **Purpose**: Direct association between assessment line items and specific learning resources, supporting detailed
    content-to-assessment relationships and adaptive learning features.


    **Example Usage**:


    ```json

    {
      "sourcedId": "assessment-123",
      "title": "Chapter 5 Quiz",
      "component": { "sourcedId": "component-456" },
      "componentResource": { "sourcedId": "resource-789" }
    }

    ```


    ## Affected Endpoints


    ### Schema Extensions Availability


    The proprietary schema fields are available in:


    **Gradebook API**:


    - `GET /ims/oneroster/gradebook/v1p2/assessmentLineItems/` - Returns assessmentLineItems with `component` and
    `componentResource` fields

    - `GET /ims/oneroster/gradebook/v1p2/assessmentLineItems/{sourcedId}` - Returns individual assessmentLineItem with
    extended fields

    - `POST /ims/oneroster/gradebook/v1p2/assessmentLineItems/` - Accepts `component` and `componentResource` in request
    body

    - `PUT /ims/oneroster/gradebook/v1p2/assessmentLineItems/{sourcedId}` - Accepts extended fields for updates
servers:
  - url: https://api.alpha-1edtech.ai
    description: CASE API
tags:
  - name: Learning Standards
    description: Manage learning standards and competency frameworks
security:
  - OAuth2: []
paths:
  /ims/case/v1p1/CFAssociations/{sourcedId}:
    get:
      operationId: getCFAssociation
      summary: Get Association by ID
      description: Returns a specific CASE Association identified by its sourcedId
      tags:
        - Learning Standards
      parameters:
        - name: sourcedId
          description: The sourcedId of the CASE Association
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: CASE Association
          content:
            application/json:
              schema:
                type: object
                properties:
                  CFAssociation:
                    type: object
                    properties:
                      sourcedId:
                        type: string
                        format: uuid
                      associationType:
                        type: string
                      sequenceNumber:
                        type:
                          - integer
                          - "null"
                      uri:
                        type: string
                        format: uri
                      originNodeURI:
                        type: object
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                      destinationNodeURI:
                        type: object
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                      CFAssociationGroupingURI:
                        type:
                          - object
                          - "null"
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                      lastChangeDateTime:
                        type: string
                        format: date-time
                      notes:
                        type:
                          - string
                          - "null"
                      extensions:
                        type:
                          - object
                          - "null"
                        additionalProperties: {}
                      CFDocumentURI:
                        type:
                          - object
                          - "null"
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                    required:
                      - sourcedId
                      - associationType
                      - uri
                      - originNodeURI
                      - destinationNodeURI
                      - lastChangeDateTime
                    description: Represents a relationship between framework items.
                required:
                  - CFAssociation
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedRequestResponse"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundResponse"
        "422":
          description: Unprocessable Entity / Validation Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnprocessableEntityResponse"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TooManyRequestsResponse"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalServerErrorResponse"
  /ims/case/v1p1/CFDocuments:
    get:
      operationId: getAllCFDocuments
      summary: Get All Documents
      description: Returns a collection of all CASE documents in the system
      tags:
        - Learning Standards
      responses:
        "200":
          description: Collection of CASE Documents
          content:
            application/json:
              schema:
                type: object
                properties:
                  CFDocuments:
                    type: array
                    items:
                      type: object
                      properties:
                        sourcedId:
                          type: string
                          format: uuid
                        title:
                          type: string
                        uri:
                          type: string
                          format: uri
                        frameworkType:
                          type:
                            - string
                            - "null"
                        caseVersion:
                          type:
                            - string
                            - "null"
                          enum:
                            - "1.1"
                            - null
                        creator:
                          type: string
                        lastChangeDateTime:
                          type: string
                          format: date-time
                        officialSourceURL:
                          type:
                            - string
                            - "null"
                          format: uri
                        publisher:
                          type:
                            - string
                            - "null"
                        description:
                          type:
                            - string
                            - "null"
                        subject:
                          type:
                            - array
                            - "null"
                          items:
                            type: string
                        subjectURI:
                          type:
                            - array
                            - "null"
                          items:
                            type: object
                            properties:
                              sourcedId:
                                type: string
                                format: uuid
                              title:
                                type: string
                              uri:
                                type: string
                                format: uri
                            required:
                              - sourcedId
                              - title
                              - uri
                        language:
                          type:
                            - string
                            - "null"
                        version:
                          type:
                            - string
                            - "null"
                        adoptionStatus:
                          type:
                            - string
                            - "null"
                        statusStartDate:
                          type:
                            - string
                            - "null"
                          format: date
                        statusEndDate:
                          type:
                            - string
                            - "null"
                          format: date
                        licenseURI:
                          type:
                            - object
                            - "null"
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                        notes:
                          type:
                            - string
                            - "null"
                        extensions:
                          type:
                            - object
                            - "null"
                          additionalProperties: {}
                        CFPackageURI:
                          type: object
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                      required:
                        - sourcedId
                        - title
                        - uri
                        - creator
                        - lastChangeDateTime
                        - CFPackageURI
                      description: Represents a Competency Framework Document.
                    minItems: 1
                required:
                  - CFDocuments
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedRequestResponse"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundResponse"
        "422":
          description: Unprocessable Entity / Validation Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnprocessableEntityResponse"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TooManyRequestsResponse"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalServerErrorResponse"
  /ims/case/v1p1/CFDocuments/{sourcedId}:
    get:
      operationId: getCFDocument
      summary: Get Document by ID
      description: Returns a specific CASE Document identified by its sourcedId
      tags:
        - Learning Standards
      parameters:
        - name: sourcedId
          description: The sourcedId of the CASE Document
          in: path
          required: true
          schema:
            type: string
        - in: query
          name: fields
          description: Comma-separated list of fields to include in the response
          schema:
            type: string
            description: Comma-separated list of fields to include in the response
            example: sourcedId,name
      responses:
        "200":
          description: CASE Document
          content:
            application/json:
              schema:
                type: object
                properties:
                  CFDocument:
                    type: object
                    properties:
                      sourcedId:
                        type: string
                        format: uuid
                      title:
                        type: string
                      uri:
                        type: string
                        format: uri
                      frameworkType:
                        type:
                          - string
                          - "null"
                      caseVersion:
                        type:
                          - string
                          - "null"
                        enum:
                          - "1.1"
                          - null
                      creator:
                        type: string
                      lastChangeDateTime:
                        type: string
                        format: date-time
                      officialSourceURL:
                        type:
                          - string
                          - "null"
                        format: uri
                      publisher:
                        type:
                          - string
                          - "null"
                      description:
                        type:
                          - string
                          - "null"
                      subject:
                        type:
                          - array
                          - "null"
                        items:
                          type: string
                      subjectURI:
                        type:
                          - array
                          - "null"
                        items:
                          type: object
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                      language:
                        type:
                          - string
                          - "null"
                      version:
                        type:
                          - string
                          - "null"
                      adoptionStatus:
                        type:
                          - string
                          - "null"
                      statusStartDate:
                        type:
                          - string
                          - "null"
                        format: date
                      statusEndDate:
                        type:
                          - string
                          - "null"
                        format: date
                      licenseURI:
                        type:
                          - object
                          - "null"
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                      notes:
                        type:
                          - string
                          - "null"
                      extensions:
                        type:
                          - object
                          - "null"
                        additionalProperties: {}
                      CFPackageURI:
                        type: object
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                    required:
                      - sourcedId
                      - title
                      - uri
                      - creator
                      - lastChangeDateTime
                      - CFPackageURI
                    description: Represents a Competency Framework Document.
                required:
                  - CFDocument
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedRequestResponse"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundResponse"
        "422":
          description: Unprocessable Entity / Validation Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnprocessableEntityResponse"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TooManyRequestsResponse"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalServerErrorResponse"
  /ims/case/v1p1/CFItems:
    get:
      operationId: getAllCFItems
      summary: Get All Items
      description: Returns a collection of all CASE Items
      tags:
        - Learning Standards
      responses:
        "200":
          description: Collection of CASE Items
          content:
            application/json:
              schema:
                type: object
                properties:
                  CFItems:
                    type: array
                    items:
                      type: object
                      properties:
                        sourcedId:
                          type: string
                          format: uuid
                        fullStatement:
                          type: string
                        alternativeLabel:
                          type:
                            - string
                            - "null"
                        CFItemType:
                          type: string
                        uri:
                          type: string
                          format: uri
                        humanCodingScheme:
                          type:
                            - string
                            - "null"
                        listEnumeration:
                          type:
                            - string
                            - "null"
                        abbreviatedStatement:
                          type:
                            - string
                            - "null"
                        conceptKeywords:
                          type:
                            - array
                            - "null"
                          items:
                            type: string
                        conceptKeywordsURI:
                          type:
                            - object
                            - "null"
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                        notes:
                          type:
                            - string
                            - "null"
                        subject:
                          type:
                            - array
                            - "null"
                          items:
                            type: string
                        subjectURI:
                          type:
                            - array
                            - "null"
                          items:
                            type: object
                            properties:
                              sourcedId:
                                type: string
                                format: uuid
                              title:
                                type: string
                              uri:
                                type: string
                                format: uri
                            required:
                              - sourcedId
                              - title
                              - uri
                        language:
                          type:
                            - string
                            - "null"
                        educationLevel:
                          type:
                            - array
                            - "null"
                          items:
                            type: string
                        CFItemTypeURI:
                          type:
                            - object
                            - "null"
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                        licenseURI:
                          type:
                            - object
                            - "null"
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                        statusStartDate:
                          type:
                            - string
                            - "null"
                          format: date
                        statusEndDate:
                          type:
                            - string
                            - "null"
                          format: date
                        lastChangeDateTime:
                          type: string
                          format: date-time
                        extensions:
                          type:
                            - object
                            - "null"
                          additionalProperties: {}
                        CFDocumentURI:
                          type:
                            - object
                            - "null"
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                      required:
                        - sourcedId
                        - fullStatement
                        - CFItemType
                        - uri
                        - lastChangeDateTime
                      description: Represents an item in a competency framework.
                required:
                  - CFItems
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedRequestResponse"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundResponse"
        "422":
          description: Unprocessable Entity / Validation Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnprocessableEntityResponse"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TooManyRequestsResponse"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalServerErrorResponse"
  /ims/case/v1p1/CFItems/{sourcedId}:
    get:
      operationId: getCFItem
      summary: Get Item by ID
      description: Returns a specific CASE Item identified by its sourcedId
      tags:
        - Learning Standards
      parameters:
        - name: sourcedId
          description: The sourcedId of the CASE Item
          in: path
          required: true
          schema:
            type: string
        - in: query
          name: fields
          description: Comma-separated list of fields to include in the response
          schema:
            type: string
            description: Comma-separated list of fields to include in the response
            example: sourcedId,name
      responses:
        "200":
          description: CASE Item
          content:
            application/json:
              schema:
                type: object
                properties:
                  CFItem:
                    type: object
                    properties:
                      sourcedId:
                        type: string
                        format: uuid
                      fullStatement:
                        type: string
                      alternativeLabel:
                        type:
                          - string
                          - "null"
                      CFItemType:
                        type: string
                      uri:
                        type: string
                        format: uri
                      humanCodingScheme:
                        type:
                          - string
                          - "null"
                      listEnumeration:
                        type:
                          - string
                          - "null"
                      abbreviatedStatement:
                        type:
                          - string
                          - "null"
                      conceptKeywords:
                        type:
                          - array
                          - "null"
                        items:
                          type: string
                      conceptKeywordsURI:
                        type:
                          - object
                          - "null"
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                      notes:
                        type:
                          - string
                          - "null"
                      subject:
                        type:
                          - array
                          - "null"
                        items:
                          type: string
                      subjectURI:
                        type:
                          - array
                          - "null"
                        items:
                          type: object
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                      language:
                        type:
                          - string
                          - "null"
                      educationLevel:
                        type:
                          - array
                          - "null"
                        items:
                          type: string
                      CFItemTypeURI:
                        type:
                          - object
                          - "null"
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                      licenseURI:
                        type:
                          - object
                          - "null"
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                      statusStartDate:
                        type:
                          - string
                          - "null"
                        format: date
                      statusEndDate:
                        type:
                          - string
                          - "null"
                        format: date
                      lastChangeDateTime:
                        type: string
                        format: date-time
                      extensions:
                        type:
                          - object
                          - "null"
                        additionalProperties: {}
                      CFDocumentURI:
                        type:
                          - object
                          - "null"
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                    required:
                      - sourcedId
                      - fullStatement
                      - CFItemType
                      - uri
                      - lastChangeDateTime
                    description: Represents an item in a competency framework.
                required:
                  - CFItem
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedRequestResponse"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundResponse"
        "422":
          description: Unprocessable Entity / Validation Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnprocessableEntityResponse"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TooManyRequestsResponse"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalServerErrorResponse"
  /ims/case/v1p1/CFItems/validate:
    post:
      operationId: validateCFItems
      summary: Validate Item IDs
      description: Validates an array of CFItem sourcedIds. Returns which IDs are valid standards (exist and are not part of a
        Course Sequence) and which are invalid.
      tags:
        - Learning Standards
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  items:
                    type: string
                    format: uuid
              required:
                - ids
      responses:
        "200":
          description: Validation result
          content:
            application/json:
              schema:
                type: object
                properties:
                  valid:
                    type: array
                    items:
                      type: string
                      format: uuid
                  invalid:
                    type: array
                    items:
                      type: string
                      format: uuid
                required:
                  - valid
                  - invalid
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedRequestResponse"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundResponse"
        "422":
          description: Unprocessable Entity / Validation Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnprocessableEntityResponse"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TooManyRequestsResponse"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalServerErrorResponse"
  /ims/case/v1p1/CFPackages:
    post:
      operationId: uploadCFPackage
      summary: Upload Package
      description: Upload a complete CASE package with document, items, and associations
      tags:
        - Learning Standards
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                CFDocument:
                  type: object
                  properties:
                    identifier:
                      type: string
                      format: uuid
                    uri:
                      type: string
                    lastChangeDateTime:
                      type: string
                    title:
                      type: string
                    creator:
                      type: string
                    officialSourceURL:
                      type: string
                    publisher:
                      type: string
                    description:
                      type: string
                    language:
                      type: string
                    version:
                      type: string
                    caseVersion:
                      type: string
                    adoptionStatus:
                      type: string
                    statusStartDate:
                      type: string
                    statusEndDate:
                      type: string
                    licenseUri:
                      type: string
                    notes:
                      type: string
                    subject:
                      type: array
                      items:
                        type: string
                    extensions: {}
                  required:
                    - identifier
                    - uri
                    - lastChangeDateTime
                    - title
                    - creator
                CFItems:
                  type: array
                  items:
                    type: object
                    properties:
                      identifier:
                        type: string
                        format: uuid
                      uri:
                        type: string
                      lastChangeDateTime:
                        type: string
                      fullStatement:
                        type: string
                      alternativeLabel:
                        type: string
                      CFItemType:
                        type: string
                      cfItemType:
                        type: string
                      humanCodingScheme:
                        type: string
                      listEnumeration:
                        type: string
                      abbreviatedStatement:
                        type: string
                      conceptKeywords:
                        type: array
                        items:
                          type: string
                      notes:
                        type: string
                      subject:
                        type: array
                        items:
                          type: string
                      language:
                        type: string
                      educationLevel:
                        type: array
                        items:
                          type: string
                      CFItemTypeURI: {}
                      licenseURI: {}
                      statusStartDate:
                        type: string
                      statusEndDate:
                        type: string
                      extensions: {}
                    required:
                      - identifier
                      - uri
                      - lastChangeDateTime
                      - fullStatement
                CFAssociations:
                  type: array
                  items:
                    type: object
                    properties:
                      identifier:
                        type: string
                        format: uuid
                      uri:
                        type: string
                      lastChangeDateTime:
                        type: string
                      associationType:
                        type: string
                      originNodeURI:
                        type: object
                        properties:
                          title:
                            type: string
                          identifier:
                            type: string
                            format: uuid
                          uri:
                            type: string
                        required:
                          - title
                          - identifier
                          - uri
                      destinationNodeURI:
                        type: object
                        properties:
                          title:
                            type: string
                          identifier:
                            type: string
                            format: uuid
                          uri:
                            type: string
                        required:
                          - title
                          - identifier
                          - uri
                      sequenceNumber:
                        type: number
                      extensions: {}
                    required:
                      - identifier
                      - uri
                      - lastChangeDateTime
                      - associationType
                      - originNodeURI
                      - destinationNodeURI
                CFDefinitions:
                  type: object
                  properties:
                    CFItemTypes:
                      type: array
                      items: {}
                    CFSubjects:
                      type: array
                      items: {}
                    CFConcepts:
                      type: array
                      items: {}
                    CFLicenses:
                      type: array
                      items: {}
                    CFAssociationGroupings:
                      type: array
                      items: {}
                    extensions: {}
                extensions: {}
              required:
                - CFDocument
                - CFItems
                - CFAssociations
      responses:
        "201":
          description: CASE Package Upload Result
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  result:
                    type: object
                    properties:
                      documentId:
                        type: string
                      stats:
                        type: object
                        properties:
                          documents:
                            type: number
                          items:
                            type: number
                          associations:
                            type: number
                        required:
                          - documents
                          - items
                          - associations
                      success:
                        type: boolean
                    required:
                      - documentId
                      - stats
                      - success
                required:
                  - success
                  - message
                  - result
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedRequestResponse"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundResponse"
        "422":
          description: Unprocessable Entity / Validation Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnprocessableEntityResponse"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TooManyRequestsResponse"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalServerErrorResponse"
  /ims/case/v1p1/CFPackages/{sourcedId}:
    get:
      operationId: getCFPackage
      summary: Get Package by ID
      description: Returns a complete CASE package for the specified sourcedId
      tags:
        - Learning Standards
      parameters:
        - name: sourcedId
          description: The sourcedId of the CASE Document
          in: path
          required: true
          schema:
            type: string
        - in: query
          name: fields
          description: Comma-separated list of fields to include in the response
          schema:
            type: string
            description: Comma-separated list of fields to include in the response
            example: sourcedId,name
      responses:
        "200":
          description: CASE Package
          content:
            application/json:
              schema:
                type: object
                properties:
                  CFPackage:
                    type: object
                    properties:
                      sourcedId:
                        type: string
                        format: uuid
                      CFDocument:
                        type: object
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                          frameworkType:
                            type:
                              - string
                              - "null"
                          caseVersion:
                            type:
                              - string
                              - "null"
                            enum:
                              - "1.1"
                              - null
                          creator:
                            type: string
                          lastChangeDateTime:
                            type: string
                            format: date-time
                          officialSourceURL:
                            type:
                              - string
                              - "null"
                            format: uri
                          publisher:
                            type:
                              - string
                              - "null"
                          description:
                            type:
                              - string
                              - "null"
                          subject:
                            type:
                              - array
                              - "null"
                            items:
                              type: string
                          subjectURI:
                            type:
                              - array
                              - "null"
                            items:
                              type: object
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                          language:
                            type:
                              - string
                              - "null"
                          version:
                            type:
                              - string
                              - "null"
                          adoptionStatus:
                            type:
                              - string
                              - "null"
                          statusStartDate:
                            type:
                              - string
                              - "null"
                            format: date
                          statusEndDate:
                            type:
                              - string
                              - "null"
                            format: date
                          licenseURI:
                            type:
                              - object
                              - "null"
                            properties:
                              sourcedId:
                                type: string
                                format: uuid
                              title:
                                type: string
                              uri:
                                type: string
                                format: uri
                            required:
                              - sourcedId
                              - title
                              - uri
                          notes:
                            type:
                              - string
                              - "null"
                          extensions:
                            type:
                              - object
                              - "null"
                            additionalProperties: {}
                          CFPackageURI:
                            type: object
                            properties:
                              sourcedId:
                                type: string
                                format: uuid
                              title:
                                type: string
                              uri:
                                type: string
                                format: uri
                            required:
                              - sourcedId
                              - title
                              - uri
                        required:
                          - sourcedId
                          - title
                          - uri
                          - creator
                          - lastChangeDateTime
                          - CFPackageURI
                        description: Represents a Competency Framework Document.
                      CFItems:
                        type: array
                        items:
                          type: object
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            fullStatement:
                              type: string
                            alternativeLabel:
                              type:
                                - string
                                - "null"
                            CFItemType:
                              type: string
                            uri:
                              type: string
                              format: uri
                            humanCodingScheme:
                              type:
                                - string
                                - "null"
                            listEnumeration:
                              type:
                                - string
                                - "null"
                            abbreviatedStatement:
                              type:
                                - string
                                - "null"
                            conceptKeywords:
                              type:
                                - array
                                - "null"
                              items:
                                type: string
                            conceptKeywordsURI:
                              type:
                                - object
                                - "null"
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                            notes:
                              type:
                                - string
                                - "null"
                            subject:
                              type:
                                - array
                                - "null"
                              items:
                                type: string
                            subjectURI:
                              type:
                                - array
                                - "null"
                              items:
                                type: object
                                properties:
                                  sourcedId:
                                    type: string
                                    format: uuid
                                  title:
                                    type: string
                                  uri:
                                    type: string
                                    format: uri
                                required:
                                  - sourcedId
                                  - title
                                  - uri
                            language:
                              type:
                                - string
                                - "null"
                            educationLevel:
                              type:
                                - array
                                - "null"
                              items:
                                type: string
                            CFItemTypeURI:
                              type:
                                - object
                                - "null"
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                            licenseURI:
                              type:
                                - object
                                - "null"
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                            statusStartDate:
                              type:
                                - string
                                - "null"
                              format: date
                            statusEndDate:
                              type:
                                - string
                                - "null"
                              format: date
                            lastChangeDateTime:
                              type: string
                              format: date-time
                            extensions:
                              type:
                                - object
                                - "null"
                              additionalProperties: {}
                            CFDocumentURI:
                              type:
                                - object
                                - "null"
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                          required:
                            - sourcedId
                            - fullStatement
                            - CFItemType
                            - uri
                            - lastChangeDateTime
                          description: Represents an item in a competency framework.
                      CFAssociations:
                        type: array
                        items:
                          type: object
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            associationType:
                              type: string
                            sequenceNumber:
                              type:
                                - integer
                                - "null"
                            uri:
                              type: string
                              format: uri
                            originNodeURI:
                              type: object
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                            destinationNodeURI:
                              type: object
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                            CFAssociationGroupingURI:
                              type:
                                - object
                                - "null"
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                            lastChangeDateTime:
                              type: string
                              format: date-time
                            notes:
                              type:
                                - string
                                - "null"
                            extensions:
                              type:
                                - object
                                - "null"
                              additionalProperties: {}
                            CFDocumentURI:
                              type:
                                - object
                                - "null"
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                          required:
                            - sourcedId
                            - associationType
                            - uri
                            - originNodeURI
                            - destinationNodeURI
                            - lastChangeDateTime
                          description: Represents a relationship between framework items.
                    required:
                      - sourcedId
                      - CFDocument
                    description: Represents a complete competency framework package.
                required:
                  - CFPackage
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedRequestResponse"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundResponse"
        "422":
          description: Unprocessable Entity / Validation Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnprocessableEntityResponse"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TooManyRequestsResponse"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalServerErrorResponse"
  /ims/case/v1p1/CFPackages/{sourcedId}/groups:
    get:
      operationId: getCFPackageWithGroups
      summary: Get Package with Groups by ID
      description: Returns a complete CASE package with groups for the specified sourcedId
      tags:
        - Learning Standards
      parameters:
        - name: sourcedId
          description: The sourcedId of the CASE Document
          in: path
          required: true
          schema:
            type: string
        - in: query
          name: fields
          description: Comma-separated list of fields to include in the response
          schema:
            type: string
            description: Comma-separated list of fields to include in the response
            example: sourcedId,name
      responses:
        "200":
          description: CASE Package with Groups
          content:
            application/json:
              schema:
                type: object
                properties:
                  CFPackageWithGroups:
                    type: object
                    properties:
                      sourcedId:
                        type: string
                        format: uuid
                      CFDocument:
                        type: object
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                          frameworkType:
                            type:
                              - string
                              - "null"
                          caseVersion:
                            type:
                              - string
                              - "null"
                            enum:
                              - "1.1"
                              - null
                          creator:
                            type: string
                          lastChangeDateTime:
                            type: string
                            format: date-time
                          officialSourceURL:
                            type:
                              - string
                              - "null"
                            format: uri
                          publisher:
                            type:
                              - string
                              - "null"
                          description:
                            type:
                              - string
                              - "null"
                          subject:
                            type:
                              - array
                              - "null"
                            items:
                              type: string
                          subjectURI:
                            type:
                              - array
                              - "null"
                            items:
                              type: object
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                          language:
                            type:
                              - string
                              - "null"
                          version:
                            type:
                              - string
                              - "null"
                          adoptionStatus:
                            type:
                              - string
                              - "null"
                          statusStartDate:
                            type:
                              - string
                              - "null"
                            format: date
                          statusEndDate:
                            type:
                              - string
                              - "null"
                            format: date
                          licenseURI:
                            type:
                              - object
                              - "null"
                            properties:
                              sourcedId:
                                type: string
                                format: uuid
                              title:
                                type: string
                              uri:
                                type: string
                                format: uri
                            required:
                              - sourcedId
                              - title
                              - uri
                          notes:
                            type:
                              - string
                              - "null"
                          extensions:
                            type:
                              - object
                              - "null"
                            additionalProperties: {}
                          CFPackageURI:
                            type: object
                            properties:
                              sourcedId:
                                type: string
                                format: uuid
                              title:
                                type: string
                              uri:
                                type: string
                                format: uri
                            required:
                              - sourcedId
                              - title
                              - uri
                        required:
                          - sourcedId
                          - title
                          - uri
                          - creator
                          - lastChangeDateTime
                          - CFPackageURI
                        description: Represents a Competency Framework Document.
                      structuredContent:
                        type: object
                        additionalProperties:
                          type: array
                          items:
                            type: object
                            properties:
                              sourcedId:
                                type: string
                                format: uuid
                              fullStatement:
                                type: string
                              alternativeLabel:
                                type:
                                  - string
                                  - "null"
                              CFItemType:
                                type: string
                              uri:
                                type: string
                                format: uri
                              humanCodingScheme:
                                type:
                                  - string
                                  - "null"
                              listEnumeration:
                                type:
                                  - string
                                  - "null"
                              abbreviatedStatement:
                                type:
                                  - string
                                  - "null"
                              conceptKeywords:
                                type:
                                  - array
                                  - "null"
                                items:
                                  type: string
                              conceptKeywordsURI:
                                type:
                                  - object
                                  - "null"
                                properties:
                                  sourcedId:
                                    type: string
                                    format: uuid
                                  title:
                                    type: string
                                  uri:
                                    type: string
                                    format: uri
                                required:
                                  - sourcedId
                                  - title
                                  - uri
                              notes:
                                type:
                                  - string
                                  - "null"
                              subject:
                                type:
                                  - array
                                  - "null"
                                items:
                                  type: string
                              subjectURI:
                                type:
                                  - array
                                  - "null"
                                items:
                                  type: object
                                  properties:
                                    sourcedId:
                                      type: string
                                      format: uuid
                                    title:
                                      type: string
                                    uri:
                                      type: string
                                      format: uri
                                  required:
                                    - sourcedId
                                    - title
                                    - uri
                              language:
                                type:
                                  - string
                                  - "null"
                              educationLevel:
                                type:
                                  - array
                                  - "null"
                                items:
                                  type: string
                              CFItemTypeURI:
                                type:
                                  - object
                                  - "null"
                                properties:
                                  sourcedId:
                                    type: string
                                    format: uuid
                                  title:
                                    type: string
                                  uri:
                                    type: string
                                    format: uri
                                required:
                                  - sourcedId
                                  - title
                                  - uri
                              licenseURI:
                                type:
                                  - object
                                  - "null"
                                properties:
                                  sourcedId:
                                    type: string
                                    format: uuid
                                  title:
                                    type: string
                                  uri:
                                    type: string
                                    format: uri
                                required:
                                  - sourcedId
                                  - title
                                  - uri
                              statusStartDate:
                                type:
                                  - string
                                  - "null"
                                format: date
                              statusEndDate:
                                type:
                                  - string
                                  - "null"
                                format: date
                              lastChangeDateTime:
                                type: string
                                format: date-time
                              extensions:
                                type:
                                  - object
                                  - "null"
                                additionalProperties: {}
                              CFDocumentURI:
                                type:
                                  - object
                                  - "null"
                                properties:
                                  sourcedId:
                                    type: string
                                    format: uuid
                                  title:
                                    type: string
                                  uri:
                                    type: string
                                    format: uri
                                required:
                                  - sourcedId
                                  - title
                                  - uri
                              childGroups:
                                type: object
                                additionalProperties:
                                  type: array
                                  items: {}
                            required:
                              - sourcedId
                              - fullStatement
                              - CFItemType
                              - uri
                              - lastChangeDateTime
                            description: Represents an item in a competency framework.
                    required:
                      - sourcedId
                      - CFDocument
                    description: Represents a complete competency framework package with hierarchical groups organized by CFItemType. Each
                      item contains childGroups organized by the CFItemType of children.
                required:
                  - CFPackageWithGroups
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedRequestResponse"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundResponse"
        "422":
          description: Unprocessable Entity / Validation Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnprocessableEntityResponse"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TooManyRequestsResponse"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalServerErrorResponse"
  /ims/case/v1p1/standards/CFDocuments:
    get:
      operationId: getStandardsDocuments
      summary: Get Standards Documents
      description: Returns a collection of CASE documents excluding Course Sequences
      tags:
        - Learning Standards
      responses:
        "200":
          description: Collection of Standards Documents
          content:
            application/json:
              schema:
                type: object
                properties:
                  CFDocuments:
                    type: array
                    items:
                      type: object
                      properties:
                        sourcedId:
                          type: string
                          format: uuid
                        title:
                          type: string
                        uri:
                          type: string
                          format: uri
                        frameworkType:
                          type:
                            - string
                            - "null"
                        caseVersion:
                          type:
                            - string
                            - "null"
                          enum:
                            - "1.1"
                            - null
                        creator:
                          type: string
                        lastChangeDateTime:
                          type: string
                          format: date-time
                        officialSourceURL:
                          type:
                            - string
                            - "null"
                          format: uri
                        publisher:
                          type:
                            - string
                            - "null"
                        description:
                          type:
                            - string
                            - "null"
                        subject:
                          type:
                            - array
                            - "null"
                          items:
                            type: string
                        subjectURI:
                          type:
                            - array
                            - "null"
                          items:
                            type: object
                            properties:
                              sourcedId:
                                type: string
                                format: uuid
                              title:
                                type: string
                              uri:
                                type: string
                                format: uri
                            required:
                              - sourcedId
                              - title
                              - uri
                        language:
                          type:
                            - string
                            - "null"
                        version:
                          type:
                            - string
                            - "null"
                        adoptionStatus:
                          type:
                            - string
                            - "null"
                        statusStartDate:
                          type:
                            - string
                            - "null"
                          format: date
                        statusEndDate:
                          type:
                            - string
                            - "null"
                          format: date
                        licenseURI:
                          type:
                            - object
                            - "null"
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                        notes:
                          type:
                            - string
                            - "null"
                        extensions:
                          type:
                            - object
                            - "null"
                          additionalProperties: {}
                        CFPackageURI:
                          type: object
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                      required:
                        - sourcedId
                        - title
                        - uri
                        - creator
                        - lastChangeDateTime
                        - CFPackageURI
                      description: Represents a Competency Framework Document.
                    minItems: 1
                required:
                  - CFDocuments
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedRequestResponse"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundResponse"
        "422":
          description: Unprocessable Entity / Validation Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnprocessableEntityResponse"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TooManyRequestsResponse"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalServerErrorResponse"
  /ims/case/v1p1/standards/CFDocuments/{sourcedId}:
    get:
      operationId: getStandardsDocument
      summary: Get Standards Document by ID
      description: Returns a specific CASE Document by sourcedId, excluding Course Sequences
      tags:
        - Learning Standards
      parameters:
        - name: sourcedId
          description: The sourcedId of the CASE Document
          in: path
          required: true
          schema:
            type: string
        - in: query
          name: fields
          description: Comma-separated list of fields to include in the response
          schema:
            type: string
            description: Comma-separated list of fields to include in the response
            example: sourcedId,name
      responses:
        "200":
          description: Standards Document
          content:
            application/json:
              schema:
                type: object
                properties:
                  CFDocument:
                    type: object
                    properties:
                      sourcedId:
                        type: string
                        format: uuid
                      title:
                        type: string
                      uri:
                        type: string
                        format: uri
                      frameworkType:
                        type:
                          - string
                          - "null"
                      caseVersion:
                        type:
                          - string
                          - "null"
                        enum:
                          - "1.1"
                          - null
                      creator:
                        type: string
                      lastChangeDateTime:
                        type: string
                        format: date-time
                      officialSourceURL:
                        type:
                          - string
                          - "null"
                        format: uri
                      publisher:
                        type:
                          - string
                          - "null"
                      description:
                        type:
                          - string
                          - "null"
                      subject:
                        type:
                          - array
                          - "null"
                        items:
                          type: string
                      subjectURI:
                        type:
                          - array
                          - "null"
                        items:
                          type: object
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                      language:
                        type:
                          - string
                          - "null"
                      version:
                        type:
                          - string
                          - "null"
                      adoptionStatus:
                        type:
                          - string
                          - "null"
                      statusStartDate:
                        type:
                          - string
                          - "null"
                        format: date
                      statusEndDate:
                        type:
                          - string
                          - "null"
                        format: date
                      licenseURI:
                        type:
                          - object
                          - "null"
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                      notes:
                        type:
                          - string
                          - "null"
                      extensions:
                        type:
                          - object
                          - "null"
                        additionalProperties: {}
                      CFPackageURI:
                        type: object
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                    required:
                      - sourcedId
                      - title
                      - uri
                      - creator
                      - lastChangeDateTime
                      - CFPackageURI
                    description: Represents a Competency Framework Document.
                required:
                  - CFDocument
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedRequestResponse"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundResponse"
        "422":
          description: Unprocessable Entity / Validation Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnprocessableEntityResponse"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TooManyRequestsResponse"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalServerErrorResponse"
  /ims/case/v1p1/standards/CFItems:
    get:
      operationId: getStandardsItems
      summary: Get Standards Items
      description: Returns a collection of CASE Items excluding items from Course Sequence documents
      tags:
        - Learning Standards
      responses:
        "200":
          description: Collection of Standards Items
          content:
            application/json:
              schema:
                type: object
                properties:
                  CFItems:
                    type: array
                    items:
                      type: object
                      properties:
                        sourcedId:
                          type: string
                          format: uuid
                        fullStatement:
                          type: string
                        alternativeLabel:
                          type:
                            - string
                            - "null"
                        CFItemType:
                          type: string
                        uri:
                          type: string
                          format: uri
                        humanCodingScheme:
                          type:
                            - string
                            - "null"
                        listEnumeration:
                          type:
                            - string
                            - "null"
                        abbreviatedStatement:
                          type:
                            - string
                            - "null"
                        conceptKeywords:
                          type:
                            - array
                            - "null"
                          items:
                            type: string
                        conceptKeywordsURI:
                          type:
                            - object
                            - "null"
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                        notes:
                          type:
                            - string
                            - "null"
                        subject:
                          type:
                            - array
                            - "null"
                          items:
                            type: string
                        subjectURI:
                          type:
                            - array
                            - "null"
                          items:
                            type: object
                            properties:
                              sourcedId:
                                type: string
                                format: uuid
                              title:
                                type: string
                              uri:
                                type: string
                                format: uri
                            required:
                              - sourcedId
                              - title
                              - uri
                        language:
                          type:
                            - string
                            - "null"
                        educationLevel:
                          type:
                            - array
                            - "null"
                          items:
                            type: string
                        CFItemTypeURI:
                          type:
                            - object
                            - "null"
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                        licenseURI:
                          type:
                            - object
                            - "null"
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                        statusStartDate:
                          type:
                            - string
                            - "null"
                          format: date
                        statusEndDate:
                          type:
                            - string
                            - "null"
                          format: date
                        lastChangeDateTime:
                          type: string
                          format: date-time
                        extensions:
                          type:
                            - object
                            - "null"
                          additionalProperties: {}
                        CFDocumentURI:
                          type:
                            - object
                            - "null"
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                      required:
                        - sourcedId
                        - fullStatement
                        - CFItemType
                        - uri
                        - lastChangeDateTime
                      description: Represents an item in a competency framework.
                required:
                  - CFItems
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedRequestResponse"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundResponse"
        "422":
          description: Unprocessable Entity / Validation Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnprocessableEntityResponse"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TooManyRequestsResponse"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalServerErrorResponse"
  /ims/case/v1p1/standards/CFItems/{sourcedId}:
    get:
      operationId: getStandardsItem
      summary: Get Standards Item by ID
      description: Returns a specific CASE Item by sourcedId, excluding items from Course Sequence documents
      tags:
        - Learning Standards
      parameters:
        - name: sourcedId
          description: The sourcedId of the CASE Item
          in: path
          required: true
          schema:
            type: string
        - in: query
          name: fields
          description: Comma-separated list of fields to include in the response
          schema:
            type: string
            description: Comma-separated list of fields to include in the response
            example: sourcedId,name
      responses:
        "200":
          description: Standards Item
          content:
            application/json:
              schema:
                type: object
                properties:
                  CFItem:
                    type: object
                    properties:
                      sourcedId:
                        type: string
                        format: uuid
                      fullStatement:
                        type: string
                      alternativeLabel:
                        type:
                          - string
                          - "null"
                      CFItemType:
                        type: string
                      uri:
                        type: string
                        format: uri
                      humanCodingScheme:
                        type:
                          - string
                          - "null"
                      listEnumeration:
                        type:
                          - string
                          - "null"
                      abbreviatedStatement:
                        type:
                          - string
                          - "null"
                      conceptKeywords:
                        type:
                          - array
                          - "null"
                        items:
                          type: string
                      conceptKeywordsURI:
                        type:
                          - object
                          - "null"
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                      notes:
                        type:
                          - string
                          - "null"
                      subject:
                        type:
                          - array
                          - "null"
                        items:
                          type: string
                      subjectURI:
                        type:
                          - array
                          - "null"
                        items:
                          type: object
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            title:
                              type: string
                            uri:
                              type: string
                              format: uri
                          required:
                            - sourcedId
                            - title
                            - uri
                      language:
                        type:
                          - string
                          - "null"
                      educationLevel:
                        type:
                          - array
                          - "null"
                        items:
                          type: string
                      CFItemTypeURI:
                        type:
                          - object
                          - "null"
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                      licenseURI:
                        type:
                          - object
                          - "null"
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                      statusStartDate:
                        type:
                          - string
                          - "null"
                        format: date
                      statusEndDate:
                        type:
                          - string
                          - "null"
                        format: date
                      lastChangeDateTime:
                        type: string
                        format: date-time
                      extensions:
                        type:
                          - object
                          - "null"
                        additionalProperties: {}
                      CFDocumentURI:
                        type:
                          - object
                          - "null"
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                        required:
                          - sourcedId
                          - title
                          - uri
                    required:
                      - sourcedId
                      - fullStatement
                      - CFItemType
                      - uri
                      - lastChangeDateTime
                    description: Represents an item in a competency framework.
                required:
                  - CFItem
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedRequestResponse"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundResponse"
        "422":
          description: Unprocessable Entity / Validation Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnprocessableEntityResponse"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TooManyRequestsResponse"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalServerErrorResponse"
  /ims/case/v1p1/standards/CFPackages/{sourcedId}:
    get:
      operationId: getStandardsPackage
      summary: Get Standards Package by ID
      description: Returns a complete CASE package for the specified sourcedId, excluding Course Sequences
      tags:
        - Learning Standards
      parameters:
        - name: sourcedId
          description: The sourcedId of the CASE Document
          in: path
          required: true
          schema:
            type: string
        - in: query
          name: fields
          description: Comma-separated list of fields to include in the response
          schema:
            type: string
            description: Comma-separated list of fields to include in the response
            example: sourcedId,name
      responses:
        "200":
          description: Standards Package
          content:
            application/json:
              schema:
                type: object
                properties:
                  CFPackage:
                    type: object
                    properties:
                      sourcedId:
                        type: string
                        format: uuid
                      CFDocument:
                        type: object
                        properties:
                          sourcedId:
                            type: string
                            format: uuid
                          title:
                            type: string
                          uri:
                            type: string
                            format: uri
                          frameworkType:
                            type:
                              - string
                              - "null"
                          caseVersion:
                            type:
                              - string
                              - "null"
                            enum:
                              - "1.1"
                              - null
                          creator:
                            type: string
                          lastChangeDateTime:
                            type: string
                            format: date-time
                          officialSourceURL:
                            type:
                              - string
                              - "null"
                            format: uri
                          publisher:
                            type:
                              - string
                              - "null"
                          description:
                            type:
                              - string
                              - "null"
                          subject:
                            type:
                              - array
                              - "null"
                            items:
                              type: string
                          subjectURI:
                            type:
                              - array
                              - "null"
                            items:
                              type: object
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                          language:
                            type:
                              - string
                              - "null"
                          version:
                            type:
                              - string
                              - "null"
                          adoptionStatus:
                            type:
                              - string
                              - "null"
                          statusStartDate:
                            type:
                              - string
                              - "null"
                            format: date
                          statusEndDate:
                            type:
                              - string
                              - "null"
                            format: date
                          licenseURI:
                            type:
                              - object
                              - "null"
                            properties:
                              sourcedId:
                                type: string
                                format: uuid
                              title:
                                type: string
                              uri:
                                type: string
                                format: uri
                            required:
                              - sourcedId
                              - title
                              - uri
                          notes:
                            type:
                              - string
                              - "null"
                          extensions:
                            type:
                              - object
                              - "null"
                            additionalProperties: {}
                          CFPackageURI:
                            type: object
                            properties:
                              sourcedId:
                                type: string
                                format: uuid
                              title:
                                type: string
                              uri:
                                type: string
                                format: uri
                            required:
                              - sourcedId
                              - title
                              - uri
                        required:
                          - sourcedId
                          - title
                          - uri
                          - creator
                          - lastChangeDateTime
                          - CFPackageURI
                        description: Represents a Competency Framework Document.
                      CFItems:
                        type: array
                        items:
                          type: object
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            fullStatement:
                              type: string
                            alternativeLabel:
                              type:
                                - string
                                - "null"
                            CFItemType:
                              type: string
                            uri:
                              type: string
                              format: uri
                            humanCodingScheme:
                              type:
                                - string
                                - "null"
                            listEnumeration:
                              type:
                                - string
                                - "null"
                            abbreviatedStatement:
                              type:
                                - string
                                - "null"
                            conceptKeywords:
                              type:
                                - array
                                - "null"
                              items:
                                type: string
                            conceptKeywordsURI:
                              type:
                                - object
                                - "null"
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                            notes:
                              type:
                                - string
                                - "null"
                            subject:
                              type:
                                - array
                                - "null"
                              items:
                                type: string
                            subjectURI:
                              type:
                                - array
                                - "null"
                              items:
                                type: object
                                properties:
                                  sourcedId:
                                    type: string
                                    format: uuid
                                  title:
                                    type: string
                                  uri:
                                    type: string
                                    format: uri
                                required:
                                  - sourcedId
                                  - title
                                  - uri
                            language:
                              type:
                                - string
                                - "null"
                            educationLevel:
                              type:
                                - array
                                - "null"
                              items:
                                type: string
                            CFItemTypeURI:
                              type:
                                - object
                                - "null"
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                            licenseURI:
                              type:
                                - object
                                - "null"
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                            statusStartDate:
                              type:
                                - string
                                - "null"
                              format: date
                            statusEndDate:
                              type:
                                - string
                                - "null"
                              format: date
                            lastChangeDateTime:
                              type: string
                              format: date-time
                            extensions:
                              type:
                                - object
                                - "null"
                              additionalProperties: {}
                            CFDocumentURI:
                              type:
                                - object
                                - "null"
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                          required:
                            - sourcedId
                            - fullStatement
                            - CFItemType
                            - uri
                            - lastChangeDateTime
                          description: Represents an item in a competency framework.
                      CFAssociations:
                        type: array
                        items:
                          type: object
                          properties:
                            sourcedId:
                              type: string
                              format: uuid
                            associationType:
                              type: string
                            sequenceNumber:
                              type:
                                - integer
                                - "null"
                            uri:
                              type: string
                              format: uri
                            originNodeURI:
                              type: object
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                            destinationNodeURI:
                              type: object
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                            CFAssociationGroupingURI:
                              type:
                                - object
                                - "null"
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                            lastChangeDateTime:
                              type: string
                              format: date-time
                            notes:
                              type:
                                - string
                                - "null"
                            extensions:
                              type:
                                - object
                                - "null"
                              additionalProperties: {}
                            CFDocumentURI:
                              type:
                                - object
                                - "null"
                              properties:
                                sourcedId:
                                  type: string
                                  format: uuid
                                title:
                                  type: string
                                uri:
                                  type: string
                                  format: uri
                              required:
                                - sourcedId
                                - title
                                - uri
                          required:
                            - sourcedId
                            - associationType
                            - uri
                            - originNodeURI
                            - destinationNodeURI
                            - lastChangeDateTime
                          description: Represents a relationship between framework items.
                    required:
                      - sourcedId
                      - CFDocument
                    description: Represents a complete competency framework package.
                required:
                  - CFPackage
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestResponse"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedRequestResponse"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenResponse"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundResponse"
        "422":
          description: Unprocessable Entity / Validation Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnprocessableEntityResponse"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TooManyRequestsResponse"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalServerErrorResponse"
components:
  securitySchemes:
    MCP:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://prod-beyond-timeback-api-2-idp.auth.us-east-1.amazoncognito.com/oauth2/authorize
          tokenUrl: https://prod-beyond-timeback-api-2-idp.auth.us-east-1.amazoncognito.com/oauth2/token
          scopes:
            https://purl.imsglobal.org/spec/or/v1p1/scope/roster-core.readonly: Read access to roster core
            https://purl.imsglobal.org/spec/or/v1p1/scope/roster.readonly: Read access to roster
            https://purl.imsglobal.org/spec/or/v1p1/scope/roster-demographics.readonly: Read access to roster demographics
            https://purl.imsglobal.org/spec/or/v1p1/scope/resource.readonly: Read access to resource
            https://purl.imsglobal.org/spec/or/v1p1/scope/gradebook.readonly: Read access to gradebook
            https://purl.imsglobal.org/spec/powerpath/v1p1/scope/powerpath.readonly: Read access to powerpath
            https://purl.imsglobal.org/spec/ob/v3p0/scope/credential.readonly: Read your issued badges
            https://purl.imsglobal.org/spec/clr/v2p0/scope/credential.readonly: Read access to CLR
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          scopes:
            https://purl.imsglobal.org/spec/or/v1p1/scope/admin: Admin access to the API
            https://purl.imsglobal.org/spec/or/v1p2/scope/admin.own: Admin access restricted to own resources
            https://purl.imsglobal.org/spec/or/v1p1/scope/roster-core.readonly: Read access to roster core
            https://purl.imsglobal.org/spec/or/v1p1/scope/roster.readonly: Read access to roster
            https://purl.imsglobal.org/spec/or/v1p1/scope/roster.createput: Create and update access to roster
            https://purl.imsglobal.org/spec/or/v1p1/scope/roster.delete: Delete access to roster
            https://purl.imsglobal.org/spec/or/v1p1/scope/roster-demographics.readonly: Read access to roster demographics
            https://purl.imsglobal.org/spec/or/v1p1/scope/roster-demographics.createput: Create and update access to roster demographics
            https://purl.imsglobal.org/spec/or/v1p1/scope/roster-demographics.delete: Delete access to roster demographics
            https://purl.imsglobal.org/spec/or/v1p1/scope/resource.readonly: Read access to resource
            https://purl.imsglobal.org/spec/or/v1p1/scope/resource.createput: Create and update access to resource
            https://purl.imsglobal.org/spec/or/v1p1/scope/resource.delete: Delete access to resource
            https://purl.imsglobal.org/spec/or/v1p1/scope/gradebook.readonly: Read access to gradebook
            https://purl.imsglobal.org/spec/or/v1p1/scope/gradebook.createput: Create and update access to gradebook
            https://purl.imsglobal.org/spec/or/v1p1/scope/gradebook.delete: Delete access to gradebook
            https://purl.imsglobal.org/spec/powerpath/v1p1/scope/powerpath.readonly: Read access to powerpath
            https://purl.imsglobal.org/spec/powerpath/v1p1/scope/powerpath.createput: Create and update access to powerpath
            https://purl.imsglobal.org/spec/powerpath/v1p1/scope/powerpath.delete: Delete access to powerpath
            https://purl.imsglobal.org/spec/powerpath/v1p1/scope/powerpath.admin: Admin access to powerpath
            https://purl.imsglobal.org/spec/ob/v3p0/scope/credential.readonly: Read your issued badges
            https://purl.imsglobal.org/spec/ob/v3p0/scope/credential.upsert: Store new badges in your account
            https://purl.imsglobal.org/spec/ob/v3p0/scope/credential.delete: Delete access to open badges
            https://purl.imsglobal.org/spec/ob/v3p0/scope/credential.admin: Administrative access to open badges
            https://purl.imsglobal.org/spec/clr/v2p0/scope/credential.readonly: Read access to CLR
            https://purl.imsglobal.org/spec/clr/v2p0/scope/credential.upsert: Create and update access to CLR
            https://purl.imsglobal.org/spec/clr/v2p0/scope/credential.admin: Administrative access to CLR
            https://api.alpha-1edtech.ai/edubridge/progression.readonly: Browse lesson catalog via progression proxy
            https://api.alpha-1edtech.ai/edubridge/progression.createput: Create hole-filling courses via progression proxy
          tokenUrl: https://prod-beyond-timeback-api-2-idp.auth.us-east-1.amazoncognito.com/oauth2/token
  schemas:
    BadRequestResponse:
      type: object
      properties:
        imsx_codeMajor:
          type: string
          default: failure
          description: The major response code
          example: failure
        imsx_severity:
          type: string
          default: error
          description: The severity of the response
          example: error
        imsx_description:
          type: string
        imsx_CodeMinor:
          type: object
          properties:
            imsx_codeMinorField:
              type: array
              items:
                type: object
                properties:
                  imsx_codeMinorFieldName:
                    type: string
                    default: TargetEndSystem
                    description: The field name for the minor code
                    example: TargetEndSystem
                  imsx_codeMinorFieldValue:
                    type: string
                    default: invaliddata
                    description: The field value for the minor code
                    example: invaliddata
                required:
                  - imsx_codeMinorFieldName
                  - imsx_codeMinorFieldValue
          required:
            - imsx_codeMinorField
        imsx_error_details:
          type: array
          items:
            type: object
            additionalProperties:
              type: string
      required:
        - imsx_codeMajor
        - imsx_severity
        - imsx_description
        - imsx_CodeMinor
    UnauthorizedRequestResponse:
      type: object
      properties:
        imsx_codeMajor:
          type: string
          default: failure
          description: The major response code
          example: failure
        imsx_severity:
          type: string
          default: error
          description: The severity of the response
          example: error
        imsx_description:
          type: string
        imsx_CodeMinor:
          type: object
          properties:
            imsx_codeMinorField:
              type: array
              items:
                type: object
                properties:
                  imsx_codeMinorFieldName:
                    type: string
                    default: TargetEndSystem
                    description: The field name for the minor code
                    example: TargetEndSystem
                  imsx_codeMinorFieldValue:
                    type: string
                    default: unauthorisedrequest
                    description: The field value for the minor code
                    example: unauthorisedrequest
                required:
                  - imsx_codeMinorFieldName
                  - imsx_codeMinorFieldValue
          required:
            - imsx_codeMinorField
        imsx_error_details:
          type: array
          items:
            type: object
            additionalProperties:
              type: string
      required:
        - imsx_codeMajor
        - imsx_severity
        - imsx_description
        - imsx_CodeMinor
    ForbiddenResponse:
      type: object
      properties:
        imsx_codeMajor:
          type: string
          default: failure
          description: The major response code
          example: failure
        imsx_severity:
          type: string
          default: error
          description: The severity of the response
          example: error
        imsx_description:
          type: string
        imsx_CodeMinor:
          type: object
          properties:
            imsx_codeMinorField:
              type: array
              items:
                type: object
                properties:
                  imsx_codeMinorFieldName:
                    type: string
                    default: TargetEndSystem
                    description: The field name for the minor code
                    example: TargetEndSystem
                  imsx_codeMinorFieldValue:
                    type: string
                    default: forbidden
                    description: The field value for the minor code
                    example: forbidden
                required:
                  - imsx_codeMinorFieldName
                  - imsx_codeMinorFieldValue
          required:
            - imsx_codeMinorField
        imsx_error_details:
          type: array
          items:
            type: object
            additionalProperties:
              type: string
      required:
        - imsx_codeMajor
        - imsx_severity
        - imsx_description
        - imsx_CodeMinor
    NotFoundResponse:
      type: object
      properties:
        imsx_codeMajor:
          type: string
          default: failure
          description: The major response code
          example: failure
        imsx_severity:
          type: string
          default: error
          description: The severity of the response
          example: error
        imsx_description:
          type: string
        imsx_CodeMinor:
          type: object
          properties:
            imsx_codeMinorField:
              type: array
              items:
                type: object
                properties:
                  imsx_codeMinorFieldName:
                    type: string
                    default: TargetEndSystem
                    description: The field name for the minor code
                    example: TargetEndSystem
                  imsx_codeMinorFieldValue:
                    type: string
                    default: unknownobject
                    description: The field value for the minor code
                    example: unknownobject
                required:
                  - imsx_codeMinorFieldName
                  - imsx_codeMinorFieldValue
          required:
            - imsx_codeMinorField
        imsx_error_details:
          type: array
          items:
            type: object
            additionalProperties:
              type: string
      required:
        - imsx_codeMajor
        - imsx_severity
        - imsx_description
        - imsx_CodeMinor
    UnprocessableEntityResponse:
      type: object
      properties:
        imsx_codeMajor:
          type: string
          default: failure
          description: The major response code
          example: failure
        imsx_severity:
          type: string
          default: error
          description: The severity of the response
          example: error
        imsx_description:
          type: string
        imsx_CodeMinor:
          type: object
          properties:
            imsx_codeMinorField:
              type: array
              items:
                type: object
                properties:
                  imsx_codeMinorFieldName:
                    type: string
                    default: TargetEndSystem
                    description: The field name for the minor code
                    example: TargetEndSystem
                  imsx_codeMinorFieldValue:
                    type: string
                    default: invaliddata
                    description: The field value for the minor code
                    example: invaliddata
                required:
                  - imsx_codeMinorFieldName
                  - imsx_codeMinorFieldValue
          required:
            - imsx_codeMinorField
        imsx_error_details:
          type: array
          items:
            type: object
            additionalProperties:
              type: string
      required:
        - imsx_codeMajor
        - imsx_severity
        - imsx_description
        - imsx_CodeMinor
    TooManyRequestsResponse:
      type: object
      properties:
        imsx_codeMajor:
          type: string
          default: failure
          description: The major response code
          example: failure
        imsx_severity:
          type: string
          default: error
          description: The severity of the response
          example: error
        imsx_description:
          type: string
        imsx_CodeMinor:
          type: object
          properties:
            imsx_codeMinorField:
              type: array
              items:
                type: object
                properties:
                  imsx_codeMinorFieldName:
                    type: string
                    default: TargetEndSystem
                    description: The field name for the minor code
                    example: TargetEndSystem
                  imsx_codeMinorFieldValue:
                    type: string
                    default: server_busy
                    description: The field value for the minor code
                    example: server_busy
                required:
                  - imsx_codeMinorFieldName
                  - imsx_codeMinorFieldValue
          required:
            - imsx_codeMinorField
        imsx_error_details:
          type: array
          items:
            type: object
            additionalProperties:
              type: string
      required:
        - imsx_codeMajor
        - imsx_severity
        - imsx_description
        - imsx_CodeMinor
    InternalServerErrorResponse:
      type: object
      properties:
        imsx_codeMajor:
          type: string
          default: failure
          description: The major response code
          example: failure
        imsx_severity:
          type: string
          default: error
          description: The severity of the response
          example: error
        imsx_description:
          type: string
        imsx_CodeMinor:
          type: object
          properties:
            imsx_codeMinorField:
              type: array
              items:
                type: object
                properties:
                  imsx_codeMinorFieldName:
                    type: string
                    default: TargetEndSystem
                    description: The field name for the minor code
                    example: TargetEndSystem
                  imsx_codeMinorFieldValue:
                    type: string
                    default: internal_server_error
                    description: The field value for the minor code
                    example: internal_server_error
                required:
                  - imsx_codeMinorFieldName
                  - imsx_codeMinorFieldValue
          required:
            - imsx_codeMinorField
        imsx_error_details:
          type: array
          items:
            type: object
            additionalProperties:
              type: string
      required:
        - imsx_codeMajor
        - imsx_severity
        - imsx_description
        - imsx_CodeMinor
