These endpoints are in BETA. We will try to announce breaking changes here before they land, but cannot guarantee
advance notice. Do not use these endpoints in production.
Changes since the initial beta release
This section will list dated changes to the API since the initial beta release.
22 April 2026
Breaking: renamed required_on_source / required_on_target — the feature dependency flags on
/v3/languages/products have been renamed:
| Old name | New name |
|---|
required_on_source | needs_source_support |
required_on_target | needs_target_support |
Semantics are unchanged. Update any code that reads these fields.
Breaking: removed endpoints from /v3/languages/products — the endpoints array has been removed
from each product object. The applicable endpoints are still described in the documentation for each product.
New: auto_detection feature — a new auto_detection feature has been added across multiple products
to indicate whether a language can be auto-detected as the source. This is a source-only feature
(needs_source_support: true, needs_target_support: false).
17 April 2026
Removed: /v3/languages/exceptions — this endpoint has been removed. We no longer have any language
pairs where feature support differs from what can be predicted from the individual language objects, so
the endpoint had no data to return. Remove any calls to this endpoint; the per-language features arrays
from GET /v3/languages are sufficient to determine feature support for all pairs.
19 March 2026
Initial beta release.
Planned changes
The following changes are planned before general availability. They are not yet live.
New: language status field
Language objects will include a status field indicating availability:
{
"lang": "xyz",
"name": "Example Language",
"usable_as_source": true,
"usable_as_target": true,
"features": [],
"status": "stable"
}
Possible values: "stable", "beta", "early_access".
Breaking: features array replaced by dictionary
The features property on languages will change from a list of strings to an object (dictionary). Each
key is a feature name; the value is an object with at least a status field.
Instead of:
{
"lang": "de",
"name": "German",
...
"features": [
"formality",
"tag_handling"
]
}
the following schema will be used:
{
"lang": "de",
"name": "German",
...
"features": {
"formality": {"status": "stable"},
"tag_handling": {"status": "stable"}
}
}
Feature objects may include additional fields beyond status in a future update. To check whether a feature is
supported for a language, check that the key exists in the features object.
New: include query parameter
GET /v3/languages will accept a new include query parameter. By default (no parameter), only
generally available languages and features are returned. The parameter accepts the following values:
| Value | Effect |
|---|
beta | Includes languages and features in beta, in addition to stable |
early_access | Includes languages and features in early access and beta, in addition to stable |
external | Includes features that rely on external providers (orthogonal to stability level) |
Values are composable via repeated parameters: ?include=beta&include=external.
This parameter also controls whether beta and external features appear in the features dictionary — see the
features schema change above.
Breaking: rename product to resource
resource is a clearer name for what this is describing.
This involves the following changes:
- move the
GET /v3/languages/products endpoint to GET /v3/languages/resources
- rename the
GET /v3/languages query parameter product to resource
Breaking: rename custom_instructions feature to style_rules
The custom_instructions feature value on translate_text will be renamed to style_rules:
| Current value | New value |
|---|
custom_instructions | style_rules |
Update any code that checks for "custom_instructions" in a language’s features array.
New: expanded Voice features
The voice product will expose a richer set of features in /v3/languages/products and per-language features arrays,
details are still being worked out.
Possible additions
These are under consideration and may or may not land before GA.
native_name field on language objects — the language’s name in that language (e.g. "Deutsch" for German).
Current beta state
For the current API contract, see the overview and the auto-generated reference pages linked there.