Token endpoint
OAuth 2.1 token endpoint for public clients with PKCE (application/x-www-form-urlencoded). authorization_code exchanges the code from the consent redirect; refresh_token rotates. Access tokens live 15 minutes (expires_in: 900) and are bound to the grant and to resource. A paused agent, a revoked or expired grant, or a reused refresh token → invalid_grant (reuse also revokes the grant). Errors use the RFC 6749 shape.
Error codes: parameter_invalid, parameter_missing, rate_limited.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Optional client correlation id, up to 128 characters. It is not echoed: the response's X-Request-Id is always
our own req_… id. We log your value with the request as client_request_id, so support can find a request by
either id. A longer value is refused with 400 parameter_invalid.
128Body
- Option 1
- Option 2
Form-encoded token request.
authorization_code.
"authorization_code"Code from the redirect. Single use; 60 seconds. Reuse revokes the grant.
Same value as in the authorization request.
Client id.
^cli_[0-9A-HJKMNP-TV-Z]{26}$PKCE verifier, 43–128 chars.
43 - 128RFC 8707; must match the authorization request.
Response
Tokens.
RFC 6749 §5.1 token response, plus PanoFlow extensions.
Opaque bearer token for resource. 15 minutes.
Always Bearer.
"Bearer"Seconds; always 900.
New rotating refresh token, bound to the grant.
Space-separated effective scopes.
PanoFlow extension: the grant.
^grt_[0-9A-HJKMNP-TV-Z]{26}$PanoFlow extension: the agent the token acts as.
^agt_[0-9A-HJKMNP-TV-Z]{26}$