API referenceScenes

Say you are working on a scene (advisory claim)

Take, or renew, an ADVISORY time-limited claim on a scene: a lock the editor shows and other writers see as claimed_by on their scene writes.

Take, or renew, an ADVISORY time-limited claim on a scene: a lock the editor shows and other writers see as claimed_by on their scene writes. It never blocks anyone, and other holders do not stop yours (they come back in held_by_others). ttl_seconds defaults to 90 (5..900); POST again as the heartbeat. The holder is your declared session (X-Typecut-Session / the MCP connection), else your API key. 503 unavailable until the scene_claims migration is applied. MCP: claim_scene.

POST
/scenes/{sceneId}/claim

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

sceneId*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

application/json

application/json

curl -X POST "https://example.com/scenes/497f6eca-6276-4993-bfeb-53cbbbba6f08/claim" \  -H "Content-Type: application/json" \  -d '{}'
{
  "data": {
    "claim": {
      "scene_id": "861eef56-1159-4a95-802f-abab2d0cc192",
      "kind": "human",
      "label": "string",
      "since": "string",
      "expires_at": "string",
      "expires_in_s": 0,
      "mine": true
    },
    "held_by_others": [
      {
        "scene_id": "861eef56-1159-4a95-802f-abab2d0cc192",
        "kind": "human",
        "label": "string",
        "since": "string",
        "expires_at": "string",
        "expires_in_s": 0,
        "mine": true
      }
    ]
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}