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

# Search and filter test parts within an assessment test

> Get all test parts within an assessment test with support for filtering by navigation mode, submission mode, and text search. Test parts are organizational units that group sections and define testing behaviors like linear/nonlinear navigation.



## OpenAPI

````yaml /openapi/beyond-ai/qti-api.yaml get /assessment-tests/{assessmentTestIdentifier}/test-parts
openapi: 3.1.0
info:
  title: QTI API
  version: 1.0.0
  description: >-
    A robust assessment engine implementing the QTI 3.0 specification, designed
    for creating, managing, and delivering educational assessments.
servers:
  - url: https://qti.alpha-1edtech.ai/api
    description: Main Server
security:
  - OAuth2: []
  - MCP: []
tags:
  - name: Validation
    description: >-
      Validate XML strings against QTI compliant XSD files. XSD version
      supported is 3.0.0 (3p0)
  - name: Feedback
    description: Feedback for questions and lessons
  - name: Assessment Test Management
    description: >-
      Enables the management of Assessment Tests. Assessment Tests are the main
      entities that contain Assessment Test Parts, Sections, and Assessment
      Items.
  - name: Test Part Management
    description: >-
      Enables the management of Test Parts. Assessment Test Parts are used to
      group sections inside of an Assessment Test.
  - name: Section Management
    description: >-
      Enables the management of Sections. Assessment Sections are used to group
      Assessment Items.
  - name: Assessment Item Management
    description: >-
      Enables the management of Assessment ITems. Assessment Items are made up
      of QTI Interactions (e.g. questions, multiple choice, etc.).
  - name: Stimulus Management
    description: >-
      Enables the management of Stimuli. Stimuli are shared content pieces
      (text, images, audio, video) that provide context for assessment items and
      can be referenced by multiple questions.
paths:
  /assessment-tests/{assessmentTestIdentifier}/test-parts:
    get:
      tags:
        - Test Part Management
      summary: Search and filter test parts within an assessment test
      description: >-
        Get all test parts within an assessment test with support for filtering
        by navigation mode, submission mode, and text search. Test parts are
        organizational units that group sections and define testing behaviors
        like linear/nonlinear navigation.
      operationId: searchTestParts
      parameters:
        - name: assessmentTestIdentifier
          description: >-
            The unique identifier of the parent assessment test containing the
            test parts
          in: path
          required: true
          schema:
            type: string
        - in: query
          name: query
          description: >-
            Search title and identifier fields using a search term. This is a
            fuzzy search.
          schema:
            type: string
            description: >-
              Search title and identifier fields using a search term. This is a
              fuzzy search.
        - in: query
          name: page
          description: Page number for pagination
          schema:
            type: string
            default: '1'
            description: Page number for pagination
            example: 1
        - in: query
          name: limit
          description: Number of items per page
          schema:
            type: string
            default: '10'
            description: Number of items per page
            example: 10
        - in: query
          name: sort
          description: Field to sort by
          schema:
            type: string
            enum:
              - title
              - identifier
              - createdAt
              - updatedAt
            description: Field to sort by
            example: createdAt
        - in: query
          name: order
          description: Sort order
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
            description: Sort order
            example: desc
        - in: query
          name: navigationMode
          description: >-
            Filter by navigation mode (linear: sequential navigation, nonlinear:
            free navigation)
          schema:
            type: string
            enum:
              - linear
              - nonlinear
            description: >-
              Filter by navigation mode (linear: sequential navigation,
              nonlinear: free navigation)
            example: linear
        - in: query
          name: submissionMode
          description: >-
            Filter by submission mode (individual: submit per item,
            simultaneous: submit all at once)
          schema:
            type: string
            enum:
              - individual
              - simultaneous
            description: >-
              Filter by submission mode (individual: submit per item,
              simultaneous: submit all at once)
            example: individual
        - in: query
          name: subject
          description: >-
            Filter by subject (e.g. Math, Reading) using the optimized
            consolidated field
          schema:
            type: string
            description: >-
              Filter by subject (e.g. Math, Reading) using the optimized
              consolidated field
            example: Math
        - in: query
          name: grade
          description: Filter by grade level using the optimized consolidated field
          schema:
            type: string
            description: Filter by grade level using the optimized consolidated field
            example: '5'
        - in: query
          name: hasQuestions
          description: >-
            Filter tests based on whether they have questions (true) or not
            (false)
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
            description: >-
              Filter tests based on whether they have questions (true) or not
              (false)
            example: 'true'
        - in: query
          name: filter
          description: >-
            Advanced filter expression using =, !=, >, >=, <, <=, ~ and logical
            AND/OR. Example: type='practice' AND createdAt>'2024-01-01'
          schema:
            type: string
            description: >-
              Advanced filter expression using =, !=, >, >=, <, <=, ~ and
              logical AND/OR. Example: type='practice' AND
              createdAt>'2024-01-01'
      responses:
        '200':
          description: Successfully retrieved test parts
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          type: string
                          description: >-
                            Unique identifier for the entity on the service
                            provider.
                        navigationMode:
                          type: string
                          enum:
                            - linear
                            - nonlinear
                          description: >-
                            Controls how learners navigate through the test
                            part. 'linear' requires items to be responded to in
                            sequence without jumping around, while 'nonlinear'
                            allows candidates to respond to items in any order
                            they choose.
                        submissionMode:
                          type: string
                          enum:
                            - individual
                            - simultaneous
                          description: >-
                            Determines how learner responses are submitted for
                            response processing. 'individual' allows responses
                            to be submitted as each item is completed, while
                            'simultaneous' means responses for all items are
                            sent when the whole part is completed.
                        qti-assessment-section:
                          type: array
                          items:
                            type: object
                            properties:
                              identifier:
                                type: string
                                description: >-
                                  Unique identifier for the entity on the
                                  service provider.
                              title:
                                type: string
                                description: >-
                                  Human-readable title of the entity on the
                                  service provider.
                              visible:
                                type: boolean
                                default: true
                                description: >-
                                  Determines whether the assessment section is
                                  visible to candidates during test delivery.
                                  Sections are visible by default unless
                                  explicitly hidden for specific assessment
                                  conditions.
                              required:
                                type: boolean
                                default: true
                                description: >-
                                  If a child element is required it must appear
                                  (at least once) in the selection.
                              fixed:
                                type: boolean
                                default: false
                                description: >-
                                  If a child element is fixed it must never be
                                  shuffled. When used in combination with a
                                  selection rule fixed elements do not have
                                  their position fixed until after selection has
                                  taken place.
                              sequence:
                                type: integer
                                exclusiveMinimum: 0
                                description: >-
                                  Defines the sequential order of this item
                                  within its parent section. Must be a positive
                                  integer that determines presentation order to
                                  candidates.
                              qti-assessment-item-ref:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    identifier:
                                      type: string
                                      description: >-
                                        Unique identifier for the entity on the
                                        service provider.
                                    href:
                                      type: string
                                      description: >-
                                        URI reference to the assessment item
                                        resource location on the service
                                        provider
                                  required:
                                    - identifier
                                  description: >-
                                    Assessment item reference schema for linking
                                    assessment items to sections
                                description: >-
                                  Collection of assessment items that are
                                  referenced within this section.
                              qti-pre-condition:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: {}
                                description: >-
                                  Array of QTI 3.0 pre-conditions. Each
                                  pre-condition contains a logical expression
                                  that is evaluated before the element is
                                  presented. If any pre-condition evaluates to
                                  false, the element is skipped.
                              qti-branch-rule:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: {}
                                description: >-
                                  Array of QTI 3.0 branch rules. Each branch
                                  rule contains a logical expression that, when
                                  evaluated to true after the element is
                                  presented, causes the test to jump to the
                                  target identified by the rule.
                            required:
                              - identifier
                              - title
                              - visible
                            description: >-
                              Complete assessment section data with all
                              referenced items. Represents a section containing
                              learning content within a test part.
                        qti-pre-condition:
                          type: array
                          items:
                            type: object
                            additionalProperties: {}
                          description: >-
                            Array of QTI 3.0 pre-conditions. Each pre-condition
                            contains a logical expression that is evaluated
                            before the element is presented. If any
                            pre-condition evaluates to false, the element is
                            skipped.
                        qti-branch-rule:
                          type: array
                          items:
                            type: object
                            additionalProperties: {}
                          description: >-
                            Array of QTI 3.0 branch rules. Each branch rule
                            contains a logical expression that, when evaluated
                            to true after the element is presented, causes the
                            test to jump to the target identified by the rule.
                      required:
                        - identifier
                        - navigationMode
                        - submissionMode
                        - qti-assessment-section
                      description: >-
                        Complete test part data returned from the service
                        provider. Contains all sections and their configuration.
                    description: >-
                      Array of all test parts belonging to the specified
                      assessment test
                  total:
                    type: number
                    description: >-
                      The total number of entities that match the search
                      criteria.
                  page:
                    type: number
                    description: >-
                      The page number of the entities that match the search
                      criteria.
                    default: 1
                  pages:
                    type: number
                    description: >-
                      The total number of pages of entities that match the
                      search criteria.
                  limit:
                    type: number
                    description: The number of entities per page.
                    default: 10
                  sort:
                    type: string
                    description: The field to sort the entities by.
                  order:
                    type: string
                    enum:
                      - asc
                      - desc
                    description: The order to sort the entities by. Either 'asc' or 'desc'.
                required:
                  - items
                  - total
                  - page
                  - pages
                  - limit
                  - sort
                  - order
                description: Paginated collection of test parts with navigation metadata
        '400':
          description: Missing required parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  details:
                    type: string
                required:
                  - error
        '404':
          description: Assessment test not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error type identifier
                  message:
                    type: string
                    description: Human-readable error message
                  eventId:
                    type: string
                    description: Sentry event ID for error tracking
                  details:
                    type: string
                    description: Stack trace or additional error details
                required:
                  - error
                  - message
                  - details
                description: Internal server error response
components:
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          scopes:
            https://purl.imsglobal.org/spec/qti/v3/scope/readonly: Read access to QTI
            https://purl.imsglobal.org/spec/qti/v3/scope/createput: Create and update access to QTI
            https://purl.imsglobal.org/spec/qti/v3/scope/delete: Delete access to QTI
          tokenUrl: >-
            https://prod-beyond-timeback-api-2-idp.auth.us-east-1.amazoncognito.com/oauth2/token
    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/qti/v3/scope/readonly: Read access to QTI

````