Developer API

Developer API

Twelfth’s public REST API starts with two useful reads:

GET https://api.twelfth.ai/workspace
GET https://api.twelfth.ai/tasks

The first returns the workspace identity and operating defaults attached to the key. The second returns the workspace’s current open, unsnoozed tasks. More resources will appear here only when their public contracts and permissions are ready. Twelfth’s browser /api/... routes are private application routes and are not supported for customer integrations.

Authentication

Create a workspace API key under Settings → AI & agents → API keys. A key belongs to the workspace, not a person. Give each server, script or automation a separate labelled key so it can be audited and revoked independently.

Send the key as a bearer token:

Authorization: Bearer <token>

Keys are shown once and stored hashed. This API is for server-side use: do not put a key in source control, browser code, URLs or workflow names.

Machine-readable contract

The OpenAPI 3.1 document is the canonical machine-readable contract. Browse the same contract in the API reference. An operation absent from that document is not a supported external operation.

Errors use application/problem+json (RFC 9457) with a stable machine-readable code and recovery hint. Every response advertises its rate-limit policy; successful responses include the remaining quota and reset time. Rate-limited requests return 429 and Retry-After.

Paths and compatibility

Twelfth uses stable, unversioned resource paths. It does not put API version numbers in URLs and evolves published operations without breaking existing callers. See API compatibility for the rules clients and Twelfth both follow.

Example

curl https://api.twelfth.ai/workspace \
  --header "Authorization: Bearer $TWELFTH_API_KEY"

The response is { "workspace": { ... } }. Use its timezone, currency and country when interpreting dates and money from future resources.