Exchange a grant for tokens
The token endpoint (RFC 6749). The public simforge-cli client (its client_id required): the device code grant, authorization_code with PKCE, and rotating refresh_token. An AI agent (auth.md, no client_id): the claim grant urn:workos:agent-auth:grant-type:claim, polling its registration, and the JWT-bearer grant (RFC 7523) re-exchanging the identity assertion the claim grant returned; agents get no refresh token. Unauthenticated by design: each grant is bound by a device code, PKCE, a claim token, an assertion this host signed, or an unspent refresh token. While the person has not approved yet, the device and claim grants answer authorization_pending (or slow_down).
Body
Response
A CLI session's access and refresh tokens; an agent's first access token and identity assertion (claim grant); or a fresh access token (JWT-bearer grant).
A sfc_at_… bearer token for /api/v1 and /api/cli.
Bearer