- Phrase Connectors API
- Phrase Language AI
- Phrase Strings
- Phrase Studio
- Phrase TMS
- Quality Evaluator API
- Phrase Style Guides
- Phrase Content Groups
Exchanging API tokens for JWT
Exchange the generated API Token for Access Token using Phrase Platform OAuth Token endpoint withurn:ietf:params:oauth:grant-type:token-exchange grant type.
This is extension of OAuth basic grants which is specified in OAuth 2.0 Token Exchange (RFC-8693). Supported parameters are:
Other fields from the Specification are not supported at the moment.
Main endpoint URLs:
https://eu.phrase.com/idm/oauth/token(EU datacenter)https://us.phrase.com/idm/oauth/token(US datacenter)
Sample request
access_token- the generated JWT access tokenissued_token_type- the type of returned token, alwaysurn:ietf:params:oauth:token-type:access_tokentoken_type- how to use the token, alwaysBearerexpires_in- validity of the token in seconds
Machine-to-Machine authentication (Service Accounts)
For server-to-server integrations that don’t involve a human user, create a Service Account in Organization Settings → Service Accounts. Each Service Account provisions a bot user scoped to one or more Phrase products, and authenticates using the standard OAuth 2.0 Client Credentials flow — no API token or token-exchange step needed. Creating a Service Account generates aclient_id and client_secret, shown once. Exchange them directly for an access token against the same Phrase Platform OAuth Token endpoint. Supported parameters are:
Sample request
access_token- the generated JWT access tokentoken_type- how to use the token, alwaysBearerexpires_in- validity of the token in secondsscope- space-separated, prefixed by product UID (e.g.strings:read); a product with no requested/configured scope still appears in the token’s audience without contributing to this claim
Good to know
- Bot users show up in product UIs with a bot badge but can’t log in interactively. They can read/write content, run analyses, and work with translation memories — but can’t create or modify human users, or be assigned as project owners. They don’t count toward seat quotas. The only way to remove a bot user is to delete its Service Account.