components:
  schemas:
    JsonValue: {}
    Problem:
      additionalProperties: true
      properties:
        code:
          type: string
        detail:
          type: string
        requestId:
          type: string
        status:
          type: integer
        title:
          type: string
        traceId:
          type: string
        type:
          format: uri
          type: string
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http
externalDocs:
  description: Customer documentation
  url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/customer_website/
info:
  description: Generated discovery contract for the live Platform3 master route. Domain field semantics remain owned by the linked data dictionary.
  title: Platform3 QTI 1EdTech API
  version: 1.0.0
openapi: 3.1.0
paths:
  /:
    get:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_GET_0d3bd6fa
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      security: []
      summary: Read the API discovery descriptor
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
  /dev/mint:
    post:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_POST_dev_mint_de1a4789
      parameters:
        - in: query
          name: tenantId
          required: false
          schema:
            type: string
      responses:
        "200": &a1
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        "201": *a1
        "202": *a1
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      security: []
      summary: Mint a demo-only Bearer JWT for one tenant.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
  /fixtures/qti-package.xml:
    get:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_GET_fixtures_qti_package_xml_73e5e4db
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      security: []
      summary: Download the loose QTI XML item used by the demo package.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
  /fixtures/qti-package.zip:
    get:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_GET_fixtures_qti_package_zip_bcd2b1c8
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      security: []
      summary: Download the cold-runnable demo IMS/QTI package fixture.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
  /qti/conformance-runs:
    post:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_POST_qti_conformance_runs_2d7e15b9
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JsonValue"
        required: true
      responses:
        "200": &a2
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        "201": *a2
        "202": *a2
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Run the bundled QTI example corpus through validation, round-trip, and processing assertions.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
  /tenants/{tenantId}/qti/artifact-versions:
    get:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_GET_tenants_tenantId_qti_artifact_versions_e1f24f6e
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Enumerate tenant-owned immutable artifact versions through their owning logical artifacts.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
  /tenants/{tenantId}/qti/artifact-versions/{artifactVersionId}/delivery-json:
    get:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_GET_tenants_tenantId_qti_artifact_versions_artifactVersionId_delivery_json_ea04168e
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            type: string
        - in: path
          name: artifactVersionId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Fetch declared-lossiness delivery JSON generated from the canonical object model.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
  /tenants/{tenantId}/qti/artifact-versions/{artifactVersionId}/xml:
    get:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_GET_tenants_tenantId_qti_artifact_versions_artifactVersionId_xml_b9deaf55
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            type: string
        - in: path
          name: artifactVersionId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Export canonical XML from a persisted artifact version.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
  /tenants/{tenantId}/qti/artifacts:
    get:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_GET_tenants_tenantId_qti_artifacts_a9c80a18
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Enumerate tenant-owned logical QTI artifacts and their latest immutable version handles.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
  /tenants/{tenantId}/qti/artifacts/{artifactId}/authoring-json:
    get:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_GET_tenants_tenantId_qti_artifacts_artifactId_authoring_json_1fc5064b
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            type: string
        - in: path
          name: artifactId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Read the latest lossless authoring JSON projection for a logical artifact.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
    put:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_PUT_tenants_tenantId_qti_artifacts_artifactId_authoring_json_96e2f7ce
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            type: string
        - in: path
          name: artifactId
          required: true
          schema:
            type: string
        - in: header
          name: If-Match
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JsonValue"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Save a lossless authoring JSON edit and create or reuse an artifact version.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
  /tenants/{tenantId}/qti/candidates/{candidateRef}/runtime-data:
    delete:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_DELETE_tenants_tenantId_qti_candidates_candidateRef_runtime_data_cb628389
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            type: string
        - in: path
          name: candidateRef
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        "204":
          description: Successful deletion
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Delete delivery sessions and cascading attempts for one tenant-scoped pseudonymous candidate reference.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
    get:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_GET_tenants_tenantId_qti_candidates_candidateRef_runtime_data_0d9c4c18
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            type: string
        - in: path
          name: candidateRef
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Read candidate-scoped delivery sessions and attempts for a pseudonymous candidate reference.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
  /tenants/{tenantId}/qti/collections/{collectionKey}:
    get:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_GET_tenants_tenantId_qti_collections_collectionKey_68e1be5f
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            type: string
        - in: path
          name: collectionKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Read a tenant-owned immutable named collection of QTI artifact versions.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
    post:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_POST_tenants_tenantId_qti_collections_collectionKey_5ddadbda
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            type: string
        - in: path
          name: collectionKey
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JsonValue"
        required: true
      responses:
        "200": &a3
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        "201": *a3
        "202": *a3
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Publish a tenant-owned immutable named collection of QTI artifact versions.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
  /tenants/{tenantId}/qti/delivery-sessions:
    post:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_POST_tenants_tenantId_qti_delivery_sessions_c0d0e6e5
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JsonValue"
        required: true
      responses:
        "200": &a4
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        "201": *a4
        "202": *a4
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Start a delivery session using a snapshot of the current delivery JSON.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
  /tenants/{tenantId}/qti/delivery-sessions/{deliverySessionId}/attempts:
    post:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_POST_tenants_tenantId_qti_delivery_sessions_deliverySessionId_attempts_50435680
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            type: string
        - in: path
          name: deliverySessionId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JsonValue"
        required: true
      responses:
        "200": &a5
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        "201": *a5
        "202": *a5
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Submit responses and execute QTI processing against the session snapshot.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
  /tenants/{tenantId}/qti/packages:
    get:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_GET_tenants_tenantId_qti_packages_8d804d34
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Enumerate tenant-owned content-package imports for recovery and repository inspection.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
    post:
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
      operationId: qti_1edtech_POST_tenants_tenantId_qti_packages_dd2b0274
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JsonValue"
        required: true
      responses:
        "200": &a6
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        "201": *a6
        "202": *a6
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Ingest an IMS/QTI content package or zip bundle.
      tags:
        - QTI
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
security:
  - bearerAuth: []
servers:
  - description: Platform3 master alias
    url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/implementation/api
tags:
  - externalDocs:
      description: Owning data dictionary
      url: https://platform3-andymontgomery-9773s-projects.vercel.app/qti/1edtech/data_dictionary/
    name: QTI
x-platform3-module: qti
x-platform3-operation-count: 19
x-platform3-shipped-inventory-source: site/vercel.json
x-platform3-source-openapi: loop/qti/artifacts/1edtech/implementation/impl/openapi/qti-boundary.openapi.yaml
x-platform3-surface: 1edtech
