Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

Your long-lived API key (maat_partner_…), sent as Authorization: Bearer <key>. It authorizes exactly ONE thing: exchanging itself for a token at POST /token. It reaches no workspace and no data.

Store this; mint tokens from it. If it leaks, revoke it — revoking it kills every outstanding token on its next request.

Response

A token, and what it can reach.

access_token
string
required

Send it as Authorization: Bearer <access_token>. Never store it — store the key and mint tokens from it.

token_type
string
required

Always Bearer. Send the token as Authorization: Bearer <access_token>.

Allowed value: "Bearer"
expires_in
integer
required

Seconds. Fifteen minutes by default, never more than an hour.

Example:

900

workspace_id
string<uuid>
required

The one workspace this token addresses. Fixed by the key.

sandbox
boolean
required

Whether the workspace is a sandbox. false means every contract answers 501 until launch.

scope
string[]
required

The scopes the key held at exchange time, for your own reading. NOT what authorizes a request: scopes are re-read from the key on every call, so a key narrowed after this exchange is narrowed on its next request.

Example: