Public vs confidential
One-line flow
Register → authorize (browser + PKCE) → token →/v1 with Bearer → refresh on expiry → revoke on disconnect.
Production checklist
- Exact redirect URI (trailing slash matters)
- Validate
stateon callback - Keep
code_verifieruntil token exchange - Persist refresh tokens atomically (they rotate)
- Minimum scopes at authorize
Next steps
- Technical guide
- Scopes
- OpenAPI under More

