Scopes

API keys carry a scope list. Every endpoint is gated behind one or more scopes, and a 403 with code: insufficient_scope surfaces the missing scope in param.

Vocabulary

Session + OAuth tokens

Human UI sessions and connected-app OAuth tokens bypass scope checks — they're constrained at the consent screen. Scopes are enforced on API keys only.