- Projects — the token is bound to one or more projects. A request to
/v2/projects/{projectId}/...is rejected unless the token includes that project. - Scopes — fine-grained capabilities. A request is rejected unless the token carries the scope its endpoint requires.
- Environments — an optional allowlist. Environment-targeted operations
(publishing, end-user data, sessions, …) are rejected outside it (
E1029); with no allowlist the token covers every environment of its projects.
uto_
tokens with the same three properties (granted on the consent screen); they
authenticate REST requests exactly like a personal utp_ token.
Scopes
Grant a token only the scopes it needs.
Two endpoints need no scope at all, only a valid token:
GET /v2/me (what this
token may act on) and GET /v2/locales (the locale catalog to file a new
localization under — see Localization).
Localization scopes cover the project’s list of languages. Reading and
writing a content version’s translation is part of the content, so it uses
content:read / content:update. A token with content scopes only can still
find the language codes it may translate into: read the version with
expand=localizations.Errors
See Errors for the full list.