Skip to main content
The Timbal API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. Projects have environments for deployment configuration, including environment variables and deployed revisions. Use separate environments for development, staging, and production. Knowledge bases are separate organization resources; project deployment versions do not automatically version their data.

Organization scoping

Most resources in Timbal are scoped to an organization, meaning their API path is prefixed with /orgs/{org_id}. Resources are then nested under their parent in a standard RESTful hierarchy. For example:
Not all endpoints are org-scoped. Some are user-scoped and live under /me (e.g. listing organizations or managing API keys). POST /files uploads a short-lived binary to object storage (Bearer auth, same as the rest of the API); it does not include org_id in the path—org context comes from the authenticated key.
HTTP verbs follow REST conventions: