> ## Documentation Index
> Fetch the complete documentation index at: https://docs.myustadia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Outline Review



## OpenAPI

````yaml /openapi.yaml post /api/v1/courses/{course_id}/outline/review
openapi: 3.1.0
info:
  title: Mahara Platform
  description: >
    AI Sales Training Course Generator, a Coursera-style platform.


    ## Authentication


    Every request must carry your API key as a Bearer token:


    `Authorization: Bearer sk_live_your_key_here`


    ## Getting an API key


    API keys are provisioned by our team. They are not self-service, so there is
    no signup page to apply on. To request access, email **sales@myustadia.com**
    and we will issue a key for your account.
  version: 1.0.0
servers: []
security: []
paths:
  /api/v1/courses/{course_id}/outline/review:
    post:
      tags:
        - B2B Courses v2
      summary: Outline Review
      operationId: outline_review_api_v1_courses__course_id__outline_review_post
      parameters:
        - name: course_id
          in: path
          required: true
          schema:
            type: string
            title: Course Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OutlineReviewRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    OutlineReviewRequest:
      properties:
        edits:
          items:
            $ref: '#/components/schemas/OutlineEditItem'
          type: array
          title: Edits
        notes:
          items:
            $ref: '#/components/schemas/OutlineNoteItem'
          type: array
          title: Notes
      type: object
      title: OutlineReviewRequest
      description: |-
        Request body for POST /api/v1/courses/{id}/outline/review (README 8.4):
        edits are applied first, then notes trigger an AI regeneration.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    OutlineEditItem:
      properties:
        path:
          type: string
          title: Path
          description: dotted path, e.g. modules.2.scenes.1.description
        op:
          type: string
          title: Op
          description: set | delete
          default: set
        value:
          anyOf:
            - {}
            - type: 'null'
          title: Value
          description: new value for set ops
      type: object
      required:
        - path
      title: OutlineEditItem
      description: >-
        One JSON-path edit op for outline review (docs/dashboard-api/README.md
        8.2).

        Supported paths: course_title, course_description, modules.<n>.title,

        modules.<n>.description, modules.<n>.scenes.<k>.description,

        modules.<n>.scenes.<k>.planned_narration_summary; op=delete on
        modules.<n>.
    OutlineNoteItem:
      properties:
        scope:
          type: string
          title: Scope
          description: global | section
          default: global
        target_path:
          anyOf:
            - type: string
            - type: 'null'
          title: Target Path
          description: dotted path the note targets (scope=section)
        note:
          type: string
          title: Note
          description: freeform revision instruction for the AI
      type: object
      required:
        - note
      title: OutlineNoteItem
      description: One review note (docs/dashboard-api/README.md 8.3).
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError

````