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/curriculum/alpha/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 Curriculum Alpha API
  version: 1.0.0
openapi: 3.1.0
paths:
  /:
    get:
      description: "Response contract: service_descriptor."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_612822f3
      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 Curriculum Alpha discovery descriptor.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/associations:
    get:
      description: "Response contract: page<curriculum_association>."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_associations_9f536c6c
      parameters:
        - in: query
          name: associationType
          required: false
          schema:
            type: string
        - in: query
          name: componentId
          required: false
          schema:
            type: string
        - in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: query
          name: destinationId
          required: false
          schema:
            type: string
        - in: query
          name: limit
          required: false
          schema:
            minimum: 0
            type: integer
        - in: query
          name: order
          required: false
          schema:
            type: string
        - in: query
          name: originId
          required: false
          schema:
            type: string
        - in: query
          name: sort
          required: false
          schema:
            type: string
        - in: query
          name: updated_since
          required: false
          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: List stock CASE associations by type, endpoint, component, or updated_since for correction workflows.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
    post:
      description: "Response contract: curriculum_association."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_POST_alpha_curriculum_v1_associations_458fd124
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JsonValue"
        required: true
      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
      summary: Create a stock CASE association for initial component containment or framework alignment; isChildOf rejects a component that already has an active parent and directs reparenting to component PATCH, while KC prerequisites, typed relations, and standards maps use their first-class alpha stores.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/associations/{associationId}:
    get:
      description: "Response contract: curriculum_association."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_associations_associationId_4414d087
      parameters:
        - in: path
          name: associationId
          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 one stock CASE association by id, including its sequence_number.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
    patch:
      description: "Response contract: curriculum_association."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_PATCH_alpha_curriculum_v1_associations_associationId_57167678
      parameters:
        - in: path
          name: associationId
          required: true
          schema:
            type: string
        - in: header
          name: Idempotency-Key
          required: true
          schema:
            type: string
        - in: header
          name: X-Curriculum-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: Update an association sequence_number with X-Curriculum-If-Match for sibling reordering.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/components:
    get:
      description: "Response contract: page<curriculum_component>."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_components_32f448bf
      parameters:
        - in: query
          name: courseId
          required: false
          schema:
            type: string
        - in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: query
          name: kind
          required: false
          schema:
            type: string
        - in: query
          name: limit
          required: false
          schema:
            minimum: 0
            type: integer
        - in: query
          name: order
          required: false
          schema:
            type: string
        - in: query
          name: parentId
          required: false
          schema:
            type: string
        - in: query
          name: publicationStatus
          required: false
          schema:
            type: string
        - in: query
          name: sort
          required: false
          schema:
            type: string
        - in: query
          name: sourceCourseRef
          required: false
          schema:
            type: string
        - description: Exact non-empty learner id. Returns only personalized course roots whose stored student_id matches; shared roots and other learners are excluded.
          in: query
          name: studentId
          required: false
          schema:
            minLength: 1
            type: string
        - in: query
          name: subjectId
          required: false
          schema:
            type: string
        - in: query
          name: updated_since
          required: false
          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: List component-tree CFItems by typed filters, including exact learner-owned personalized course discovery.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
    post:
      description: "Response contract: curriculum_component."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_POST_alpha_curriculum_v1_components_cf9ddf74
      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: Create a stock CASE component, including an exact content-bearing lesson with scope_kc_refs=[] only when kc_scope_decision=authoritative_no_kc, or reactivate the same caller-supplied soft-retired identity as draft with an advanced version and active ETag; Content targets must pin and pass exact-version release eligibility.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/components/{componentId}:
    delete:
      description: "Response contract: curriculum_component."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_DELETE_alpha_curriculum_v1_components_componentId_8ab56008
      parameters:
        - in: path
          name: componentId
          required: true
          schema:
            type: string
        - in: header
          name: Idempotency-Key
          required: true
          schema:
            type: string
        - in: header
          name: X-Curriculum-If-Match
          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: Soft-retire the exact ETag-selected authored Curriculum component after atomically retiring its incident CASE associations; ordinary list and tree reads exclude it.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
    get:
      description: "Response contract: curriculum_component."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_components_componentId_fa080230
      parameters:
        - in: path
          name: componentId
          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 one CASE-backed Curriculum component by id for correction workflows.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
    patch:
      description: "Response contract: curriculum_component."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_PATCH_alpha_curriculum_v1_components_componentId_b769ba85
      parameters:
        - in: path
          name: componentId
          required: true
          schema:
            type: string
        - in: header
          name: Idempotency-Key
          required: true
          schema:
            type: string
        - in: header
          name: X-Curriculum-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: Update mutable component fields with X-Curriculum-If-Match, or atomically reparent through an isolated parent_component_id + position patch that preserves component/edge identity and non-containment references; Content targets must remain exact-version release-eligible.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/components/{componentId}/repoint:
    post:
      description: "Response contract: component_target_repoint."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_POST_alpha_curriculum_v1_components_componentId_repoint_3316f3d1
      parameters:
        - in: path
          name: componentId
          required: true
          schema:
            type: string
        - in: header
          name: Idempotency-Key
          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: "Producer self-service repoint/attach of one component's exact Content pin: compare-and-set on the current pinned target, same-identity discipline for repoints, server-side exact-version release eligibility, one immutable audit row, and a typed freeze that routes approved assessment chains to the reviewed-replacement manifest path."
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/components/{componentId}/tree:
    get:
      description: "Response contract: component_tree."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_components_componentId_tree_d3ccc2de
      parameters:
        - in: path
          name: componentId
          required: true
          schema:
            type: string
        - in: query
          name: includeRetired
          required: false
          schema:
            type: boolean
      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: Walk a component subtree using stock CASE isChildOf containment; /courses/{courseId}/tree is a compatibility alias for course roots.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/courses/{courseId}/approvals:
    get:
      description: "Response contract: page<course_approval>."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_courses_courseId_approvals_227403e2
      parameters:
        - in: path
          name: courseId
          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: List immutable course approvals with their complete exact KC-version snapshots.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
    post:
      description: "Response contract: course_approval."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_POST_alpha_curriculum_v1_courses_courseId_approvals_4159ee1c
      parameters:
        - in: path
          name: courseId
          required: true
          schema:
            type: string
        - in: header
          name: Idempotency-Key
          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: Atomically approve the current course graph, optionally require exact reviewed graph and KC-snapshot SHA-256 premises, snapshot every exact referenced KC version, create firming evidence, and firm drafts.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/courses/{courseId}/next-lesson:
    get:
      description: "Response contract: next_lesson."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_courses_courseId_next_lesson_5fdf2831
      parameters:
        - in: path
          name: courseId
          required: true
          schema:
            type: string
        - in: query
          name: asOfDate
          required: false
          schema:
            type: string
        - description: Exact learner id, required for a personalized course root. Missing or different ids return the same curriculum:not_found response as an unknown course before Content eligibility; shared courses retain existing behavior.
          in: query
          name: studentId
          required: false
          schema:
            type: string
        - in: query
          name: subjectId
          required: false
          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: Return the first ordered shared or exact learner-owned personalized lesson/review/practice/gate only when its ancestry, approval, KC snapshot, and exact Content version remain launch-safe.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/courses/{courseId}/tree:
    get:
      description: "Response contract: component_tree."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_courses_courseId_tree_dc8f5cf1
      parameters:
        - in: path
          name: courseId
          required: true
          schema:
            type: string
        - in: query
          name: includeRetired
          required: false
          schema:
            type: boolean
      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: Walk a component subtree using stock CASE isChildOf containment; /courses/{courseId}/tree is a compatibility alias for course roots. (compatibility alias)
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/gates/{componentId}:
    get:
      description: "Response contract: gate_contract."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_gates_componentId_7e85112e
      parameters:
        - in: path
          name: componentId
          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 Curriculum-owned gate contract without scores, thresholds, or Content body.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/gates/{componentId}/next-form:
    get:
      description: "Response contract: gate_next_form."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_gates_componentId_next_form_6c9ff6e3
      parameters:
        - in: path
          name: componentId
          required: true
          schema:
            type: string
        - in: query
          name: asOfDate
          required: false
          schema:
            type: string
        - in: query
          name: studentId
          required: false
          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: Choose the deterministic next unseen form after independently revalidating the exact Content test_bank and exact member versions.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/gates/{componentId}/remediation:
    get:
      description: "Response contract: gate_remediation."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_gates_componentId_remediation_1d7603d4
      parameters:
        - in: path
          name: componentId
          required: true
          schema:
            type: string
        - in: query
          name: asOfDate
          required: false
          schema:
            type: string
        - in: query
          name: resultRecordId
          required: false
          schema:
            type: string
        - in: query
          name: studentId
          required: false
          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: "Resolve the universal gate-failure remediation map: never_learned to lesson, forgot to review, careless to practice."
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/gates/{componentId}/status:
    get:
      description: "Response contract: gate_status."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_gates_componentId_status_60b61d0a
      parameters:
        - in: path
          name: componentId
          required: true
          schema:
            type: string
        - in: query
          name: asOfDate
          required: false
          schema:
            type: string
        - in: query
          name: resultRecordId
          required: false
          schema:
            type: string
        - in: query
          name: studentId
          required: false
          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 typed Results-backed gate status reference for a student.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/ingest/timeback-course-refs:
    post:
      description: "Response contract: source_ingest_job."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_POST_alpha_curriculum_v1_ingest_timeback_course_refs_e9f8542e
      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: Require exact release-eligible Content versions before writing, reject parent replacement or second-parent creation in favor of atomic component PATCH, then assemble source-shaped TimeBack course rows as drafts, verify exact readback, and publish bottom-up with the course root last.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/kc-firming-events:
    get:
      description: "Response contract: page<kc_firming_event>."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_kc_firming_events_a171bef0
      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: List immutable KC firming evidence, optionally filtered by exact version.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
    post:
      description: "Response contract: kc_firming_event."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_POST_alpha_curriculum_v1_kc_firming_events_af989211
      parameters:
        - in: header
          name: Idempotency-Key
          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: Record the first-genuine-response backstop and firm its exact draft version; course-approval events can only be created by course approval.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/kc-prerequisites:
    get:
      description: "Response contract: page<kc_prerequisite>."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_kc_prerequisites_227ca330
      parameters:
        - in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: query
          name: dependentKcId
          required: false
          schema:
            type: string
        - in: query
          name: kcId
          required: false
          schema:
            type: string
        - in: query
          name: limit
          required: false
          schema:
            minimum: 0
            type: integer
        - in: query
          name: prerequisiteKcId
          required: false
          schema:
            type: string
        - in: query
          name: updated_since
          required: false
          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: List governed prerequisite edges by prerequisite, dependent, or either KC endpoint.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
    post:
      description: "Response contract: kc_prerequisite."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_POST_alpha_curriculum_v1_kc_prerequisites_24a7beaa
      parameters:
        - in: header
          name: Idempotency-Key
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JsonValue"
        required: true
      responses:
        "200": &a7
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        "201": *a7
        "202": *a7
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Create one governed acyclic prerequisite edge between active registry KC UUIDs.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/kc-review-decisions:
    get:
      description: "Response contract: page<kc_review_decision>."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_kc_review_decisions_775dead3
      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: List immutable KC review decisions, optionally filtered by exact version.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
    post:
      description: "Response contract: kc_review_decision."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_POST_alpha_curriculum_v1_kc_review_decisions_d284ad94
      parameters:
        - in: header
          name: Idempotency-Key
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JsonValue"
        required: true
      responses:
        "200": &a8
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        "201": *a8
        "202": *a8
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Append one immutable structured review decision for an exact KC version.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/kcs:
    get:
      description: "Response contract: page<knowledge_component>."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_kcs_b91374a7
      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: "Discover the active governed KC corpus: a stable cursor list of registry Knowledge Components with their current immutable versions, filterable by subject_id, kc_kind, publication_status, and updated_since. Adaptive-diagnostics consumers read KCs here, never from CASE."
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
    post:
      description: "Response contract: knowledge_component."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_POST_alpha_curriculum_v1_kcs_4a31495f
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JsonValue"
        required: true
      responses:
        "200": &a9
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        "201": *a9
        "202": *a9
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Create one governed Knowledge Component identity and immutable version in alpha.knowledge_component*, record optional producer source_kc_id provenance without creating an active alias, and reject legacy CASE KC writes.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/kcs/{kcId}:
    delete:
      description: "Response contract: knowledge_component."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_DELETE_alpha_curriculum_v1_kcs_kcId_c9c7f719
      parameters:
        - in: path
          name: kcId
          required: true
          schema:
            type: string
        - in: header
          name: Idempotency-Key
          required: true
          schema:
            type: string
        - in: header
          name: If-Match
          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: Soft-retire the exact canonical registry UUID only when no active prerequisite, relation, standards-map, component-scope, or remediation reference remains.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
    get:
      description: "Response contract: knowledge_component."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_kcs_kcId_d50d0b7b
      parameters:
        - in: path
          name: kcId
          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 one governed registry Knowledge Component and its current immutable version by exact owner-issued UUID.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
    patch:
      description: "Response contract: knowledge_component."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_PATCH_alpha_curriculum_v1_kcs_kcId_be1f6327
      parameters:
        - in: path
          name: kcId
          required: true
          schema:
            type: string
        - in: header
          name: Idempotency-Key
          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: Publish a draft KC identity using ETag/If-Match; publication never changes draft KC-version status.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/kcs/{kcId}/versions:
    get:
      description: "Response contract: page<knowledge_component_version>."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_kcs_kcId_versions_cd1706db
      parameters:
        - in: path
          name: kcId
          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: List every immutable semantic version in version-number order.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
    post:
      description: "Response contract: knowledge_component_version."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_POST_alpha_curriculum_v1_kcs_kcId_versions_9cea5ee3
      parameters:
        - in: path
          name: kcId
          required: true
          schema:
            type: string
        - in: header
          name: Idempotency-Key
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JsonValue"
        required: true
      responses:
        "200": &a10
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        "201": *a10
        "202": *a10
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Append a new immutable draft semantic version and advance only the KC identity current_version_id pointer.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/kcs/{kcId}/versions/{versionId}:
    get:
      description: "Response contract: knowledge_component_version."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_kcs_kcId_versions_versionId_ed71e1b2
      parameters:
        - in: path
          name: kcId
          required: true
          schema:
            type: string
        - in: path
          name: versionId
          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 one exact immutable KC semantic version.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/renderer-registry:
    get:
      description: "Response contract: renderer_registry."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_renderer_registry_750052bb
      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: List renderer routes that Curriculum members may reference, with separate evidence-backed rendering status.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/source-target-kc-authority:
    get:
      description: "The caller supplies the producer-owned immutable receipt premises. Curriculum verifies one exact receipt object persisted in the learner-owned course source_refs, the course's exact standards_framework_refs link to the frozen release's framework binding, the frozen source checksum, exact frozen CASE title/statement equality with every binding, the complete material_grain=standard binding set, unique active standard-KC maps, and each mapped KC's current published firm version in one tenant-scoped read. It returns no partial target list. Response contract: source_target_kc_authority. Authority failure: Wrong course, learner, persisted receipt tuple, or course-framework cross-pair returns curriculum:not_found without enumeration. Missing, extra, ambiguous, stale, draft, retired, frozen-CASE-row-drifted, or checksum/sentinel-mismatched owner authority returns curriculum:source_target_kc_authority_incomplete without partial targets.."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_source_target_kc_authority_270c4226
      parameters:
        - description: Exact final target identifier in source document order.
          in: query
          name: endTargetId
          required: true
          schema:
            minLength: 1
            type: string
        - description: Exact complete material_grain=standard target cardinality declared by the immutable producer receipt.
          in: query
          name: expectedTargetCardinality
          required: true
          schema:
            maximum: 10000
            minimum: 1
            type: integer
        - description: Exact target identifier at zero-based floor(count/2) in source document order.
          in: query
          name: middleTargetId
          required: true
          schema:
            minLength: 1
            type: string
        - description: Exact producer course reference carried by the personalized Curriculum course root and its persisted source authority receipt.
          in: query
          name: sourceCourseRef
          required: true
          schema:
            minLength: 1
            type: string
        - description: Producer-owned immutable release reference matched exactly to both the course source_refs receipt and alpha.standards_source_release.source_framework_id.
          in: query
          name: sourceReleaseRef
          required: true
          schema:
            minLength: 1
            type: string
        - description: "Lowercase SHA-256 of the immutable producer source artifact, without a sha256: prefix, matched exactly to the course receipt and frozen release."
          in: query
          name: sourceSha256
          required: true
          schema:
            maxLength: 64
            minLength: 64
            pattern: ^[0-9a-f]{64}$
            type: string
        - description: Producer-owned immutable namespace matched exactly to the course source_refs receipt.
          in: query
          name: sourceTargetNamespace
          required: true
          schema:
            minLength: 1
            type: string
        - description: Exact first target identifier in source document order.
          in: query
          name: startTargetId
          required: true
          schema:
            minLength: 1
            type: string
        - description: Exact learner owner of that personalized course. A different learner is indistinguishable from an unknown course.
          in: query
          name: studentId
          required: true
          schema:
            minLength: 1
            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: Project one caller-supplied immutable course/source receipt atomically onto the complete active published firm canonical KC set.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/standard-kc-maps:
    get:
      description: "Response contract: page<standard_kc_map>."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_standard_kc_maps_38b7df26
      parameters:
        - in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: query
          name: kc_id
          required: false
          schema:
            type: string
        - in: query
          name: limit
          required: false
          schema:
            minimum: 0
            type: integer
        - in: query
          name: relationship
          required: false
          schema:
            type: string
        - in: query
          name: source_release_id
          required: false
          schema:
            type: string
        - in: query
          name: standard_id
          required: false
          schema:
            type: string
        - in: query
          name: updated_since
          required: false
          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 active release-pinned standard-to-KC crosswalks with exact governed fields and tenant isolation.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/standards-frameworks:
    get:
      description: "Response contract: page<standards_framework>."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_standards_frameworks_beb5e8d8
      parameters:
        - in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: query
          name: frameworkId
          required: false
          schema:
            type: string
        - in: query
          name: limit
          required: false
          schema:
            minimum: 0
            type: integer
        - in: query
          name: order
          required: false
          schema:
            type: string
        - in: query
          name: sort
          required: false
          schema:
            type: string
        - in: query
          name: subjectId
          required: false
          schema:
            type: string
        - in: query
          name: updated_since
          required: false
          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: List frozen standards frameworks imported as CASE CFDocuments.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/standards-frameworks/import:
    post:
      description: "Response contract: standards_import_job."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_POST_alpha_curriculum_v1_standards_frameworks_import_0cf1811b
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JsonValue"
        required: true
      responses:
        "200": &a11
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        "201": *a11
        "202": *a11
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      summary: Import or reuse an immutable checksum-addressed standards release, persist release-scoped CASE framework/standard rows, and write release-pinned KC crosswalks to alpha.standard_kc_map.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /alpha/curriculum/v1/tracks/{trackId}/placement-candidates:
    get:
      description: "Response contract: placement_candidates."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_GET_alpha_curriculum_v1_tracks_trackId_placement_candidates_d7ac5ce2
      parameters:
        - in: path
          name: trackId
          required: true
          schema:
            type: string
        - in: query
          name: asOfDate
          required: false
          schema:
            type: string
        - in: query
          name: studentId
          required: false
          schema:
            type: string
        - in: query
          name: subjectId
          required: false
          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: List grade-level mastery gates Policy/Results use to run bottom-up placement.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
  /dev/mint:
    post:
      description: "Response contract: demo_token."
      externalDocs:
        description: Owning data dictionary
        url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
      operationId: curriculum_alpha_POST_dev_mint_08064a60
      parameters:
        - in: query
          name: tenantId
          required: false
          schema:
            type: string
      responses:
        "200": &a12
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonValue"
          description: Successful response
        "201": *a12
        "202": *a12
        default:
          content:
            application/problem+json:
              schema:
                $ref: "#/components/schemas/Problem"
          description: Problem response
      security: []
      summary: Mint a public demo JWT for the demo tenant only.
      tags:
        - Curriculum
      x-data-dictionary: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
security:
  - bearerAuth: []
servers:
  - description: Platform3 master alias
    url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/implementation/api
tags:
  - externalDocs:
      description: Owning data dictionary
      url: https://platform3-andymontgomery-9773s-projects.vercel.app/curriculum/alpha/data_dictionary
    name: Curriculum
x-platform3-module: curriculum
x-platform3-operation-count: 42
x-platform3-shipped-inventory-source: site/vercel.json
x-platform3-surface: alpha
