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

# Create question feedback

> Creates a new feedback for a question



## OpenAPI

````yaml /openapi/beyond-ai/qti-api.yaml post /feedback/question
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 the QTI 3.0.1 schema
  - 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:
  /feedback/question:
    post:
      tags:
        - Feedback
      summary: Create question feedback
      description: Creates a new feedback for a question
      operationId: createQuestionFeedback
      requestBody:
        description: The question feedback content to create
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                questionId:
                  type: string
                  description: >-
                    Identifier of the specific question this feedback refers to
                    (optional, for question-level feedback)
                userId:
                  type: string
                  description: Identifier of the user who submitted the feedback
                feedback:
                  type: string
                  description: The feedback content provided by the user
                lessonId:
                  type: string
                  description: Identifier of the lesson this feedback refers to (required)
                humanApproved:
                  type: boolean
                  description: >-
                    Whether the feedback has been reviewed and approved by a
                    human
              required:
                - userId
                - feedback
                - lessonId
              description: Schema for creating new feedback (identifier is auto-generated)
      responses:
        '201':
          description: Successfully created question feedback
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateFeedback'
        '400':
          description: Invalid request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: No bearer token, or an invalid one
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: >-
            The token lacks the required scope, or the caller does not own the
            resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '413':
          description: The request body is larger than 50 MB
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '503':
          description: Database unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
components:
  schemas:
    CreateFeedback:
      type: object
      properties:
        questionId:
          type: string
          description: >-
            Identifier of the specific question this feedback refers to
            (optional, for question-level feedback)
        userId:
          type: string
          description: Identifier of the user who submitted the feedback
        feedback:
          type: string
          description: The feedback content provided by the user
        type:
          type: string
          enum:
            - QUESTION
            - LESSON
          description: >-
            Type of feedback - either for a specific question or for the entire
            lesson
        lessonId:
          type: string
          description: Identifier of the lesson this feedback refers to (required)
        humanApproved:
          type: boolean
          description: Whether the feedback has been reviewed and approved by a human
      required:
        - userId
        - feedback
        - type
        - lessonId
      description: Schema for creating new feedback (identifier is auto-generated)
    ErrorBody:
      type: object
      properties:
        error:
          type: string
          description: The problem in one sentence (same as detail)
        code:
          type: string
          description: >-
            The reason phrase with the spaces removed, for every error:
            BadRequest, Unauthorized, Forbidden, NotFound, Conflict, Gone,
            ContentTooLarge, UnsupportedMediaType, UnprocessableContent,
            InternalServerError, ServiceUnavailable
        details:
          type: string
          description: The individual errors joined into one line, when there are any
        title:
          type: string
          description: The HTTP reason phrase (RFC 9457)
        status:
          type: integer
          description: The HTTP status code (RFC 9457)
        detail:
          type: string
          description: >-
            The problem in one sentence (RFC 9457); on a 500 it is the phrase
            and nothing more
        errors:
          type: array
          items:
            type: object
            properties:
              detail:
                type: string
              pointer:
                type: string
                description: JSON Pointer to the offending part of the request
            required:
              - detail
          description: Individual problems, for validation failures
        traceId:
          type: string
          pattern: ^[0-9a-f]{32}$
          description: W3C trace id of the request; absent when no trace was active
      required:
        - error
        - code
        - title
        - status
        - detail
      description: Error response
  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

````