Skip to main content
For full product release notes, see the Phrase Help Center.
Style GuidesAPIUpdate

Style Guide API: active-rule and AI-check limits per Content Group and Language

Each (Content Group, Language) pair now allows at most 50 active rules and 20 active rules with AI check enabled. Rules are counted whether linked directly to a Content Group/Language or via allContentGroups/allLanguages.
  • Explicitly requesting active: true or aiCheckEnabled: true when a pair is already at its limit is rejected with 409 Conflict (ACTIVE_RULE_LIMIT_REACHED / AI_CHECK_LIMIT_REACHED).
  • When these flags are omitted, the API now decides them automatically based on remaining room, instead of always defaulting to true.
  • Style Guide rule extraction respects the same limits: extracted rules beyond the remaining room are saved but left inactive, without affecting rules already active for that Content Group and Language.
See Limits in the Style Guide API reference.
StudioAPIUpdate

Studio API: AI model value quokka is now aita

The AI model name enums for the Update project settings endpoint (chatModelName, insightsModelName, and translationModelName) previously exposed the internal codename quokka. The AI Translation Agent is now selected with the value aita — a meaningful external name in line with the other options (plai, gpt-5-mini, gpt-4o-mini).
  • Use aita when setting one of these fields to the AI Translation Agent.
  • The old quokka value is still accepted for backward compatibility, but is no longer documented and may be removed in a future release.
See the Studio API reference.
Content GroupsAPINew feature

Content Groups API now available

The Content Groups API is now documented in the Developer Hub.Use it to manage content groups — organization-scoped collections that link platform objects such as projects, style guides, style rules, and AI quality checks together for coordinated workflows.
StringsAPINew feature

Strings API: job automations can target multiple projects

Job automations previously accepted project_ids as an array but used only the first entry. You can now associate a job automation with multiple projects in a single call. Multi-project automations require the advanced_job_automation plan feature — accounts without it receive a 422 with project_ids in the error field.See the Strings API reference.
StudioAPIUpdate

Studio API: clarified subtitle updates — words is the source of truth

The Update/Get Subtitle reference now spells out that a segment’s words array (word-level text and timings) is authoritative for both subtitle rendering and dubbing text-to-speech. The text field is only a human-readable mirror and is ignored when rendering or synthesizing.
  • To change what a segment says (for example, shortening a dubbing line before a redub), edit its words — not just text.
  • Never submit a segment with an empty words array: it is silently dropped the next time the track is read, and produces no dubbing audio. This is the usual cause of a track that “comes back empty” after an update.
  • The endpoint is a bulk replace: always send the full segment list, then list changed ids in segmentsToRedub to regenerate their audio.
See the Studio API reference.
Quality EvaluatorAPIDeprecation

Quality Evaluator API: v1 CRUD and v2 endpoints deprecated

All v1 AI Check CRUD endpoints (GET/POST /v1/aiChecks, GET/PUT/DELETE /v1/aiChecks/{uid}), v1 Quality Profile CRUD endpoints, PUT /v2/aiChecks/{uid}, and POST /v2/evaluation are now flagged as deprecated in the OpenAPI spec. Migrate to the v3 Content Group–based endpoints:
  • POST /v3/evaluation for evaluating segments.
  • GET /v3/qualityProfiles/{contentGroupId} for resolving a Quality Profile from a Content Group.
The deprecated endpoints continue to work for now. See the Quality Evaluator API reference.
StringsAPINew feature
The Key Links endpoints now cover the full lifecycle of shared translations between a parent key and its children:
  • Link child keys — designate a parent and attach one or more children so their translations derive from the parent.
  • List child keys — retrieve the full link record for a parent, including all attached children.
  • Unlink a single child — detach one child; its translations inherit the parent’s current content and are marked unverified for reviewer confirmation.
  • Batch unlink — detach several children in one request, or dissolve the entire group with unlink_parent: true.
  • Content strategy on unlink — choose keep_content (default; copies the parent’s translations into each detached child) or remove_content (clears them).
Key Links are available on main projects only. See the Strings API reference.
StringsAPIUpdate

Strings API: document list search is now a prefix match

The q parameter on List documents now performs a case-insensitive prefix match on the document name instead of a substring match. For example, q=invoice returns documents whose names start with “invoice”, not those that merely contain it. If you relied on the previous substring behavior, adjust your queries accordingly.The Delete document, Get screenshot, and Delete screenshot endpoints also received clearer descriptions and error contracts. See the Strings API reference.
StringsAPINew feature

Strings API: assign a Language AI profile per locale

Locales now accept an optional language_ai_profile identifier when you create or update a locale. The selected profile drives Language AI behavior for that locale, and the assigned profile is returned on the locale resource.See the Strings API reference.
StringsAPIUpdate

Strings API: prefix-based locale downloads

Locale download requests now accept two related options in the request body:
  • translation_key_prefix — strip the given prefix from key names in the exported file.
  • filter_by_prefix — when true, only export keys that match translation_key_prefix, and remove the prefix from the output.
Use these to export a subset of keys with cleaner names. Note: stripping a prefix can produce duplicate key names if other keys collide once the prefix is removed.See the Strings API reference.
ConnectorsAPINew feature

Connectors API: full reference for all seven connectors

The Connectors API reference now documents every supported connector end-to-end, not just Contentful. Available connectors:
  • Files — sync localizable files from arbitrary file sources.
  • GitHub — connect repositories to TMS projects.
  • Braze — pull content blocks and email templates for translation.
  • Contentful — sync entries and assets.
  • Google Drive — translate documents stored in Drive.
  • Tridion Docs — exchange content with Tridion Docs.
  • Optimizely — localize Optimizely content.
Each connector exposes the same request/response contract, so you can build custom flows against a consistent interface. See the Connectors API reference.
StringsAPINew feature

Strings API: review due dates on jobs

Job responses now include a review_due_date field so you can see when a job’s review stage is due. The field returns null when the project does not have the review workflow enabled.See the Strings API reference.
StringsAPIUpdate

Strings API: branch comparison response schema

The branch comparison endpoint now returns a fully described response. For each resource type (translation keys, translations, locales, tags), the response lists changes made on the base branch, changes made on the feature branch, and any conflicts — making it easier to surface branch diffs and resolve merges programmatically.See the Strings API reference.
Quality EvaluatorAPINew feature

Quality Evaluator API v3: Content Group–based evaluation

Quality Evaluator now resolves AI Checks and Quality Profiles dynamically from Content Groups, so a single call applies the right checks for the target content:
  • Evaluate against a Content GroupPOST /v3/evaluation evaluates segments using the AI Checks resolved from the supplied contentGroupId. When no checks are associated, segments are returned with an empty results array instead of an error.
  • Resolve a Quality ProfileGET /v3/qualityProfiles/{contentGroupId} returns the Quality Profile resolved for a Content Group.
  • Restrict AI Checks to specific localesPUT /v2/aiChecks/{uid} accepts an optional locales field so a check can be limited to certain target locales. Omit the field to preserve existing restrictions, or send an empty array to clear them.
The previous AI Check CRUD endpoints (/v1/aiChecks*), Quality Profile CRUD endpoints (/v1/qualityProfiles*), and POST /v2/evaluation are now deprecated. Migrate to the v3 Content Group–based endpoints. See the Quality Evaluator API introduction.
StringsAPINew feature

Strings API: name your repo syncs

Repo syncs now support an optional name field (up to 100 characters) so you can give each sync a custom display name. When the name is null or blank, the sync continues to display using its associated project name. Set name when creating or updating a repo sync to make repository connections easier to identify in lists and dashboards.See the Strings API reference.
StudioAPINew feature

Studio API: update projects and manage recording subtitles

Three new endpoints expand what you can do with the Studio API:
  • Update project settingsPATCH /v1/projects/{id} partially updates AI model preferences, TTS provider, translation memory / MT profile assignment, and sharing visibility. Only the fields you send are changed.
  • Get recording subtitlesGET /v1/projects/{projectId}/recordings/{recordingId}/subtitles returns the segmented subtitle for a recording.
  • Update recording subtitlesPUT /v1/projects/{projectId}/recordings/{recordingId}/subtitles writes subtitle segments back to a recording.
See the Studio API reference.
TMSAPINew feature
Three new TMS endpoints let you manage a project’s content group association:
  • GET /api2/v1/projects/{projectUid}/contentGroup — get the content group linked to a project.
  • POST /api2/v1/projects/{projectUid}/contentGroup — link a project to a content group.
  • DELETE /api2/v1/projects/{projectUid}/contentGroup — unlink a project from its content group.
See the TMS API reference.
TMSQuality EvaluatorUpdate

TMS: quality evaluation moved under projects, plus segment warnings storage

The endpoint that triggers AI quality evaluation has moved to a project-scoped path:
  • New: POST /api2/v1/projects/{projectUid}/jobs/evaluateQuality
  • Replaces: POST /api2/v1/qualityProfiles/evaluate
A new POST /api2/v1/qualityProfiles/segmentWarnings endpoint also lets you store evaluation warnings for a job part. Update any integrations that called the previous endpoint. See the TMS API reference.
StringsAPIUpdate

Strings API: larger upload size for unmentioned-key reporting

When you upload translations, the response field that counts keys not mentioned in the upload is now calculated for uploads up to 100,000 keys (previously 10,000). Larger uploads still report 0.See the Strings API reference.
PlatformSCIMAPI

SCIM endpoints moved to the Platform API

SCIM user provisioning is now part of the Phrase Platform API at /scim/... (for example, GET /scim/Users, POST /scim/Users, GET /scim/ServiceProviderConfig). The previous /api2/v1/scim/... paths under TMS have been removed.Point your SCIM identity provider at the Platform endpoints. See the Platform API reference.
StringsAPINew feature

Strings API: fall back to another locale for unverified translations

Locale download endpoints accept a new optional query parameter, fallback_for_unverified_translations. When true, translations in a non-final state are replaced by the fallback locale’s translation at export time:
  • In the simple workflow, “non-final” means unverified.
  • In the review workflow, it also includes translated (awaiting review).
No stored translations are modified. Requires fallback_locale_id or use_locale_fallback to be set. See the Strings API reference.
StringsAPIUpdate

Strings API: Identify how jobs were created

Job responses in the Strings API now include two new fields so you can see where a job came from:
  • automation_id — the ID of the automation that created the job, or null if it was created manually
  • job_template_id — the ID of the job template the job was created from, or null if no template was used
See the Strings API reference for the updated schema.
MCP ServerStringsNew feature

MCP Server v0.10.0: Strings Repo Sync

The Phrase MCP Server v0.10.0 adds Repo Sync tools for Strings, so you can manage repository synchronization between Strings projects and Git repositories directly from your MCP client.See the MCP Server guide for full details.
TMSNew feature

TMS: Quality estimation warnings and translation memory alignment

Two new TMS API endpoints are available:
  • Quality estimation warningsPOST /api2/v1/qualityProfiles/qeWarnings returns AI-generated QE warnings for selected job parts, paginated by segment.
  • Translation memory alignmentPOST /api2/v2/transMemories/{transMemoryUid}/align aligns supplied source and target files using the TM’s source locale and returns an aligned XLSX file.
See the TMS API reference for details.
TMSQuality EvaluatorUpdate

Quality evaluation: lock and confirm passing segments

The TMS endpoint that triggers AI quality evaluation accepts two new optional parameters:
  • lockSegments (default true) — locks segments that pass all AI checks.
  • confirmSegments (default false) — confirms segments that pass all AI checks.
Use these to automate post-evaluation segment status changes. See the TMS API reference.
Style GuidesNew API

Style Guides API

The Style Guide API is now public. Manage organization-wide writing guidelines through the API: create and update Markdown style guides per language, version every revision, search and filter, and bulk-delete.See the Style Guides API Reference to get started.
MCP ServerTMSNew feature

MCP Server v0.9.0: Analysis and Quotes for TMS

The Phrase MCP Server v0.9.0 now supports the TMS Analysis and Quotes APIs. New tools let you create and manage analyses and quotes directly from your MCP client.See the MCP Server guide for full details.
MCP ServerStringsNew feature

MCP Server v0.8.0: Strings screenshots

The Phrase MCP Server v0.8.0 adds screenshot support for Strings with new create_screenshot and create_screenshot_marker tools, so you can attach visual context to keys directly from your MCP client.See the MCP Server guide for full details.
MCP ServerNew feature

MCP Server v0.7.0: Google Drive connector, Quality Evaluator, and base64 uploads

The Phrase MCP Server v0.7.0 adds several new capabilities:
  • Google Drive connector — manage Google Drive connector resources from the MCP Server
  • Quality Evaluator — evaluate translation quality through new Quality Evaluator tools
  • Base64 file uploads — file upload tools now accept base64-encoded file_content as an alternative to file_path
See the MCP Server guide for full details.
Quality EvaluatorAPI

Quality Evaluator API

The new Quality Evaluator API enables automated, AI-powered assessment of translation quality. Define quality requirements in natural language, group them into reusable profiles, and evaluate translation segments at scale.
  • AI Checks — create custom checks from natural language quality requirements
  • Quality Profiles — group AI Checks into reusable profiles
  • Analytics — track evaluation metrics and AI unit consumption over time
See the Quality Evaluator API introduction to get started.
MCP ServerTMSNew feature

MCP Server: Termbase and Translation Memory management

The Phrase MCP Server now supports managing Termbases and Translation Memories in TMS. New tools are available for:
  • Termbases — list, get details, search, import, and export
  • Translation Memories — list, get details, search, import, and export
These tools are available as part of the TMS product in the MCP Server. See the MCP Server guide for full details.
MCP ServerBreaking change

MCP Server package renamed

The Phrase MCP Server npm package has been renamed and is now published under the @phrase organization.Before:
After:
Update your MCP client configuration to use the new package name. The old phrase-mcp-server package is no longer maintained.See the MCP Server quick start for full configuration examples.