API referenceAuthoring contract

The vocabulary a composition is authored in

One record per attribute, CSS variable, declared global and callable primitive in the composition authoring contract.

Each says WHEN its value appears — authored, injected by the worker at resolve, computed by a kernel at mount, or driven per frame off the paused timeline — and what literal NOT to write in its place.

role=knob returns the author-facing vocabulary alone, which is what an author needs. role=machinery returns the rest: worker-stamped kernel version markers, the -done receipts a kernel writes, and published values such as the measured anchor table. None of those are authored, and writing a receipt by hand suppresses the pass it names.

The response carries its own coverage report, including what it does not cover. Free, read-only, and not scene-scoped.

GET
/authoring-contract

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Query Parameters

role?string

Narrow the records returned.

Value in"knob" | "machinery" | "marker" | "receipt" | "published"
kernel?string

Restrict to one kernel module, e.g. "tc-text".

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/authoring-contract"
{
  "data": {
    "property1": null,
    "property2": null
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}