Start here: match your goal to an API
Find the row that sounds like your task.
Strings is for software, TMS is for content. If a developer owns the source, reach for Strings. If a content or localization team owns the source, reach for TMS. The two connect through Job Sync, so a mixed org can use both without splitting systems.
Language AI, Studio, Style Guides, Quality Evaluator, and Content Groups are capabilities you layer on, not places your content lives. You add them to a Strings or TMS workflow, or call them on their own.
First call: authenticate
Every Phrase API uses the same authorization model, so this is the one setup step you cannot skip. Do it once, then reuse the pattern everywhere. You generate an API token in Platform Settings, then exchange it for a short-lived JSON Web Token (JWT) access token. Pass that access token as a Bearer token on every request.
200 with an access_token in the body confirms your credentials work before you touch any product API. Swap eu for us if your account is in the US data center.
For a server-to-server integration with no human user, which is the common case for a pipeline, create a Service Account (Organization Settings, Service Accounts) instead. It uses the standard OAuth 2.0 client credentials flow, so there is no personal token to rotate, and the bot user does not count toward seat quotas.
Full details, including regional endpoints and Service Account scopes, are in the Platform Authentication guide. Every section below assumes you have a valid access token.
The nine APIs
Each entry below follows the same shape: what it is, when to reach for it, and the first thing you would call.Platform
What it is. The shared authorization layer for the whole Phrase product suite. It issues the access tokens the other eight APIs require.When to use it. Always, at least once, to authenticate. Reach for it directly when you need Service Accounts for automation, or when managing authorization across several Phrase products from one integration.Start with. The token exchange call above. See the Platform Reference.
Strings
What it is. A translation management platform for software projects. It stores localization data as keys (the identifier for a piece of text) and their translations per locale (a language plus optional region, such as
de-DE). It pulls source text out of code repositories and design files so text and translations stay aligned as you iterate.When to use it. You own product copy in source code or design tools and want translations to move with your development cycle instead of holding up a release. This is the primary home for a developer-led workflow.File sync. Push and pull locale files with the Phrase Strings command-line interface (CLI), the GitHub Action, or the official client libraries for Ruby, Python, PHP, TypeScript, Java, and Go. Adding a language becomes a config change, not a code change.Over-the-Air (OTA) delivery. Publish translation updates to live apps without a new app-store version or redeploy. Apps fetch translations from the Phrase content delivery network (CDN) at runtime, built on distributions and releases, with a cache-then-bundle fallback so a slow network never breaks the app. SDKs cover iOS, Android, React Native, Flutter, i18next, and Ruby on Rails.Start with. Import a locale file, or run the CLI to push your existing files. See the Strings Reference and developer tools.TMS
What it is. Phrase TMS (Translation Management System) automates and manages content translation at scale, around projects, jobs (a unit of translatable work), translation memory (a store of previously translated segments, reused to cut cost and keep wording consistent), and term bases (approved terminology). It suits documents, marketing, and content that runs through structured human review.When to use it. A content or localization team owns the source, the work needs human linguists in the loop, or you need reuse and terminology control across large volumes. If you also localize software strings, connect TMS to Strings with Job Sync rather than picking one.Common jobs. Automate project and job creation; run an Analysis for word and character counts and translation-memory match statistics; use Automated Project Creation (APC) to create projects on a schedule; or build a TMS plugin to send custom source content in and pull translations back.Note on versions. The TMS API is versioned (Latest, plus v1 through v4). Pin the version you build against so an undocumented change on a newer version does not reach your integration unannounced.Start with. Create a project, then add a job. See the TMS Reference.
Content Groups
What it is. Organization-scoped named containers that connect objects across Phrase products. A content group links a TMS project (and its templates) to the Style Guides, Style Rules, and quality checks that apply to it. It is the single matching principle for the translation and quality workflow.When to use it. You are combining Style Guides and Quality Evaluator and want their rules and checks to resolve automatically for a project instead of being wired up by hand. If you are only syncing strings or running plain machine translation, you can ignore Content Groups.Good to know. Every organization has one automatic, immutable
SYSTEM group named “All Groups.” You never create or delete it; you can only change the objects linked to it.Start with. Create a group, then use its ID when configuring a TMS project or Style Guide. See the Content Groups Reference.Language AI
What it is. Programmatic machine translation that automatically selects the best available engine for each request, based on language pair, content type, and historical quality signals. You do not build engine-routing logic yourself.When to use it. You want machine translation inside your own pipeline or application without managing which engine handles which language pair. It works on its own, so you do not need the TMS API to use it. To route through your own engine, use the Bring Your Own Engine guide, which also covers asynchronous translation with status polling for larger batches.Watch for. Requests are rate limited; exceeding the limit returns
429 Too Many Requests. An unsupported language pair returns 422 Unprocessable Entity. Handle both rather than assuming every request succeeds.Start with. A single translation request for one language pair. See the Language AI Reference.Studio
What it is. AI-powered audio and video processing for transcription, translation, and dubbing, in over 100 languages. It supports glossaries and pronunciations, and returns results in formats such as
SRT, VTT, and MP3.When to use it. Your content is spoken or on-screen, not written: video subtitles, dubbed audio, or transcripts. Upload files directly or import from a URL.Start with. Create a project, then poll for its transcription, translation, or dubbing result. Studio has its own regional base URLs (api.studio.eu.phrase.com and api.studio.us.phrase.com). See the Studio Reference.Connectors
What it is. A builder for custom integration flows that connect localization to external systems, and a way to extend Phrase’s built-in integrations with your own logic.Looking to configure a ready-made connector to Google Drive, GitHub, Amazon
S3, WordPress, or Marketo instead? That is TMS connector management, a different API. See the Managing TMS Connectors guide.When to use it. The name covers two different things. The Connectors API here is for building your own custom flow when no built-in connector fits. TMS connector management (linked above) is for authorizing and configuring the connectors Phrase already ships, and it is what Automated Project Creation builds on. Most teams wiring up a standard source system want the second one.Start with. Decide which of the two you need before writing code. See the Connectors Reference.Quality Evaluator
What it is. Automatic translation-quality assessment using large language models. Instead of a fixed rule set, you define requirements in plain language (for example, “Translation must not use Yoda-style speech”). It scales the review a human linguist would do across any volume of segments: tone, terminology, formatting, and custom requirements.When to use it. You want a quality guardrail before translations reach users, without a person checking every segment. It is how you keep automated translation honest at volume.How it connects. Requirements are managed as Style Guide Rules attached to a Content Group. Point an evaluation at the Content Group and the API resolves its active rules into checks automatically, so there is no separate quality profile to maintain. Quality Evaluator, Style Guides, and Content Groups are used together.Start with. Attach Style Guide Rules to a Content Group, then evaluate segments by referencing that group. See the Quality Evaluator Reference.
Style Guides
What it is. Organization-wide writing guidelines that Phrase applies across translations and authored content. A Style Guide is a Markdown document scoped to one language and versioned on every revision, so previous versions stay accessible.When to use it. You need brand voice and grammar rules enforced consistently across content, and you want them to feed automated checks. Style Guides supply the rules that Quality Evaluator resolves through a Content Group.Start with. Upload a Markdown file to create a Style Guide for one language, then reference it by
ID. See the Style Guides Reference.How they fit together
A useful way to hold all nine in your head:- Platform is the door. Everything authenticates through it.
- Strings and TMS are the two places content lives: software strings on one side, documents and structured content on the other. Job Sync connects them.
- Language AI and Studio are translation engines you call: text, and audio or video.
- Style Guides, Content Groups, and Quality Evaluator are the governance layer: define the rules, group them to a project, and check against them.
- Connectors wire external systems into the flow.
Common pain points, and where each is handled
A pipeline failure goes unnoticedHandle documented error responses inline, poll status on asynchronous Language AI batches, and rely on
OTA’s cache-then-bundle fallback so an outage never breaks the app.
Machine translation output is not trustworthyLanguage AI selects the best engine per pair; add Quality Evaluator as a guardrail before publishing. An API changes without warning
Pin your TMS API version, and watch the Changelog for API, SDK, and tool changes. You hit a rate limit unexpectedly
Language AI returns
429 when the limit is exceeded; check the CLI and client libraries, which may already retry for you.
Adding a language should not need a code changeStrings locale files plus OTA distributions and language fallbacks make a new language a config change.
Next steps
- New to Phrase: authenticate with the token exchange above, then push a locale file with the Strings CLI.
- Building an automation: set up a Service Account so the integration does not depend on a personal token.
- Extending TMS: start with the Build a TMS Plugin guide.
- Track changes: subscribe to the Changelog.