Developer access

The documentation you are reading is open and stays open. Signing up puts you on the developer access list: when the hosted sandbox goes live at sandbox.composer.id, your personal sandbox API key is issued against this account: no shared demo credentials, and a clean audit line from key to person.

Account
Sign up or sign in

Accounts are handled by Clerk on clerk.composer.id. Work email preferred: sandbox keys are issued per person, per organisation. By signing up you agree to the API Terms and the Privacy Policy.

Loading account services…

Getting started
Key, token, first call

Two credentials, one header. A personal key is the quickest way to a first request; client credentials are what a deployment uses.

1. Personal sandbox key

Issued against your account when the hosted sandbox is live. It is a bearer token with every scope, for exploring the API by hand. Running the reference sandbox locally prints one at startup.

curl -H "Authorization: Bearer $KEY" \ https://sandbox.composer.id/v1/platforms

2. Client credentials

An organisation holds a client id and secret with the scopes it needs. Exchange them for a token that lives an hour; request a new one on 401. Rotate by issuing a new secret.

curl -u "$CLIENT_ID:$CLIENT_SECRET" \ -d grant_type=client_credentials \ -d "scope=intents:write publish" \ https://sandbox.composer.id/v1/oauth/token

3. First intent

Same header either way. Then plan, preflight, publish: the API reference walks the lifecycle, and the scopes say which token can do what.

curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"payload":{"channel":"contingent_hire"}}' \ https://sandbox.composer.id/v1/intent
Why an account at all
Keys are the only thing gated

Docs stay open

Coverage claims are a public commitment: evaluators can read every platform page, schema and scorecard without telling us who they are.

Keys are personal

Sandbox API keys are issued per account, so rotation, revocation and the audit spine all trace to a person rather than a shared secret in a slide deck.

Commercial questions go to Triage

composerID ships with Triage, never separately. For product and pricing conversations, book a demo with Triage: this page is for developers.