API referenceProjects

The project as the files of a git repository

The project as a deterministic tree of text files (project.json, audio/*.json, bible.json, assets.lock.json, chapters/NN-slug/…) that a git client can commit: every source field once, generated things

(word timings, thumbnails, renders) left out and listed in report.omitted. Assets are pinned in assets.lock.json by the hash of their URL (bytes and type from a HEAD on our own storage; bodies are not downloaded). Read-only. Free.

GET
/projects/{id}/repo-tree

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

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/repo-tree"
{
  "data": {
    "files": {
      "property1": "string",
      "property2": "string"
    },
    "assets": {
      "property1": {
        "url": "string",
        "kind": "string",
        "hash_of": "content",
        "bytes": 0,
        "content_type": "string",
        "used_by": [
          {
            "scope": "string",
            "id": "string",
            "field": "string"
          }
        ]
      },
      "property2": {
        "url": "string",
        "kind": "string",
        "hash_of": "content",
        "bytes": 0,
        "content_type": "string",
        "used_by": [
          {
            "scope": "string",
            "id": "string",
            "field": "string"
          }
        ]
      }
    },
    "report": {
      "omitted": [
        "string"
      ],
      "warnings": [
        "string"
      ]
    }
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}