> ## Documentation Index
> Fetch the complete documentation index at: https://docs.timeback.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Trigger a mastery assessment for a student

> Signal that a student has completed learning and is ready for mastery assessment. Validates the student has an active assignment with resolved CFItems, looks up assessment mappings, and creates OneRosterUserProfile entries linking the student to each assessment app.



## OpenAPI

````yaml /openapi/learn-with-ai/platform-api.yaml post /competency-track/1.0/assessments
openapi: 3.1.1
info:
  title: TimeBack Platform API
  description: >-
    RESTful API for the TimeBack Platform. Covers authentication, rostering,
    curriculum, insights, assessments, content grading, and more.
  version: 2026.09.10.1
servers:
  - url: https://platform.dev.timeback.com
    description: integration
security: []
tags:
  - name: Auth
    description: Authentication and authorization endpoints
  - name: Organizations
    description: Organizations module contains all endpoints around organization management
  - name: Applications
    description: Applications module contains all endpoints for managing LTI applications
  - name: Users
    description: >-
      Users module contains all endpoints around user creation, update and
      consultation
  - name: Students
    description: Students module contains all endpoints around student management
  - name: Demographics
    description: >-
      Demographics module contains all endpoints around demographics
      consultation
  - name: Consent
    description: >-
      Initiate and query TimeBack parental consent for a student, backed by an
      immutable audit trail.
  - name: Classes
    description: Classes module contains all endpoints around class management
  - name: Courses
    description: Courses module contains all endpoints around course management
  - name: Enrollments
    description: Enrollments module contains all endpoints around enrollment consultation
  - name: CASE
    description: Competency and Academic Standards Exchange (CASE) 1.1 API
  - name: Curriculum
    description: Curriculum module contains endpoints for managing curriculum data
  - name: Competency Track
    description: Competency track endpoints
  - name: Content Grading
    description: >-
      Registration and management of graders for free-response content items —
      bring-your-own external graders (Tier 2) and, once shipped,
      platform-managed grading prompts (Tier 1).
  - name: Caliper
    description: The Caliper module contains all endpoints around Caliper Analytics
  - name: Insights
    description: Coaching insights and session analytics endpoints
paths:
  /competency-track/1.0/assessments:
    post:
      tags:
        - Competency Track
      summary: Trigger a mastery assessment for a student
      description: >-
        Signal that a student has completed learning and is ready for mastery
        assessment. Validates the student has an active assignment with resolved
        CFItems, looks up assessment mappings, and creates OneRosterUserProfile
        entries linking the student to each assessment app.
      operationId: postAssessment
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAssessmentInput'
      responses:
        '201':
          $ref: '#/components/responses/CreateAssessmentSuccess'
        '400':
          $ref: '#/components/responses/BadRequest14'
        '401':
          $ref: '#/components/responses/Unauthorized5'
        '403':
          $ref: '#/components/responses/Forbidden5'
        '500':
          $ref: '#/components/responses/InternalError13'
      security:
        - CognitoUserPoolAuthorizer:
            - >-
              https://timeback-platform.trilogy.com/competency-track/scope/competency-track.write
components:
  schemas:
    CreateAssessmentInput:
      type: object
      description: Input for triggering a mastery assessment
      properties:
        assessment:
          type: object
          properties:
            assignmentId:
              type: string
              format: uuid
              description: sourcedId of the student's StudentLearningBlockAssignment
          required:
            - assignmentId
      required:
        - assessment
    AssessmentOutput:
      type: object
      description: Assessment trigger response
      properties:
        assessment:
          type: object
          properties:
            sourcedId:
              type: string
              format: uuid
              description: Auto-generated identifier for the assessment trigger
            assignmentId:
              type: string
              format: uuid
              description: sourcedId of the student's assignment
            studentId:
              type: string
              format: uuid
              description: OneRoster user sourcedId of the student
            assessmentAppIds:
              type: array
              description: >-
                LtiApplication identifiers for assessment apps the student was
                linked to
              items:
                type: string
                format: uuid
          required:
            - sourcedId
            - assignmentId
            - studentId
            - assessmentAppIds
      required:
        - assessment
    ApiError:
      type: object
      description: API error response
      properties:
        error:
          type: string
          description: Error type
        message:
          type: string
          description: Error message
      required:
        - error
        - message
  responses:
    CreateAssessmentSuccess:
      description: Assessment triggered successfully
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AssessmentOutput'
    BadRequest14:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          examples:
            default:
              value:
                error: Bad request
                message: Invalid request parameters
    Unauthorized5:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          examples:
            default:
              value:
                error: Unauthorized request
                message: Unauthorized request
    Forbidden5:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          examples:
            default:
              value:
                error: Access forbidden
                message: Access forbidden
    InternalError13:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          examples:
            default:
              value:
                error: Internal server error
                message: Internal server error
  securitySchemes:
    CognitoUserPoolAuthorizer:
      type: oauth2
      description: >-
        OAuth 2.0 client credentials flow. Contact timeback@trilogy.com to
        request credentials for your application.
      flows:
        clientCredentials:
          tokenUrl: https://platform.dev.timeback.com/auth/1.0/token
          scopes:
            https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly: roster readonly
            https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly: roster-core readonly
            https://purl.imsglobal.org/spec/or/v1p2/scope/roster.createput: roster createput
            https://purl.imsglobal.org/spec/lti/v1p3/scope/lti.readonly: lti readonly
            https://purl.imsglobal.org/spec/or/v1p2/scope/roster-demographics.readonly: roster-demographics readonly
            https://timeback-platform.trilogy.com/consent/scope/consent.write: consent write
            https://timeback-platform.trilogy.com/consent/scope/consent.read: consent read
            https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.createput: roster-core createput
            https://purl.imsglobal.org/spec/or/v1p2/scope/roster.delete: roster delete
            https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.delete: roster-core delete
            https://purl.imsglobal.org/spec/case/v1p0/scope/case.readonly: case readonly
            https://purl.imsglobal.org/spec/case/v1p0/scope/case.createput: case createput
            https://purl.imsglobal.org/spec/case/v1p0/scope/case.delete: case delete
            https://timeback-platform.trilogy.com/competency-track/scope/competency-track.readonly: competency-track readonly
            https://timeback-platform.trilogy.com/competency-track/scope/competency-track.write: competency-track write
            https://timeback-platform.trilogy.com/competency-track/scope/competency-track.delete: competency-track delete
            https://timeback-platform.trilogy.com/content/scope/content.write: content write
            https://timeback-platform.trilogy.com/content/scope/content.read: content read
            https://purl.imsglobal.org/spec/caliper/v1p2/scope/events.write: events write
            https://purl.imsglobal.org/spec/caliper/v1p2/scope/events.readonly: events readonly
            https://timeback-platform.trilogy.com/webhooks/scope/webhooks.write: webhooks write
            https://timeback-platform.trilogy.com/webhooks/scope/webhooks.read: webhooks read
            https://timeback-platform.trilogy.com/webhooks/scope/webhooks.delete: webhooks delete

````