API referenceProjects

Read the project’s asset shelf

Everything the film could use — the user’s files and what discovery and stock found for the topic — each with a licence, a relevance score and a decision (auto · kept · pinned · rejected).

Decided items come first. Free.

GET
/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

Query Parameters

decision?string
Value in"auto" | "kept" | "pinned" | "rejected"
kind?string
Value in"video" | "image" | "audio" | "document" | "style"
origin?string
Value in"user_upload" | "source_page" | "source_pdf" | "discovery" | "stock" | "generated"
limit?integer
Range1 <= value <= 200

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/shelf"
{
  "data": {
    "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
    "counts": {
      "auto": 0,
      "kept": 0,
      "pinned": 0,
      "rejected": 0,
      "total": 0
    },
    "truncated": true,
    "items": [
      {
        "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"
        ]
      }
    ]
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}