API referenceProjects

Keep, pin or reject shelf items

Set decisions on up to 50 shelf items.

pinned = must be placed in the film (the note says how, e.g. "use for the intro"); kept = may be used; rejected = never used; auto = back to undecided. Free.

PATCH
/projects/{id}/shelf

Authorization

bearerAuth
AuthorizationBearer <token>

Typecut API key. Generate one in app.typecut.ai → Settings → API keys. Send as Authorization: Bearer tc_live_….

In: header

Path Parameters

id*string
Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/shelf" \  -H "Content-Type: application/json" \  -d '{    "changes": [      {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "decision": "auto"      }    ]  }'
{
  "data": {
    "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
    "updated": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "origin": "user_upload",
        "kind": "video",
        "url": "string",
        "media_asset_id": "f83c59c2-d228-4515-88d6-11fa95820958",
        "provider": "string",
        "title": "string",
        "thumbnail_url": "string",
        "width": 0,
        "height": 0,
        "duration_sec": 0,
        "caption": "string",
        "entities": [
          "string"
        ],
        "suggested_use": "string",
        "relevance": 0,
        "for_beat": "string",
        "license": {
          "tier": "string",
          "name": "string",
          "url": "string"
        },
        "attribution": "string",
        "rationale": "string",
        "decision": "auto",
        "note": "string",
        "placed_in": [
          "d5e69886-314f-4b9c-b8d9-4a61ed2ea03a"
        ]
      }
    ],
    "missing": [
      "string"
    ]
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}