> ## 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.

# Get teachers in a class

> Returns a paginated list of teachers assigned to a specific class



## OpenAPI

````yaml /openapi/learn-with-ai/platform-api.yaml get /rostering/1.0/classes/{sourcedId}/teachers
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:
  /rostering/1.0/classes/{sourcedId}/teachers:
    get:
      tags:
        - Classes
      summary: Get teachers in a class
      description: Returns a paginated list of teachers assigned to a specific class
      operationId: getClassTeachers
      parameters:
        - name: sourcedId
          in: path
          description: Unique identifier of the class
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/filter1'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/orderBy'
        - $ref: '#/components/parameters/fields2'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedOneRosterUserOutput'
        '400':
          $ref: '#/components/responses/BadRequest17'
        '404':
          $ref: '#/components/responses/NotFound11'
        '500':
          $ref: '#/components/responses/InternalError16'
      security:
        - CognitoUserPoolAuthorizer:
            - https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly
            - https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly
components:
  parameters:
    limit:
      name: limit
      in: query
      description: Maximum number of items to return
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 10
    offset:
      name: offset
      in: query
      description: Number of items to skip
      required: false
      schema:
        type: integer
        minimum: 0
        default: 0
    filter1:
      name: filter
      in: query
      description: >
        Filter results using OneRoster syntax: filter=<field><predicate><value>

        Predicates: = (equals), != (not equals), ~ (contains), >, >=, <, <=

        Logical operators: AND, OR (max 2 predicates per OneRoster spec)

        Available fields: sourcedId, status, email, familyName, givenName,
        middleName, username, enabledUser, identifier, roles

        Example: filter=email='john@example.com'
      required: false
      schema:
        type: string
    sort:
      name: sort
      in: query
      description: Field to sort by
      required: false
      schema:
        type: string
    orderBy:
      name: orderBy
      in: query
      description: Sort direction
      required: false
      schema:
        type: string
        enum:
          - ASC
          - DESC
        default: ASC
    fields2:
      name: fields
      in: query
      description: >
        Comma-separated list of fields to include in the response.

        Available fields: sourcedId, status, dateLastModified, username,
        enabledUser, givenName, familyName, middleName, email, phone, sms,
        identifier, roles, grades, agents, userIds, userMasterIdentifier,
        preferredFirstName, preferredMiddleName, preferredLastName,
        primaryOrg.sourcedId, primaryOrg.type, userProfiles,
        userProfiles.profileId, userProfiles.profileType, userProfiles.vendorId,
        userProfiles.applicationId
      required: false
      schema:
        type: string
      style: form
      explode: false
  schemas:
    PaginatedOneRosterUserOutput:
      type: object
      description: Paginated list of OneRoster users
      properties:
        users:
          type: array
          description: Array of user objects
          items:
            $ref: '#/components/schemas/OneRosterUserOutput'
        offset:
          type: integer
          description: Number of items skipped in the result set
        limit:
          type: integer
          description: Maximum number of items returned
        total:
          type: integer
          description: Total number of items available
      required:
        - users
        - offset
        - limit
        - total
    OneRosterUserOutput:
      type: object
      description: |
        User information in the OneRoster format
      required:
        - sourcedId
        - status
        - dateLastModified
        - userIds
        - enabledUser
        - givenName
        - familyName
        - roles
        - userProfiles
        - agents
        - grades
        - resources
        - email
      properties:
        sourcedId:
          type: string
          description: Unique identifier for the user
        status:
          $ref: '#/components/schemas/EntityStatus'
        dateLastModified:
          type: string
          format: date-time
          description: Timestamp of when the user was last modified
        metadata:
          type:
            - object
            - 'null'
          description: Additional metadata associated with the user
          additionalProperties: true
        userMasterIdentifier:
          type:
            - string
            - 'null'
          description: >-
            The master unique identifier for this user. This is NOT the same as
            the user's interoperability 'sourcedId'.
        username:
          type:
            - string
            - 'null'
          description: The user name assigned to the user.
        userIds:
          type: array
          description: >-
            The set of external user identifiers that should be used for this
            user.
          minItems: 0
          items:
            $ref: '#/components/schemas/OneRosterUserId'
        enabledUser:
          type: string
          enum:
            - 'true'
            - 'false'
          description: >-
            This is used to determine whether or not the record is active in the
            local system.
        givenName:
          type: string
          description: The given name. Also, known as the first name.
        familyName:
          type: string
          description: The family name. Also, known as the last name.
        middleName:
          type:
            - string
            - 'null'
          description: >-
            The set of middle names. If more than one middle name is needed
            separate using a space.
        preferredFirstName:
          type:
            - string
            - 'null'
          description: User's preferred first name if different from given name
        preferredMiddleName:
          type:
            - string
            - 'null'
          description: User's preferred middle name if different from middle name
        preferredLastName:
          type:
            - string
            - 'null'
          description: User's preferred last name if different from family name
        roles:
          type: array
          minItems: 0
          description: Array of roles assigned to the user
          items:
            $ref: '#/components/schemas/OneRosterUserRoleOutput'
        userProfiles:
          type: array
          minItems: 0
          description: Array of profiles associated with the user in different systems
          items:
            $ref: '#/components/schemas/OneRosterUserProfileOutput'
        primaryOrg:
          description: ID of the user's primary organization
          anyOf:
            - $ref: '#/components/schemas/OneRosterGUIDRef'
            - type: 'null'
        identifier:
          type:
            - string
            - 'null'
          description: Additional identifier for the user
        email:
          type: string
          description: User's email address
        sms:
          type:
            - string
            - 'null'
          description: User's SMS contact number
        phone:
          type:
            - string
            - 'null'
          description: User's primary phone number
        agents:
          type: array
          minItems: 0
          description: Array of agents (parents, guardians) associated with the user
          items:
            $ref: '#/components/schemas/OneRosterGUIDRef'
        grades:
          type: array
          minItems: 0
          description: Array of grade levels associated with the user
          items:
            type: string
        password:
          type:
            - string
            - 'null'
          description: User's password (hashed)
        resources:
          type: array
          minItems: 0
          description: >-
            The identifiers (GUIDs) for the set of resources that are to be made
            available to the user.
          items:
            $ref: '#/components/schemas/OneRosterGUIDRef'
    imsxStatusInfoDType11:
      description: >
        This is the container for the status code and associated information
        returned within the HTTP messages received from the Service Provider.
        For the OneRoster Rostering service this object will only be returned to
        provide information about a failed request i.e. it will NOT be in the
        payload for a successful request.
      type: object
      required:
        - imsx_codeMajor
        - imsx_severity
      properties:
        imsx_codeMajor:
          description: |
            The code major value (from the corresponding enumerated vocabulary).
          type: string
          enum:
            - success
            - processing
            - failure
            - unsupported
        imsx_severity:
          description: |
            The severity value (from the corresponding enumerated vocabulary).
          type: string
          enum:
            - status
            - warning
            - error
        imsx_description:
          description: >-
            A human readable description supplied by the entity creating the
            status code information.
          type: string
        imsx_CodeMinor:
          $ref: '#/components/schemas/imsxCodeMinorDType11'
      additionalProperties: false
    EntityStatus:
      type: string
      description: Status of an entity in the system
      enum:
        - active
        - tobedeleted
        - inactive
    OneRosterUserId:
      type: object
      description: External identifier reference for a user (e.g., SIS ID).
      properties:
        type:
          type: string
          description: Type of the external identifier.
        identifier:
          type: string
          description: The external identifier value.
      required:
        - type
        - identifier
      additionalProperties: false
    OneRosterUserRoleOutput:
      type: object
      description: Role information associated with a user
      properties:
        roleType:
          type: string
          enum:
            - primary
            - secondary
          description: Type of role (primary/secondary)
        role:
          type: string
          enum:
            - aide
            - counselor
            - districtAdministrator
            - guardian
            - parent
            - principal
            - proctor
            - relative
            - siteAdministrator
            - student
            - systemAdministrator
            - teacher
          description: Role value
        org:
          $ref: '#/components/schemas/OneRosterGUIDRef'
          description: Organization associated with the role
        userProfile:
          type:
            - string
            - 'null'
          description: User profile ID associated with this role
        beginDate:
          type:
            - string
            - 'null'
          description: Date when the role assignment begins
        endDate:
          type:
            - string
            - 'null'
          description: Date when the role assignment ends
        admissionDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            Admission date for this role, copied from the SIS enrollment_date on
            the eng-roster row when the role is student. Null when the SIS does
            not carry that date, or when this role is not a student role.
      required:
        - roleType
        - role
        - org
      additionalProperties: false
    OneRosterUserProfileOutput:
      type: object
      description: Profile information associated with a user in a specific role
      properties:
        profileId:
          type: string
          format: uri
          description: Unique identifier for the profile
        profileType:
          type: string
          description: Type of profile (e.g., learning platform, assessment system)
        vendorId:
          type: string
          description: Identifier of the vendor providing this profile
        applicationId:
          type:
            - string
            - 'null'
          description: Identifier of the specific application this profile is for
        description:
          type:
            - string
            - 'null'
          description: Human-readable description of this profile
        dateCreated:
          type: string
          format: date-time
          description: Date when the profile was created
        credentials:
          type: array
          description: List of credentials associated with this profile
          minItems: 0
          items:
            $ref: '#/components/schemas/OneRosterCredentialOutput'
      required:
        - profileId
        - profileType
        - vendorId
    OneRosterGUIDRef:
      type: object
      description: A reference to another OneRoster entity
      properties:
        href:
          type: string
          format: uri
          description: URI reference to the entity
        sourcedId:
          type: string
          description: Unique identifier of the referenced entity
        type:
          type: string
          enum:
            - academicSession
            - category
            - class
            - course
            - demographics
            - enrollment
            - gradingPeriod
            - org
            - resource
            - user
          description: Type of the referenced entity
      required:
        - href
        - sourcedId
        - type
    imsxCodeMinorDType11:
      description: >
        This is the container for the set of code minor status codes reported in
        the responses from the Service Provider.
      type: object
      required:
        - imsx_codeMinorField
      properties:
        imsx_codeMinorField:
          description: |
            Each reported code minor status code.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/imsxCodeMinorFieldDType11'
      additionalProperties: false
    OneRosterCredentialOutput:
      type: object
      description: >-
        The container for the information about a User Profile that will provide
        the user with access to some system, application, etc.
      properties:
        username:
          type: string
          description: The username for the profile
        password:
          type: string
          description: The password for the profile
        identity:
          type: string
          description: The identity for the profile
      additionalProperties: false
    imsxCodeMinorFieldDType11:
      description: |
        This is the container for a single code minor status code.
      type: object
      required:
        - imsx_codeMinorFieldName
        - imsx_codeMinorFieldValue
      properties:
        imsx_codeMinorFieldName:
          description: >-
            This should contain the identity of the system that has produced the
            code minor status code report. In most cases this will be the target
            service provider denoted as 'TargetEndSystem'.
          type: string
          default: TargetEndSystem
        imsx_codeMinorFieldValue:
          description: >
            The code minor status code (this is a value from the corresponding
            enumerated vocabulary).
          type: string
          enum:
            - fullsuccess
            - invalid_filter_field
            - invalid_selection_field
            - invaliddata
            - unauthorisedrequest
            - forbidden
            - server_busy
            - unknownobject
            - internal_server_error
      additionalProperties: false
  responses:
    BadRequest17:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/imsxStatusInfoDType11'
          examples:
            invalidData:
              value:
                imsx_codeMajor: failure
                imsx_severity: error
                imsx_description: Invalid data provided
                imsx_CodeMinor:
                  imsx_codeMinorField:
                    - imsx_codeMinorFieldName: TargetEndSystem
                      imsx_codeMinorFieldValue: invaliddata
            invalidFilter:
              value:
                imsx_codeMajor: failure
                imsx_severity: error
                imsx_description: Invalid filter field
                imsx_CodeMinor:
                  imsx_codeMinorField:
                    - imsx_codeMinorFieldName: TargetEndSystem
                      imsx_codeMinorFieldValue: invalid_filter_field
    NotFound11:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/imsxStatusInfoDType11'
          examples:
            default:
              value:
                imsx_codeMajor: failure
                imsx_severity: error
                imsx_description: Resource not found
                imsx_CodeMinor:
                  imsx_codeMinorField:
                    - imsx_codeMinorFieldName: TargetEndSystem
                      imsx_codeMinorFieldValue: unknownobject
    InternalError16:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/imsxStatusInfoDType11'
          examples:
            default:
              value:
                imsx_codeMajor: failure
                imsx_severity: error
                imsx_description: Internal server error
                imsx_CodeMinor:
                  imsx_codeMinorField:
                    - imsx_codeMinorFieldName: TargetEndSystem
                      imsx_codeMinorFieldValue: 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

````