Skip to main content
Send your personal API token as a bearer header on every request. There is no public endpoint and no anonymous mode.

Two credential types

Both carry the same entitlement checks. A token can be narrower than a session: it carries a scope and an optional expiry, and a read only token is refused with 403 the moment it tries to change anything. Give each consumer its own token and revoke individually. See Personal API tokens.

Scope and expiry

Read only is the right default for anything agentic, including the MCP server, which never writes. An expired token fails authentication with 401 exactly like a revoked one. Rate limits count per workspace rather than per token, so minting a second token buys no extra capacity. See Rate limits and quotas.

Status codes you will see

A 401 after a deployment usually means AUTH_SECRET was rotated, which invalidates sessions. Personal API tokens survive a rotation, because they are stored as hashes rather than signed. See Rotate secrets.

Keep the token out of your history

Read it from an environment variable rather than typing it into a shell.

Error responses

The envelope every failure returns.

Authentication and accounts

Sessions, guards and entitlements.
Last modified on August 24, 2026