Skip to main content
POST
/
api
/
v1
/
courses
/
{course_id}
/
review
/
approve
Per Artifact Approve
curl --request POST \
  --url https://api.example.com/api/v1/courses/{course_id}/review/approve \
  --header 'Content-Type: application/json' \
  --data '
{
  "artifact_type": "<string>",
  "asset_id": 123,
  "module_index": 123,
  "scene_index": 123
}
'
{
  "detail": [
    {
      "loc": [
        "<string>"
      ],
      "msg": "<string>",
      "type": "<string>",
      "ctx": {},
      "input": "<unknown>"
    }
  ]
}

Path Parameters

course_id
string
required

Body

application/json

Addressing a single reviewable artifact.

Addressing modes:

  1. asset_id (int): look up (asset_type, module_index, scene_index) from course_assets and map asset_type to the ledger artifact_type.
  2. artifact_type + optional module_index + optional scene_index: direct logical addressing (used for outline/notes/quiz_question and for slide/audio when the caller knows the indices).

Either asset_id or artifact_type must be present; if both are given, asset_id takes precedence.

artifact_type
string | null
asset_id
integer | null
module_index
integer | null
scene_index
integer | null

Response

Successful Response