diff --git a/api-reference/api-reference/retrieve-languages/migrate-from-v2-languages.mdx b/api-reference/api-reference/retrieve-languages/migrate-from-v2-languages.mdx
new file mode 100644
index 0000000..cb2bfaa
--- /dev/null
+++ b/api-reference/api-reference/retrieve-languages/migrate-from-v2-languages.mdx
@@ -0,0 +1,92 @@
+---
+title: 'Migrating from v2/languages'
+description: "How to migrate from the v2/languages endpoint to the v3/languages endpoints."
+---
+
+This page covers the differences between the `/v2/languages` endpoint and the v3 endpoints, and how to update your integration.
+
+
+ Only `GET` requests are supported on the v3 endpoints. Unlike `/v2/languages`, POST is not supported.
+
+
+## What changed
+
+### Separate endpoints for source and target
+
+v2 uses a single endpoint with a `type` query parameter:
+
+```
+GET /v2/languages?type=source
+GET /v2/languages?type=target
+```
+
+v3 uses two dedicated endpoints:
+
+```
+GET /v3/languages/source
+GET /v3/languages/target
+```
+
+### New product identifiers
+
+v2 languages are implicitly tied to text and document translation. v3 introduces an explicit `product` parameter that applies across all DeepL API products:
+
+| v2 | v3 `product` value |
+|---|---|
+| *(implicit — text/document translation only)* | `translate_text` |
+| *(implicit — text/document translation only)* | `translate_document` |
+| *(not supported — separate `/v2/glossary-language-pairs` endpoint)* | `glossary` |
+| *(not supported)* | `voice` |
+| *(not supported)* | `write` |
+
+The v3 endpoints replace both `/v2/languages` and `/v2/glossary-language-pairs`.
+
+### Features instead of `supports_formality`
+
+v2 target languages include a boolean `supports_formality` field. v3 replaces this with a `features` array that covers additional capabilities per product:
+
+| v2 field | v3 equivalent |
+|---|---|
+| `"supports_formality": true` | `"features": ["formality"]` on both source and target language (when `product` is specified) |
+
+For example, querying target languages for text translation:
+
+```sh
+curl -X GET 'https://api.deepl.com/v3/languages/target?product=translate_text' \
+--header 'Authorization: DeepL-Auth-Key [yourAuthKey]'
+```
+
+```json Example response (truncated)
+[
+ {
+ "lang": "de",
+ "name": "German",
+ "features": ["formality", "tag_handling", "glossary_id"]
+ },
+ {
+ "lang": "en-US",
+ "name": "English (American)",
+ "features": ["tag_handling", "glossary_id"]
+ }
+]
+```
+
+The response indicates German supports `formality`, but English (American) does not.
+
+The `features` array only appears on a language object when a `product` parameter is specified. See the [overview](/api-reference/api-reference/retrieve-languages/retrieve-supported-languages-by-product-beta) for the full list of features per product.
+
+### Flat array response
+
+v2 returns a flat JSON array. v3 also returns a flat array — but each endpoint returns only its own list (sources or targets), so there is no wrapper object.
+
+### Response field names
+
+| v2 field | v3 field |
+|---|---|
+| `language` | `lang` |
+| `name` | `name` *(unchanged)* |
+| `supports_formality` | `features` *(array, product-specific)* |
+
+## Migrating glossary language pair queries
+
+If you currently use `/v2/glossary-language-pairs` to discover which language pairs are supported for glossaries, use `/v3/languages/source` and `/v3/languages/target` with `product=glossary` instead.
diff --git a/api-reference/api-reference/retrieve-languages/retrieve-language-pair-exceptions-beta.mdx b/api-reference/api-reference/retrieve-languages/retrieve-language-pair-exceptions-beta.mdx
new file mode 100644
index 0000000..41b56a8
--- /dev/null
+++ b/api-reference/api-reference/retrieve-languages/retrieve-language-pair-exceptions-beta.mdx
@@ -0,0 +1,4 @@
+---
+openapi: get /v3/languages/exceptions
+title: "Retrieve language pair exceptions [BETA]"
+---
diff --git a/api-reference/api-reference/retrieve-languages/retrieve-source-languages-beta.mdx b/api-reference/api-reference/retrieve-languages/retrieve-source-languages-beta.mdx
new file mode 100644
index 0000000..7a231ba
--- /dev/null
+++ b/api-reference/api-reference/retrieve-languages/retrieve-source-languages-beta.mdx
@@ -0,0 +1,4 @@
+---
+openapi: get /v3/languages/source
+title: "Retrieve source languages [BETA]"
+---
diff --git a/api-reference/api-reference/retrieve-languages/retrieve-supported-languages-by-product-beta.mdx b/api-reference/api-reference/retrieve-languages/retrieve-supported-languages-by-product-beta.mdx
new file mode 100644
index 0000000..ac1cf31
--- /dev/null
+++ b/api-reference/api-reference/retrieve-languages/retrieve-supported-languages-by-product-beta.mdx
@@ -0,0 +1,315 @@
+---
+title: 'Retrieve supported languages by product [BETA]'
+sidebarTitle: 'Overview'
+description: "API reference for retrieving supported languages with the DeepL API across all products."
+---
+
+Get information about all currently supported source and target languages across all DeepL API products.
+
+
+ The `/v3/languages` endpoints provide a single source of truth for language and feature support across all DeepL
+ API products. They replace the `/v2/languages` and `/v2/glossary-language-pairs` endpoints.
+
+ If you're currently using `/v2/languages` or `/v2/glossary-language-pairs`, see the
+ [migration guide](/api-reference/api-reference/retrieve-languages/migrate-from-v2-languages)
+ for a full list of differences and code examples.
+
+
+We also provide specs that are auto-generated from DeepL's OpenAPI file. You can find them here:
+- [Retrieve source languages](/api-reference/api-reference/retrieve-languages/retrieve-source-languages-beta)
+- [Retrieve target languages](/api-reference/api-reference/retrieve-languages/retrieve-target-languages-beta)
+- [Retrieve language pair exceptions](/api-reference/api-reference/retrieve-languages/retrieve-language-pair-exceptions-beta)
+
+To understand how we'll update these endpoints when we add translation support for a new language or language variant, please see [this article](/docs/resources/language-release-process).
+
+## Basic example
+
+You can call the `/v3/languages/source` endpoint to retrieve a list of all supported source languages,
+and call the `/v3/languages/target` endpoint to retrieve a list of all supported target languages.
+
+The examples below use our API Pro endpoint `https://api.deepl.com`. If you're an API Free user, remember to update
+your requests to use `https://api-free.deepl.com` instead.
+
+
+
+
+```sh Example request: supported source languages
+curl -X GET 'https://api.deepl.com/v3/languages/source' \
+--header 'Authorization: DeepL-Auth-Key [yourAuthKey]'
+```
+
+
+
+```http Example request: supported source languages
+GET /v3/languages/source HTTP/2
+Host: api.deepl.com
+Authorization: DeepL-Auth-Key [yourAuthKey]
+User-Agent: YourApp/1.2.3
+```
+
+
+
+The following example response is truncated; the full API response includes over 100 languages.
+
+```json Example response
+[
+ {
+ "lang": "de",
+ "name": "German",
+ "products": [
+ "translate_text",
+ "translate_document",
+ "glossary",
+ "voice",
+ "write"
+ ]
+ },
+ {
+ "lang": "en",
+ "name": "English",
+ "products": [
+ "translate_text",
+ "translate_document",
+ "glossary",
+ "voice",
+ "write"
+ ]
+ }
+]
+```
+
+## Filtering by product
+
+For the `/v3/languages/source` and `/v3/languages/target` endpoints you may also specify the `product` query parameter
+as a filter, to return only source or target languages supporting that product.
+In this case the `products` array is no longer included in the response.
+
+Instead, each source or target language includes a `features` array indicating which product-specific capabilities are
+supported for the language:
+
+
+
+
+```sh Example request: target languages for text translation
+curl -X GET 'https://api.deepl.com/v3/languages/target?product=translate_text' \
+--header 'Authorization: DeepL-Auth-Key [yourAuthKey]'
+```
+
+
+
+
+```http Example request: target languages for text translation
+GET /v3/languages/target?product=translate_text HTTP/2
+Host: api.deepl.com
+Authorization: DeepL-Auth-Key [yourAuthKey]
+User-Agent: YourApp/1.2.3
+```
+
+
+
+
+```json Example response
+[
+ {
+ "lang": "de",
+ "name": "German",
+ "features": [
+ "formality",
+ "tag_handling",
+ "glossary_id"
+ ]
+ },
+ {
+ "lang": "en-US",
+ "name": "English (American)",
+ "features": [
+ "tag_handling",
+ "glossary_id"
+ ]
+ }
+]
+```
+
+## Products list
+
+The `product` query parameter identifies which DeepL API product you are querying language support for:
+
+| Value | Description |
+|---|---|
+| `translate_text` | Text translation via the `/v2/translate` endpoint |
+| `translate_document` | Document translation via the `/v2/document` endpoint |
+| `voice` | Speech-to-text and speech-to-speech via the `/v3/voice` endpoints |
+| `write` | Text improvement via the `/v2/write` endpoints |
+| `glossary` | Glossary management via the `/v2/` and `/v3/glossaries` endpoints |
+
+
+ `glossary` is a product value indicating glossaries can be created for that language, and managed via the glossary
+ management endpoints.
+
+ Support for glossaries within specific products (for example text translation) is indicated by the `glossary_id`
+ feature value, explained in the following section.
+
+
+As we add new products to the DeepL API, the `products` list for each supported language will be extended.
+
+## Product features
+
+As described earlier, when the `product` query parameter is specified, language objects may include a `features` array.
+The included features indicate which optional parameters are supported for that language.
+
+For example, `["formality", "tag_handling", "glossary_id"]` for German above indicates that when this language is used
+as the target language for text translation, the `formality`, `tag_handling` and `glossary_id` parameters are supported.
+
+Features must be included in *both* the source and target language's `features` array to be supported. For example, if
+the source language French (`fr`) includes `"formality"` for text translation, but the target language Greek (`el`) does
+not, then text translations from French to Greek are possible but will not support formality.
+
+API endpoints describe in their documentation which request parameters are language-dependent, and indicate the
+feature values to check for in the `features` array.
+
+## Language pair exceptions
+
+In rare cases, feature support for a specific language pair may differ from the feature support returned for the source
+and target languages individually. This occurs due to intricacies and language-specifics of DeepL's AI models.
+
+A hypothetical example: text translation formality is supported for source language Ukrainian, and it is also supported
+for target language Russian. However, translating specifically from Ukrainian to Russian does *not* support formality.
+
+It is complex to handle these cases, so we design our API endpoints to perform the "best effort" in such cases. For
+example, by ignoring formality support and continuing with the translation rather than failing the request.
+However, in some cases information about these exceptions may be useful, so this section explains how to retrieve it.
+
+### `source_lang` and `target_lang` query parameters
+
+You may also specify a `source_lang` or `target_lang` query parameter in addition to the `product` query parameter:
+- for `/v3/languages/source`, the `target_lang` parameter indicates the target language for which you want to retrieve
+language support
+- for `/v3/languages/target`, the `source_lang` parameter indicates the source language for which you want to retrieve
+language support
+These parameters will modify the feature support information returned for each language, applying any of these
+exceptional cases as described above.
+
+Continuing the hypothetical Ukrainian to Russian example: querying target languages for text translation without a
+source filter shows Russian with `formality` support, since Russian generally supports formality as a target language:
+
+```sh
+curl -X GET 'https://api.deepl.com/v3/languages/target?product=translate_text' \
+--header 'Authorization: DeepL-Auth-Key [yourAuthKey]'
+```
+
+```json Example target languages response (truncated)
+[
+ {
+ "lang": "ru",
+ "name": "Russian",
+ "features": ["formality", "tag_handling", "glossary_id"]
+ }
+]
+```
+
+Similarly, querying source languages for text translation without a target filter shows Ukrainian with `formality`
+support, since Ukrainian generally supports formality as a source language:
+
+```sh
+curl -X GET 'https://api.deepl.com/v3/languages/source?product=translate_text' \
+--header 'Authorization: DeepL-Auth-Key [yourAuthKey]'
+```
+
+```json Example source languages response (truncated)
+[
+ {
+ "lang": "uk",
+ "name": "Ukrainian",
+ "features": ["formality", "tag_handling", "glossary_id"]
+ }
+]
+```
+
+However, specifying `source_lang=uk` applies the language-pair exception, and Russian is returned without `formality` indicating
+the exception:
+
+```sh
+curl -X GET 'https://api.deepl.com/v3/languages/target?product=translate_text&source_lang=uk' \
+--header 'Authorization: DeepL-Auth-Key [yourAuthKey]'
+```
+
+```json Example target languages response, filtering for source_lang=uk (truncated)
+[
+ {
+ "lang": "ru",
+ "name": "Russian",
+ "features": ["tag_handling", "glossary_id"]
+ }
+]
+```
+
+Similarly, querying source languages while specifying `target_lang=ru` applies the language-pair exception, and
+Ukrainian is returned without `formality` indicating the exception:
+
+```sh
+curl -X GET 'https://api.deepl.com/v3/languages/source?product=translate_text&target_lang=ru' \
+--header 'Authorization: DeepL-Auth-Key [yourAuthKey]'
+```
+
+```json Example source languages response, filtering for target_lang=ru (truncated)
+[
+ {
+ "lang": "uk",
+ "name": "Ukrainian",
+ "features": ["tag_handling", "glossary_id"]
+ }
+]
+```
+
+### Retrieving language pair exceptions directly
+
+Language pair exceptions are also available directly via the `/v3/languages/exceptions` endpoint. The `product` query
+parameter is required to specify the product for which you want to retrieve exceptions.
+
+The response includes a list of language pairs for which exceptions exist, with their actual feature support.
+
+Continuing the hypothetical example, querying exceptions for text translation shows that Ukrainian-Russian does not
+support formality:
+
+```sh
+curl -X GET 'https://api.deepl.com/v3/languages/exceptions?product=translate_text' \
+--header 'Authorization: DeepL-Auth-Key [yourAuthKey]'
+```
+
+```json Example exceptions response (truncated)
+[
+ {
+ "source_lang": "uk",
+ "target_lang": "ru",
+ "features": ["tag_handling", "glossary_id"]
+ }
+]
+```
+
+You can apply these exceptions in client logic, overriding the responses from the `/v3/languages/source` and
+`/v3/languages/target` endpoints for those specific language pairs.
+
+## API stability
+
+The v3 language endpoints are designed to be forward-compatible:
+
+- New products may be added to the `products` array
+- New features may be added to the `features` array
+- New languages will be added as DeepL support expands
+- Existing fields will not be removed or changed in backwards-incompatible ways
+
+
+ Build your integration to gracefully handle new values in the `products` and `features` arrays.
+
+
+## Best practices
+
+1. **Cache responses**: Language support changes infrequently. Consider caching responses for up to 1 hour.
+
+2. **Filter by product**: Use the `product` parameter when you only need languages for a specific product — this reduces response size and includes feature information.
+
+3. **Check features**: Always check the `features` array on language objects rather than assuming support (e.g. for formality, glossary use, or writing style).
+
+4. **Handle forward compatibility**: Ignore unknown values in `products` and `features` arrays to remain compatible as new products and capabilities are added.
+
+5. **Use specific variants**: For target languages, prefer specific regional variants (e.g., `"en-US"`, `"en-GB"`) when the distinction matters to your users.
diff --git a/api-reference/api-reference/retrieve-languages/retrieve-target-languages-beta.mdx b/api-reference/api-reference/retrieve-languages/retrieve-target-languages-beta.mdx
new file mode 100644
index 0000000..6dcc26a
--- /dev/null
+++ b/api-reference/api-reference/retrieve-languages/retrieve-target-languages-beta.mdx
@@ -0,0 +1,4 @@
+---
+openapi: get /v3/languages/target
+title: "Retrieve target languages [BETA]"
+---
diff --git a/api-reference/languages.mdx b/api-reference/languages.mdx
index 9097163..70341d2 100644
--- a/api-reference/languages.mdx
+++ b/api-reference/languages.mdx
@@ -210,7 +210,7 @@ curl -X GET 'https://api.deepl.com/v2/languages?type=target' \
```http Example request: supported target languages
GET /v2/languages?type=target HTTP/2
Host: api.deepl.com
-Authorization: DeepL-Auth-Key [yourAuthKey]
+Authorization: DeepL-Auth-Key [yourAuthKey]
User-Agent: YourApp/1.2.3
```
```json Example response
diff --git a/api-reference/languages/retrieve-supported-languages.mdx b/api-reference/languages/retrieve-supported-languages.mdx
index 13b12c4..4e04361 100644
--- a/api-reference/languages/retrieve-supported-languages.mdx
+++ b/api-reference/languages/retrieve-supported-languages.mdx
@@ -1,4 +1,4 @@
---
openapi: get /v2/languages
title: "Retrieve supported languages"
----
\ No newline at end of file
+---
diff --git a/api-reference/openapi.yaml b/api-reference/openapi.yaml
index ae87f39..78a8ab1 100644
--- a/api-reference/openapi.yaml
+++ b/api-reference/openapi.yaml
@@ -272,7 +272,7 @@ paths:
- key_id
properties:
key_id:
- $ref: '#/components/schemas/ApiKeyId'
+ $ref: '#/components/schemas/ApiKeyId'
responses:
200:
description: The deactivate function returns a JSON representation of the deactivated API key.
@@ -1942,6 +1942,380 @@ paths:
$ref: '#/components/responses/TooManyRequests'
security:
- auth_header: [ ]
+ /v3/languages/source:
+ get:
+ tags:
+ - MetaInformation
+ summary: Retrieve Source Languages
+ operationId: getSourceLanguages
+ description: |-
+ Returns source languages supported by one or more DeepL API products.
+
+ When no `product` parameter is specified, each language includes a `products` array
+ indicating which products support it. When `product` is specified, only languages
+ for that product are returned, the `products` field is omitted, and source languages
+ may include a `features` array listing product-specific capabilities.
+ parameters:
+ - name: product
+ in: query
+ required: false
+ schema:
+ type: string
+ enum:
+ - translate_text
+ - translate_document
+ - glossary
+ - voice
+ - write
+ description: |-
+ Filter languages by product. Supported values: `translate_text`, `translate_document`,
+ `glossary`, `voice`, `write`.
+ - name: target_lang
+ in: query
+ required: false
+ schema:
+ type: string
+ example: en-US
+ description: |-
+ Filter source languages to those compatible with a specific target language.
+ Must be used together with `product`. Language code must be valid (e.g. `en`, `en-US`, `fr`).
+ responses:
+ 200:
+ description: JSON array where each item represents a supported source language.
+ headers:
+ X-Trace-ID:
+ $ref: '#/components/headers/X-Trace-ID'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ required:
+ - lang
+ - name
+ properties:
+ lang:
+ description: The language code of the given language.
+ type: string
+ example: de
+ name:
+ description: Name of the language in English.
+ type: string
+ example: German
+ products:
+ description: |-
+ Array of product identifiers indicating which products support this language.
+ Only present when no `product` query parameter is specified.
+ type: array
+ items:
+ type: string
+ enum:
+ - translate_text
+ - translate_document
+ - glossary
+ - voice
+ - write
+ example:
+ - translate_text
+ - translate_document
+ - glossary
+ - voice
+ - write
+ features:
+ description: |-
+ Array of feature strings indicating capabilities for this language with the
+ specified product. Only present when a `product` query parameter is specified
+ and the language supports one or more features for that product.
+ type: array
+ items:
+ type: string
+ enum:
+ - tag_handling
+ - glossary_id
+ example:
+ - tag_handling
+ - glossary_id
+ examples:
+ allSourceLanguages:
+ summary: All source languages (no product filter)
+ value:
+ - lang: de
+ name: German
+ products:
+ - translate_text
+ - translate_document
+ - glossary
+ - voice
+ - write
+ - lang: en
+ name: English
+ products:
+ - translate_text
+ - translate_document
+ - glossary
+ - voice
+ - write
+ translateTextSources:
+ summary: Source languages for text translation
+ value:
+ - lang: de
+ name: German
+ features:
+ - tag_handling
+ - glossary_id
+ - lang: en
+ name: English
+ features:
+ - tag_handling
+ - glossary_id
+ 400:
+ $ref: '#/components/responses/BadRequest'
+ 401:
+ $ref: '#/components/responses/Unauthorized'
+ 403:
+ $ref: '#/components/responses/Forbidden'
+ 429:
+ $ref: '#/components/responses/TooManyRequests'
+ 500:
+ $ref: '#/components/responses/InternalServerError'
+ 503:
+ $ref: '#/components/responses/ServiceUnavailable'
+ security:
+ - auth_header: []
+ /v3/languages/target:
+ get:
+ tags:
+ - MetaInformation
+ summary: Retrieve Target Languages
+ operationId: getTargetLanguages
+ description: |-
+ Returns target languages supported by one or more DeepL API products.
+
+ When no `product` parameter is specified, each language includes a `products` array
+ indicating which products support it. When `product` is specified, only languages
+ for that product are returned, the `products` field is omitted, and target languages
+ may include a `features` array listing product-specific capabilities.
+ parameters:
+ - name: product
+ in: query
+ required: false
+ schema:
+ type: string
+ enum:
+ - translate_text
+ - translate_document
+ - glossary
+ - voice
+ - write
+ description: |-
+ Filter languages by product. Supported values: `translate_text`, `translate_document`,
+ `glossary`, `voice`, `write`.
+ - name: source_lang
+ in: query
+ required: false
+ schema:
+ type: string
+ example: de
+ description: |-
+ Filter target languages to those compatible with a specific source language.
+ Must be used together with `product`. Language code must be valid (e.g. `de`, `en`, `fr`).
+ responses:
+ 200:
+ description: JSON array where each item represents a supported target language.
+ headers:
+ X-Trace-ID:
+ $ref: '#/components/headers/X-Trace-ID'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ required:
+ - lang
+ - name
+ properties:
+ lang:
+ description: The language code of the given language.
+ type: string
+ example: en-US
+ name:
+ description: Name of the language in English.
+ type: string
+ example: English (American)
+ products:
+ description: |-
+ Array of product identifiers indicating which products support this language.
+ Only present when no `product` query parameter is specified.
+ type: array
+ items:
+ type: string
+ enum:
+ - translate_text
+ - translate_document
+ - glossary
+ - voice
+ - write
+ example:
+ - translate_text
+ - translate_document
+ - glossary
+ - voice
+ - write
+ features:
+ description: |-
+ Array of feature strings indicating capabilities for this language with the
+ specified product. Only present when a `product` query parameter is specified
+ and the language supports one or more features for that product.
+ type: array
+ items:
+ type: string
+ enum:
+ - formality
+ - tag_handling
+ - glossary_id
+ - custom_instructions
+ - writing_style
+ - tone
+ example:
+ - formality
+ - tag_handling
+ - glossary_id
+ examples:
+ allTargetLanguages:
+ summary: All target languages (no product filter)
+ value:
+ - lang: en-US
+ name: English (American)
+ products:
+ - translate_text
+ - translate_document
+ - glossary
+ - voice
+ - write
+ - lang: fr
+ name: French
+ products:
+ - translate_text
+ - translate_document
+ - glossary
+ - voice
+ - write
+ translateTextTargets:
+ summary: Target languages for text translation
+ value:
+ - lang: de
+ name: German
+ features:
+ - formality
+ - tag_handling
+ - glossary_id
+ - lang: en-US
+ name: English (American)
+ features:
+ - tag_handling
+ - glossary_id
+ - lang: fr
+ name: French
+ features:
+ - formality
+ - tag_handling
+ - glossary_id
+ 400:
+ $ref: '#/components/responses/BadRequest'
+ 401:
+ $ref: '#/components/responses/Unauthorized'
+ 403:
+ $ref: '#/components/responses/Forbidden'
+ 429:
+ $ref: '#/components/responses/TooManyRequests'
+ 500:
+ $ref: '#/components/responses/InternalServerError'
+ 503:
+ $ref: '#/components/responses/ServiceUnavailable'
+ security:
+ - auth_header: []
+ /v3/languages/exceptions:
+ get:
+ tags:
+ - MetaInformation
+ summary: Retrieve Language Pair Exceptions
+ operationId: getLanguagePairExceptions
+ description: |-
+ Returns language pairs for which feature support differs from what would be predicted by the
+ feature support of the source and target languages individually.
+
+ The `product` parameter is required. Results are specific to the product, as exceptions may
+ vary across products.
+ parameters:
+ - name: product
+ in: query
+ required: true
+ schema:
+ type: string
+ enum:
+ - translate_text
+ - translate_document
+ - glossary
+ - voice
+ - write
+ description: The product for which to retrieve language pair exceptions. Required.
+ responses:
+ 200:
+ description: JSON array where each item represents a language pair with exceptional feature support.
+ headers:
+ X-Trace-ID:
+ $ref: '#/components/headers/X-Trace-ID'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ required:
+ - source_lang
+ - target_lang
+ - features
+ properties:
+ source_lang:
+ description: The source language code of the language pair.
+ type: string
+ example: uk
+ target_lang:
+ description: The target language code of the language pair.
+ type: string
+ example: ru
+ features:
+ description: |-
+ The actual features supported for this specific language pair, which differs
+ from the features reported for the source or target language individually.
+ type: array
+ items:
+ type: string
+ example:
+ - tag_handling
+ - glossary_id
+ example:
+ - source_lang: uk
+ target_lang: ru
+ features:
+ - tag_handling
+ - glossary_id
+ 400:
+ $ref: '#/components/responses/BadRequest'
+ 401:
+ $ref: '#/components/responses/Unauthorized'
+ 403:
+ $ref: '#/components/responses/Forbidden'
+ 429:
+ $ref: '#/components/responses/TooManyRequests'
+ 500:
+ $ref: '#/components/responses/InternalServerError'
+ 503:
+ $ref: '#/components/responses/ServiceUnavailable'
+ security:
+ - auth_header: []
/v3/style_rules:
get:
summary: Retrieve style rule lists
@@ -3661,7 +4035,7 @@ components:
- ja
- ko
- zh
- StyleRuleName:
+ StyleRuleName:
description: Name associated with the style rule.
type: string
DocumentTranslationError:
@@ -3957,7 +4331,7 @@ components:
description: |-
When true, the response will include the billed_characters parameter, giving the
number of characters from the request that will be counted by DeepL for billing purposes.
- type: boolean
+ type: boolean
SplitSentencesOption:
description: |-
Sets whether the translation engine should first split the input into sentences.
@@ -3965,7 +4339,7 @@ components:
Possible values are:
* 0 - no splitting at all, whole input is treated as one sentence
* 1 (default when tag_handling is not set to html) - splits on punctuation and on newlines
- * nonewlines (default when tag_handling=html) - splits on punctuation only, ignoring newlines
+ * nonewlines (default when tag_handling=html) - splits on punctuation only, ignoring newlines
type: string
enum:
- '0'
@@ -4111,7 +4485,7 @@ components:
Sets which version of the tag handling algorithm should be used. Options currently available:
* `v1`: Traditional algorithm (currently the default, will become deprecated in the future).
* `v2`: Improved algorithm released in October 2025 (will become the default in the future).
-
+
type: string
enum:
- v1
diff --git a/docs.json b/docs.json
index 325e9b7..ea84e60 100644
--- a/docs.json
+++ b/docs.json
@@ -196,6 +196,16 @@
"api-reference/languages/retrieve-supported-languages"
]
},
+ {
+ "group": "Retrieve languages by product [BETA]",
+ "pages": [
+ "api-reference/api-reference/retrieve-languages/retrieve-supported-languages-by-product-beta",
+ "api-reference/api-reference/retrieve-languages/retrieve-source-languages-beta",
+ "api-reference/api-reference/retrieve-languages/retrieve-target-languages-beta",
+ "api-reference/api-reference/retrieve-languages/retrieve-language-pair-exceptions-beta",
+ "api-reference/api-reference/retrieve-languages/migrate-from-v2-languages"
+ ]
+ },
{
"group": "Admin API",
"pages": [