openapi: 3.1.0
info:
  title: CLR API
  version: 1.0.0
  description: >-
    Comprehensive Learner Record (CLR) is a standard for creating, transmitting,
    and rendering an individual's full set of achievements, issued by multiple
    learning providers, 
      in a machine-readable and verifiable digital format. It enables the curation of diverse learning experiences—including courses, competencies, co-curricular activities, 
      and badges—into a single, interoperable record that supports a learner's lifelong educational and career journey.
servers:
  - url: https://api.alpha-1edtech.ai
    description: CLR API
tags:
  - name: CLR - Credentials
    description: Manage CLR Credentials
  - name: CLR - Discovery
    description: Discover CLR v2.0 API capabilities and endpoints
security:
  - OAuth2: []
paths:
  /ims/clr/v2p0/discovery/:
    get:
      operationId: getDiscovery
      summary: Get CLR v2.0 API Discovery Information
      description: >-
        Returns the OpenAPI 3.0 specification for the CLR v2.0 API. This
        endpoint provides 
            discovery information including available endpoints, OAuth2 flows, and supported scopes. This is a public 
            endpoint that allows clients to dynamically discover the service's capabilities without prior configuration.
      tags:
        - CLR - Discovery
      security: []
      responses:
        '200':
          description: Discovery information returned successfully
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
  /ims/clr/v2p0/credentials/:
    post:
      operationId: upsertCLR
      summary: Upsert a Verifiable Comprehensive Learner Record (CLR)
      description: >-
        Upserts a Comprehensive Learner Record (CLR) v2.0 compliant Verifiable
        Credential (ClrCredential). 
            This platform acts as the 'publisher' of the overarching ClrCredential, digitally signing it to ensure its authenticity 
            and integrity. The ClrCredential packages a collection of individual assertions (e.g., AchievementCredentials, 
            OpenBadgeCredentials, or other Verifiable Credentials) about the learner. The learner's identity information is embedded 
            within the 'credentialSubject' of the main ClrCredential. The resulting CLR includes a cryptographic proof (e.g., 
            DataIntegrityProof or JsonWebSignature2020) allowing any verifier to confirm that the CLR was issued by this platform 
            and has not been tampered with since its issuance.
      tags:
        - CLR - Credentials
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                '@context':
                  type: array
                  items:
                    type: string
                id:
                  type: string
                  format: uri
                type:
                  type: array
                  items:
                    type: string
                issuer:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uri
                    type:
                      type: array
                      items:
                        type: string
                    name:
                      type: string
                    url:
                      type: string
                      format: uri
                    phone:
                      type: string
                    description:
                      type: string
                    image:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uri
                          description: The URI or Data URI of the image.
                        type:
                          type: string
                          const: Image
                          description: MUST be the IRI 'Image'.
                        caption:
                          type: string
                          description: The caption for the image.
                      required:
                        - id
                        - type
                    email:
                      type: string
                      format: email
                  required:
                    - id
                    - type
                name:
                  type: string
                description:
                  type: string
                validFrom:
                  type: string
                  format: date-time
                validUntil:
                  type: string
                  format: date-time
                credentialSubject:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uri
                    type:
                      type: array
                      items:
                        type: string
                    identifier:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            const: IdentityObject
                          identityHash:
                            type: string
                          identityType:
                            type: string
                          hashed:
                            type: boolean
                          salt:
                            type: string
                        required:
                          - type
                          - identityHash
                          - identityType
                          - hashed
                    achievement:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uri
                          type:
                            type: array
                            items:
                              type: string
                          name:
                            type: string
                          description:
                            type: string
                          criteria:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uri
                                description: >-
                                  The URI of a webpage that describes the
                                  criteria.
                              narrative:
                                type: string
                                description: >-
                                  A narrative of what is needed to earn the
                                  achievement.
                          image:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uri
                                description: The URI or Data URI of the image.
                              type:
                                type: string
                                const: Image
                                description: MUST be the IRI 'Image'.
                              caption:
                                type: string
                                description: The caption for the image.
                            required:
                              - id
                              - type
                          achievementType:
                            anyOf:
                              - type: string
                                enum: &ref_0
                                  - Achievement
                                  - ApprenticeshipCertificate
                                  - Assessment
                                  - Assignment
                                  - AssociateDegree
                                  - Award
                                  - Badge
                                  - BachelorDegree
                                  - Certificate
                                  - CertificateOfCompletion
                                  - Certification
                                  - CommunityService
                                  - Competency
                                  - Course
                                  - CoCurricular
                                  - Degree
                                  - Diploma
                                  - DoctoralDegree
                                  - Fieldwork
                                  - GeneralEducationDevelopment
                                  - JourneymanCertificate
                                  - LearningProgram
                                  - License
                                  - Membership
                                  - ProfessionalDoctorate
                                  - QualityAssuranceCredential
                                  - MasterCertificate
                                  - MasterDegree
                                  - MicroCredential
                                  - ResearchDoctorate
                                  - SecondarySchoolDiploma
                              - type: string
                                pattern: '^ext:'
                          creator:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uri
                              type:
                                type: array
                                items:
                                  type: string
                              name:
                                type: string
                              url:
                                type: string
                                format: uri
                              phone:
                                type: string
                              description:
                                type: string
                              image:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uri
                                    description: The URI or Data URI of the image.
                                  type:
                                    type: string
                                    const: Image
                                    description: MUST be the IRI 'Image'.
                                  caption:
                                    type: string
                                    description: The caption for the image.
                                required:
                                  - id
                                  - type
                              email:
                                type: string
                                format: email
                            required:
                              - id
                              - type
                        required:
                          - id
                          - type
                          - name
                          - description
                          - criteria
                    verifiableCredential:
                      type: array
                      items:
                        type: object
                        properties:
                          '@context':
                            type: array
                            items:
                              type: string
                          id:
                            type: string
                          type:
                            type: array
                            items:
                              type: string
                          issuer:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uri
                              type:
                                type: array
                                items:
                                  type: string
                              name:
                                type: string
                              url:
                                type: string
                                format: uri
                              phone:
                                type: string
                              description:
                                type: string
                              image:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uri
                                    description: The URI or Data URI of the image.
                                  type:
                                    type: string
                                    const: Image
                                    description: MUST be the IRI 'Image'.
                                  caption:
                                    type: string
                                    description: The caption for the image.
                                required:
                                  - id
                                  - type
                              email:
                                type: string
                                format: email
                            required:
                              - id
                              - type
                          validFrom:
                            type: string
                            format: date-time
                          validUntil:
                            type: string
                            format: date-time
                          credentialSubject:
                            type: object
                            properties:
                              id:
                                type: string
                          proof:
                            type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                proofPurpose:
                                  type: string
                                verificationMethod:
                                  type: string
                                created:
                                  type: string
                                  format: date-time
                                proofValue:
                                  type: string
                                cryptosuite:
                                  type: string
                              required:
                                - type
                                - proofPurpose
                                - verificationMethod
                                - created
                                - proofValue
                        required:
                          - '@context'
                          - id
                          - type
                          - issuer
                          - validFrom
                          - credentialSubject
                      minItems: 1
                    association:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            const: Association
                          associationType:
                            type: string
                            enum: &ref_1
                              - exactMatchOf
                              - isChildOf
                              - isParentOf
                              - isPartOf
                              - isPeerOf
                              - isRelatedTo
                              - precedes
                              - replacedBy
                          sourceId:
                            type: string
                            format: uri
                          targetId:
                            type: string
                            format: uri
                        required:
                          - type
                          - associationType
                          - sourceId
                          - targetId
                  required:
                    - type
                    - verifiableCredential
                proof:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                      proofPurpose:
                        type: string
                      verificationMethod:
                        type: string
                      created:
                        type: string
                        format: date-time
                      proofValue:
                        type: string
                      cryptosuite:
                        type: string
                    required:
                      - type
                      - proofPurpose
                      - verificationMethod
                      - created
                      - proofValue
                credentialSchema:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      type:
                        type: string
                        const: 1EdTechJsonSchemaValidator2019
                    required:
                      - id
                      - type
              required:
                - '@context'
                - id
                - type
                - issuer
                - name
                - validFrom
                - credentialSubject
      responses:
        '200':
          description: Credential successfully updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  '@context':
                    type: array
                    items:
                      type: string
                  id:
                    type: string
                    format: uri
                  type:
                    type: array
                    items:
                      type: string
                  issuer:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uri
                      type:
                        type: array
                        items:
                          type: string
                      name:
                        type: string
                      url:
                        type: string
                        format: uri
                      phone:
                        type: string
                      description:
                        type: string
                      image:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uri
                            description: The URI or Data URI of the image.
                          type:
                            type: string
                            const: Image
                            description: MUST be the IRI 'Image'.
                          caption:
                            type: string
                            description: The caption for the image.
                        required:
                          - id
                          - type
                      email:
                        type: string
                        format: email
                    required:
                      - id
                      - type
                  name:
                    type: string
                  description:
                    type: string
                  validFrom:
                    type: string
                    format: date-time
                  validUntil:
                    type: string
                    format: date-time
                  credentialSubject:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uri
                      type:
                        type: array
                        items:
                          type: string
                      identifier:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              const: IdentityObject
                            identityHash:
                              type: string
                            identityType:
                              type: string
                            hashed:
                              type: boolean
                            salt:
                              type: string
                          required:
                            - type
                            - identityHash
                            - identityType
                            - hashed
                      achievement:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uri
                            type:
                              type: array
                              items:
                                type: string
                            name:
                              type: string
                            description:
                              type: string
                            criteria:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uri
                                  description: >-
                                    The URI of a webpage that describes the
                                    criteria.
                                narrative:
                                  type: string
                                  description: >-
                                    A narrative of what is needed to earn the
                                    achievement.
                            image:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uri
                                  description: The URI or Data URI of the image.
                                type:
                                  type: string
                                  const: Image
                                  description: MUST be the IRI 'Image'.
                                caption:
                                  type: string
                                  description: The caption for the image.
                              required:
                                - id
                                - type
                            achievementType:
                              anyOf:
                                - type: string
                                  enum: *ref_0
                                - type: string
                                  pattern: '^ext:'
                            creator:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uri
                                type:
                                  type: array
                                  items:
                                    type: string
                                name:
                                  type: string
                                url:
                                  type: string
                                  format: uri
                                phone:
                                  type: string
                                description:
                                  type: string
                                image:
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                      format: uri
                                      description: The URI or Data URI of the image.
                                    type:
                                      type: string
                                      const: Image
                                      description: MUST be the IRI 'Image'.
                                    caption:
                                      type: string
                                      description: The caption for the image.
                                  required:
                                    - id
                                    - type
                                email:
                                  type: string
                                  format: email
                              required:
                                - id
                                - type
                          required:
                            - id
                            - type
                            - name
                            - description
                            - criteria
                      verifiableCredential:
                        type: array
                        items:
                          type: object
                          properties:
                            '@context':
                              type: array
                              items:
                                type: string
                            id:
                              type: string
                            type:
                              type: array
                              items:
                                type: string
                            issuer:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uri
                                type:
                                  type: array
                                  items:
                                    type: string
                                name:
                                  type: string
                                url:
                                  type: string
                                  format: uri
                                phone:
                                  type: string
                                description:
                                  type: string
                                image:
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                      format: uri
                                      description: The URI or Data URI of the image.
                                    type:
                                      type: string
                                      const: Image
                                      description: MUST be the IRI 'Image'.
                                    caption:
                                      type: string
                                      description: The caption for the image.
                                  required:
                                    - id
                                    - type
                                email:
                                  type: string
                                  format: email
                              required:
                                - id
                                - type
                            validFrom:
                              type: string
                              format: date-time
                            validUntil:
                              type: string
                              format: date-time
                            credentialSubject:
                              type: object
                              properties:
                                id:
                                  type: string
                            proof:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                  proofPurpose:
                                    type: string
                                  verificationMethod:
                                    type: string
                                  created:
                                    type: string
                                    format: date-time
                                  proofValue:
                                    type: string
                                  cryptosuite:
                                    type: string
                                required:
                                  - type
                                  - proofPurpose
                                  - verificationMethod
                                  - created
                                  - proofValue
                          required:
                            - '@context'
                            - id
                            - type
                            - issuer
                            - validFrom
                            - credentialSubject
                        minItems: 1
                      association:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              const: Association
                            associationType:
                              type: string
                              enum: *ref_1
                            sourceId:
                              type: string
                              format: uri
                            targetId:
                              type: string
                              format: uri
                          required:
                            - type
                            - associationType
                            - sourceId
                            - targetId
                    required:
                      - type
                      - verifiableCredential
                  proof:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                        proofPurpose:
                          type: string
                        verificationMethod:
                          type: string
                        created:
                          type: string
                          format: date-time
                        proofValue:
                          type: string
                        cryptosuite:
                          type: string
                      required:
                        - type
                        - proofPurpose
                        - verificationMethod
                        - created
                        - proofValue
                  credentialSchema:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        type:
                          type: string
                          const: 1EdTechJsonSchemaValidator2019
                      required:
                        - id
                        - type
                required:
                  - '@context'
                  - id
                  - type
                  - issuer
                  - name
                  - validFrom
                  - credentialSubject
        '201':
          description: Credential successfully created
          content:
            application/json:
              schema:
                type: object
                properties:
                  '@context':
                    type: array
                    items:
                      type: string
                  id:
                    type: string
                    format: uri
                  type:
                    type: array
                    items:
                      type: string
                  issuer:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uri
                      type:
                        type: array
                        items:
                          type: string
                      name:
                        type: string
                      url:
                        type: string
                        format: uri
                      phone:
                        type: string
                      description:
                        type: string
                      image:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uri
                            description: The URI or Data URI of the image.
                          type:
                            type: string
                            const: Image
                            description: MUST be the IRI 'Image'.
                          caption:
                            type: string
                            description: The caption for the image.
                        required:
                          - id
                          - type
                      email:
                        type: string
                        format: email
                    required:
                      - id
                      - type
                  name:
                    type: string
                  description:
                    type: string
                  validFrom:
                    type: string
                    format: date-time
                  validUntil:
                    type: string
                    format: date-time
                  credentialSubject:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uri
                      type:
                        type: array
                        items:
                          type: string
                      identifier:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              const: IdentityObject
                            identityHash:
                              type: string
                            identityType:
                              type: string
                            hashed:
                              type: boolean
                            salt:
                              type: string
                          required:
                            - type
                            - identityHash
                            - identityType
                            - hashed
                      achievement:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uri
                            type:
                              type: array
                              items:
                                type: string
                            name:
                              type: string
                            description:
                              type: string
                            criteria:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uri
                                  description: >-
                                    The URI of a webpage that describes the
                                    criteria.
                                narrative:
                                  type: string
                                  description: >-
                                    A narrative of what is needed to earn the
                                    achievement.
                            image:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uri
                                  description: The URI or Data URI of the image.
                                type:
                                  type: string
                                  const: Image
                                  description: MUST be the IRI 'Image'.
                                caption:
                                  type: string
                                  description: The caption for the image.
                              required:
                                - id
                                - type
                            achievementType:
                              anyOf:
                                - type: string
                                  enum: *ref_0
                                - type: string
                                  pattern: '^ext:'
                            creator:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uri
                                type:
                                  type: array
                                  items:
                                    type: string
                                name:
                                  type: string
                                url:
                                  type: string
                                  format: uri
                                phone:
                                  type: string
                                description:
                                  type: string
                                image:
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                      format: uri
                                      description: The URI or Data URI of the image.
                                    type:
                                      type: string
                                      const: Image
                                      description: MUST be the IRI 'Image'.
                                    caption:
                                      type: string
                                      description: The caption for the image.
                                  required:
                                    - id
                                    - type
                                email:
                                  type: string
                                  format: email
                              required:
                                - id
                                - type
                          required:
                            - id
                            - type
                            - name
                            - description
                            - criteria
                      verifiableCredential:
                        type: array
                        items:
                          type: object
                          properties:
                            '@context':
                              type: array
                              items:
                                type: string
                            id:
                              type: string
                            type:
                              type: array
                              items:
                                type: string
                            issuer:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uri
                                type:
                                  type: array
                                  items:
                                    type: string
                                name:
                                  type: string
                                url:
                                  type: string
                                  format: uri
                                phone:
                                  type: string
                                description:
                                  type: string
                                image:
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                      format: uri
                                      description: The URI or Data URI of the image.
                                    type:
                                      type: string
                                      const: Image
                                      description: MUST be the IRI 'Image'.
                                    caption:
                                      type: string
                                      description: The caption for the image.
                                  required:
                                    - id
                                    - type
                                email:
                                  type: string
                                  format: email
                              required:
                                - id
                                - type
                            validFrom:
                              type: string
                              format: date-time
                            validUntil:
                              type: string
                              format: date-time
                            credentialSubject:
                              type: object
                              properties:
                                id:
                                  type: string
                            proof:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                  proofPurpose:
                                    type: string
                                  verificationMethod:
                                    type: string
                                  created:
                                    type: string
                                    format: date-time
                                  proofValue:
                                    type: string
                                  cryptosuite:
                                    type: string
                                required:
                                  - type
                                  - proofPurpose
                                  - verificationMethod
                                  - created
                                  - proofValue
                          required:
                            - '@context'
                            - id
                            - type
                            - issuer
                            - validFrom
                            - credentialSubject
                        minItems: 1
                      association:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              const: Association
                            associationType:
                              type: string
                              enum: *ref_1
                            sourceId:
                              type: string
                              format: uri
                            targetId:
                              type: string
                              format: uri
                          required:
                            - type
                            - associationType
                            - sourceId
                            - targetId
                    required:
                      - type
                      - verifiableCredential
                  proof:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                        proofPurpose:
                          type: string
                        verificationMethod:
                          type: string
                        created:
                          type: string
                          format: date-time
                        proofValue:
                          type: string
                        cryptosuite:
                          type: string
                      required:
                        - type
                        - proofPurpose
                        - verificationMethod
                        - created
                        - proofValue
                  credentialSchema:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        type:
                          type: string
                          const: 1EdTechJsonSchemaValidator2019
                      required:
                        - id
                        - type
                required:
                  - '@context'
                  - id
                  - type
                  - issuer
                  - name
                  - validFrom
                  - credentialSubject
        '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/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
          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
