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.
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
Format
uuidRequest 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"
}
}