Better I18NBetter I18N

Scopes

What each OAuth scope grants and which endpoints it protects.

Scope reference

ScopeDefaultWhat it opens
org:readOnOrganization metadata
projects:readOnList and get projects
projects:writeOffCreate/modify project settings
keys:readOnList translation keys
keys:writeOnCreate, update, delete keys
translations:readOnRead translations
translations:writeOnWrite translations (drafts)
translations:publishOffPublish to the public CDN
content:readOnRead Content CMS entries
content:writeOnWrite Content CMS entries
content:publishOffPublish content entries
glossary:readOnRead glossary terms
glossary:writeOffModify glossary terms

Default vs destructive scopes

Default-on scopes are pre-checked on the consent screen. The user can uncheck any of them.

Default-off scopes (marked Off above) require the user to explicitly opt in. They surface a yellow warning on the consent screen because they can modify production-facing content:

  • translations:publish — pushes to the public CDN
  • content:publish — publishes content entries
  • projects:write — changes project structure
  • glossary:write — rewrites brand terminology

Endpoint → scope mapping

MethodEndpointRequired scope
GET/api/oauth-client/meNone (identity, access token)
GET/api/oauth-client/organizationsorg:read
GET/api/oauth-client/organizations/:orgId/projectsprojects:read
GET/api/oauth-client/organizations/:orgSlug/projects/:projectSlug/modelscontent:read
POST/api/oauth-client/v1/projectsprojects:write
GET/api/oauth-client/v1/projects/:projectIdprojects:read
POST/api/oauth-client/v1/projects/:projectId/languagesprojects:write

Translation key, translation value, publishing, glossary, and Content CMS write operations use the same scopes through the MCP tools while dedicated partner REST endpoints roll out.

Requesting scopes

Pass scopes as a space-separated string in the scope query parameter:

scope=org:read+projects:read+keys:read+keys:write+translations:write

Request only what you need. Users are more likely to approve integrations that ask for fewer permissions.

On this page