API referenceProjects

Play, plan, edit or read the status of the project's sound program

The project's score: a JSON score, a Python sound program (code), or the program kept as project files (source: "music": music/main.py, music/voices.py, music/cues/*.py, music/mix.json, written with the fs endpoints).

The project's score: a JSON score, a Python sound program (code), or the program kept as project files (source: "music": music/main.py, music/voices.py, music/cues/*.py, music/mix.json, written with the fs endpoints). edit {path, old, new} patches a music/ file without re-sending it (answers path, bytes, sha, lines; no code echo). plan: true (with source) returns the Plan: a key, its hash and url (stored by hash; gzip JSON of events with t, q, bar, beat, midi, vel, len and numeric params, curves published with publish() sampled at 120 Hz, the beat axis it used, the chord track) and a summary; free, no audio. status: <key> reads a render or plan by key (rendering | planning | failed | done). async: true answers with the key at once. A render lists triggers (default 20, max 400) and a count per track, never the program. dry_run, range, place and apply as before.

PUT
/projects/{id}/score

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 PUT "https://example.com/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/score" \  -H "Content-Type: application/json" \  -d '{}'
{
  "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"
  }
}