Skip to content

Commit 238d700

Browse files
Merge pull request #345 from DeepLcom/v3-langs/ga-phase-2
docs(v3-languages): promote to GA, deprecate v2/languages and v2/glossary-language-pairs
2 parents 958b74b + 1be0397 commit 238d700

14 files changed

Lines changed: 103 additions & 111 deletions

api-reference/glossaries.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ description: "Manage glossaries using the v2 endpoints"
99
This page documents `v2` glossary endpoints, legacy endpoints that let you create and manage glossaries for a single language pair.
1010

1111
[See here](/api-reference/multilingual-glossaries) for information on current `v3` endpoints. Using `v3` allows you to create, manage, and edit glossaries with entries in multiple language pairs, while still supporting monolingual functionality. [See here](/api-reference/glossaries/v2-vs-v3-endpoints) for an overview of the difference.
12+
13+
The `/v2/glossary-language-pairs` endpoint is also deprecated. Use [`GET /v3/languages?resource=glossary`](/api-reference/languages/retrieve-supported-languages-by-resource) instead.
1214
</Info>
1315

1416
This page describes how to use the `v2` endpoints to work with _monolingual_ glossaries - glossaries that map phrases in one language to phrases in another language. If you're new to glossaries, we suggest you use `v3` instead.

api-reference/languages.mdx

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
11
---
2-
title: "Retrieve languages"
2+
title: "Retrieve languages (v2)"
33
sidebarTitle: "Overview"
4-
description: "API reference for retrieving supported languages with the DeepL API."
4+
description: "Reference for the deprecated v2/languages endpoint. Migrate to v3/languages for new integrations."
55
---
66

7-
Get all currently supported source and target languages that can be used for text and document translation.
7+
<Warning>
8+
**`/v2/languages` is deprecated.** Use [`GET /v3/languages`](/api-reference/languages/retrieve-supported-languages-by-resource) instead, which covers all DeepL API resources and provides richer feature information. See the [migration guide](/api-reference/languages/migrate-from-v2-languages) for details.
9+
</Warning>
810

9-
<Info>
10-
As of April 2025, supported languages for [text improvement](/api-reference/improve-text) (DeepL API for Write) have not yet been added to the `/languages` endpoint; we'll be extending the `/languages` endpoint in the near future to include this information.
11-
</Info>
12-
<Info>
13-
To get languages available for glossaries, please see [here](/api-reference/multilingual-glossaries).
14-
</Info>
15-
We also provide a spec that is auto-generated from DeepL's OpenAPI file. [You can find it here](/api-reference/languages/retrieve-supported-languages).
11+
`GET /v2/languages` returns the source and target languages supported for text and document translation. New integrations should use `/v3/languages`, which exposes the same translation languages along with feature support for glossaries, voice, write, and other resources.
1612

17-
To understand how we'll update the `/languages` endpoint when we add translation support for a new language or language variant, please see [this article](/docs/resources/language-release-process).
13+
For background on how DeepL adds new translation languages and language variants, see [the language release process](/docs/resources/language-release-process). For the auto-generated reference spec for this endpoint, see [Retrieve supported languages](/api-reference/languages/retrieve-supported-languages).
1814

1915
<Tabs>
2016
<Tab title="cURL">

api-reference/languages/language-feature-use-cases.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
22
title: 'Common use cases'
3-
tag: "BETA"
43
description: "Pseudocode examples for common language and feature lookup patterns using the v3/languages endpoints."
54
---
65

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
---
22
openapi: get /v3/languages
33
title: "Retrieve languages"
4-
tag: "BETA"
54
---
65

7-
<Info>
8-
This endpoint is available for testing in BETA. Breaking changes may be pushed with little or no advance notice, and we provide no guarantees of stability.
9-
</Info>
Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
---
22
openapi: get /v3/languages/resources
33
title: "Retrieve language resources"
4-
tag: "BETA"
54
description: "Learn how to retrieve the list of DeepL API resources and their supported language features."
65
---
76

8-
<Info>
9-
This endpoint is available for testing in BETA. Breaking changes may be pushed with little or no advance notice, and we provide no guarantees of stability.
10-
</Info>
11-

api-reference/languages/retrieve-supported-languages-by-resource.mdx

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
---
22
title: 'Retrieve supported languages by resource'
3-
tag: "BETA"
43
sidebarTitle: 'Overview'
5-
description: "Learn how to retrieve supported language and feature data across all DeepL API resources using the v3/languages endpoints."
4+
description: "Learn how to retrieve supported language and feature data across all DeepL API resources"
65
---
76

8-
Get information about all currently supported languages across all DeepL API resources.
9-
107
<Info>
11-
These **BETA** endpoints replace `/v2/languages` and `/v2/glossary-language-pairs` (see the [migration guide](/api-reference/languages/migrate-from-v2-languages)). Do not use them in production; breaking changes may be pushed without advance notice (see the [changelog](/api-reference/languages/v3-languages-changelog)).
8+
The `/v3/languages` endpoints replace the deprecated `/v2/languages` and `/v2/glossary-language-pairs` endpoints.
9+
If you're currently using either, see the [migration guide](/api-reference/languages/migrate-from-v2-languages) for
10+
differences and code examples.
1211
</Info>
1312

1413
We also provide auto-generated API specs from DeepL's OpenAPI file, for use with API clients and code generation tools:
@@ -33,11 +32,11 @@ are querying language support for:
3332
| `style_rules` | Style rules management via the `/v3/style_rules` endpoints |
3433

3534
<Note>
36-
`glossary` is a resource value indicating glossaries can be created for that language, and managed via the glossary
37-
management endpoints.
35+
`glossary` and `style_rules` are resource values indicating glossaries and style rules that can be created for that
36+
language, and managed via the glossary and style rules management endpoints.
3837

39-
Support for glossaries within specific resources (for example text translation) is indicated by the `glossary`
40-
feature value, explained in a later section.
38+
Support for glossaries and style rules within specific resources (for example text translation) is indicated by the
39+
`glossary` and `style_rules` feature value, explained in a later section.
4140
</Note>
4241

4342
## Basic example
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
---
22
openapi: get /v2/languages
3-
title: "Retrieve supported languages"
3+
title: "Retrieve supported languages (v2)"
4+
tag: "DEPRECATED"
45
---
6+
7+
<Warning>
8+
**`/v2/languages` is deprecated.** Use [`GET /v3/languages`](/api-reference/languages/retrieve-supported-languages-by-resource) instead. See the [migration guide](/api-reference/languages/migrate-from-v2-languages) for details.
9+
10+
We do not yet have a timeline for sunsetting /v2/languages, and we'll share more detail on this topic by the end of Q2 2026.
11+
</Warning>
12+

api-reference/languages/v3-languages-changelog.mdx

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
---
22
title: 'v3/languages changelog'
3-
tag: "BETA"
43
sidebarTitle: 'Changelog'
5-
description: 'Changes and planned updates to the v3/languages endpoints during the beta period.'
4+
description: 'Changes to the v3/languages endpoints, including the GA release and prior breaking changes.'
65
---
76

8-
<Info>
9-
These endpoints are in **BETA**. We will try to announce breaking changes here before they land, but cannot guarantee
10-
advance notice. Do not use these endpoints in production.
11-
</Info>
12-
137
## Changes since the initial beta release
148

15-
This section lists dated changes to the API since the initial beta release.
9+
This section lists dated changes to the API.
10+
11+
### 18 May 2026 — General Availability
12+
13+
`/v3/languages` is now generally available. The endpoint replaces the deprecated `/v2/languages` and `/v2/glossary-language-pairs`. See the [migration guide](/api-reference/languages/migrate-from-v2-languages) for differences and code examples.
14+
15+
The breaking changes listed below were applied alongside the GA release.
1616

1717
### 5 May 2026
1818

@@ -111,17 +111,3 @@ from `GET /v3/languages` are sufficient to determine feature support for all pai
111111
### 19 March 2026
112112

113113
Initial beta release.
114-
115-
---
116-
117-
## Possible additions
118-
119-
These are under consideration and may or may not land before GA.
120-
121-
- **`native_name` field** on language objects — the language's name in that language (e.g. `"Deutsch"` for German).
122-
123-
---
124-
125-
## Current beta state
126-
127-
For the current API contract, see the [overview](/api-reference/languages/retrieve-supported-languages-by-resource) and the auto-generated reference pages linked there.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
---
22
openapi: "get /v2/glossary-language-pairs"
33
title: "List language pairs supported for glossaries"
4+
tag: "DEPRECATED"
45
playground: none
56
---
67

8+
<Warning>
9+
**`/v2/glossary-language-pairs` is deprecated.** Use [`GET /v3/languages?resource=glossary`](/api-reference/languages/retrieve-supported-languages-by-resource) instead. See the [migration guide](/api-reference/languages/migrate-from-v2-languages) for details.
10+
</Warning>
11+
712
<Info>This endpoint returns all possible language pairs for glossaries.
813
[This list of supported languages](/docs/getting-started/supported-languages) may also be useful.</Info>

api-reference/openapi.json

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,7 @@
585585
"example": "def3a26b-3e84-45b3-84ae-0c0aaf3525f7"
586586
},
587587
"style_id": {
588-
"description": "Specify the [style rule list](/api-reference/style-rules) to use for the translation. \n\n**Important:** The target language has to match the language of the style rule list. \n\n**Note:** Any request with the `style_id` parameter enabled will use `quality_optimized` models. Requests combining `style_id` and `model_type: latency_optimized` will be rejected.",
588+
"description": "Specify the [style rule list](/api-reference/style-rules) to use for the translation.\n\n**Important:** The target language has to match the language of the style rule list.\n\n**Note:** Any request with the `style_id` parameter enabled will use `quality_optimized` models. Requests combining `style_id` and `model_type: latency_optimized` will be rejected.",
589589
"type": "string",
590590
"example": "7ff9bfd6-cd85-4190-8503-d6215a321519"
591591
},
@@ -1220,11 +1220,12 @@
12201220
},
12211221
"/v2/glossary-language-pairs": {
12221222
"get": {
1223+
"deprecated": true,
12231224
"tags": [
12241225
"ManageGlossaries"
12251226
],
12261227
"summary": "List Language Pairs Supported by Glossaries",
1227-
"description": "Retrieve the list of language pairs supported by the glossary feature.",
1228+
"description": "**Deprecated.** Use `GET /v3/languages?resource=glossary` instead, which returns per-language\navailability including source and target roles.\n\nRetrieve the list of language pairs supported by the glossary feature.",
12281229
"operationId": "listGlossaryLanguages",
12291230
"responses": {
12301231
"200": {
@@ -2623,11 +2624,13 @@
26232624
},
26242625
"/v2/languages": {
26252626
"get": {
2627+
"deprecated": true,
26262628
"tags": [
26272629
"MetaInformation"
26282630
],
26292631
"summary": "Retrieve Supported Languages",
2630-
"operationId": "getLanguages",
2632+
"description": "**Deprecated.** Use `GET /v3/languages?resource=translate_text` (or the appropriate resource)\ninstead. See the [migration guide](https://developers.deepl.com/api-reference/languages/migrate-from-v2-languages)\nfor details.",
2633+
"operationId": "getLanguagesV2",
26312634
"parameters": [
26322635
{
26332636
"name": "type",
@@ -2864,10 +2867,8 @@
28642867
"/v3/languages/resources": {
28652868
"get": {
28662869
"tags": [
2867-
"MetaInformation",
2868-
"beta"
2870+
"MetaInformation"
28692871
],
2870-
"x-beta": true,
28712872
"summary": "Retrieve Language Resources",
28722873
"operationId": "getLanguageResources",
28732874
"description": "Returns all DeepL API resources and the features they support.\n\nFor each feature, the response indicates which languages must support it for the feature to be\navailable — source only (`needs_source_support`), target only (`needs_target_support`), or both.\nThis allows clients to determine feature availability for a language pair by checking the\nappropriate language's `features` object returned by `GET /v3/languages`.",
@@ -3014,10 +3015,8 @@
30143015
"/v3/languages": {
30153016
"get": {
30163017
"tags": [
3017-
"MetaInformation",
3018-
"beta"
3018+
"MetaInformation"
30193019
],
3020-
"x-beta": true,
30213020
"summary": "Retrieve Languages",
30223021
"operationId": "getLanguages",
30233022
"description": "Returns languages supported by the specified DeepL API resource. Each language indicates whether it can\nbe used as a source language, a target language, or both, along with the features it supports for that\nresource.",
@@ -4786,7 +4785,7 @@
47864785
"securitySchemes": {
47874786
"auth_header": {
47884787
"type": "apiKey",
4789-
"description": "Authentication with `Authorization` header and `DeepL-Auth-Key` authentication scheme. Example: `DeepL-Auth-Key <api-key>`\n",
4788+
"description": "Authentication with `Authorization` header and `DeepL-Auth-Key` authentication scheme. Example: `DeepL-Auth-Key <api-key>`\n",
47904789
"name": "Authorization",
47914790
"in": "header",
47924791
"x-default": "DeepL-Auth-Key "
@@ -6562,7 +6561,7 @@
65626561
}
65636562
},
65646563
"Formality": {
6565-
"description": "Sets whether the translated text should lean towards formal or informal language.\nThis feature is only available for certain target languages. Setting this parameter \nwith a target language that does not support formality will fail, unless one of the \n`prefer_...` options are used.\nPossible options are:\n * `default` (default)\n * `more` - for a more formal language\n * `less` - for a more informal language\n * `prefer_more` - for a more formal language if available, otherwise fallback to default formality\n * `prefer_less` - for a more informal language if available, otherwise fallback to default formality",
6564+
"description": "Sets whether the translated text should lean towards formal or informal language.\nThis feature is only available for certain target languages. Setting this parameter\nwith a target language that does not support formality will fail, unless one of the\n`prefer_...` options are used.\nPossible options are:\n * `default` (default)\n * `more` - for a more formal language\n * `less` - for a more informal language\n * `prefer_more` - for a more formal language if available, otherwise fallback to default formality\n * `prefer_less` - for a more informal language if available, otherwise fallback to default formality",
65666565
"type": "string",
65676566
"enum": [
65686567
"default",
@@ -6827,12 +6826,12 @@
68276826
}
68286827
},
68296828
"OutlineDetectionOption": {
6830-
"description": "Disable the automatic detection of XML structure by setting the `outline_detection` parameter \nto `false` and selecting the tags that should be considered structure tags. This will split sentences \nusing the `splitting_tags` parameter.",
6829+
"description": "Disable the automatic detection of XML structure by setting the `outline_detection` parameter\nto `false` and selecting the tags that should be considered structure tags. This will split sentences\nusing the `splitting_tags` parameter.",
68316830
"type": "boolean",
68326831
"default": true
68336832
},
68346833
"OutlineDetectionOptionStr": {
6835-
"description": "Disable the automatic detection of XML structure by setting the `outline_detection` parameter \nto `false` and selecting the tags that should be considered structure tags. This will split sentences \nusing the `splitting_tags` parameter.",
6834+
"description": "Disable the automatic detection of XML structure by setting the `outline_detection` parameter\nto `false` and selecting the tags that should be considered structure tags. This will split sentences\nusing the `splitting_tags` parameter.",
68366835
"type": "string",
68376836
"default": "1",
68386837
"enum": [
@@ -6855,12 +6854,12 @@
68556854
}
68566855
},
68576856
"PreserveFormattingOption": {
6858-
"description": "Sets whether the translation engine should respect the original formatting, even if it would usually \ncorrect some aspects.",
6857+
"description": "Sets whether the translation engine should respect the original formatting, even if it would usually\ncorrect some aspects.",
68596858
"type": "boolean",
68606859
"default": false
68616860
},
68626861
"PreserveFormattingOptionStr": {
6863-
"description": "Sets whether the translation engine should respect the original formatting, even if it would usually \ncorrect some aspects.",
6862+
"description": "Sets whether the translation engine should respect the original formatting, even if it would usually\ncorrect some aspects.",
68646863
"type": "string",
68656864
"enum": [
68666865
"0",
@@ -6869,11 +6868,11 @@
68696868
"default": "0"
68706869
},
68716870
"ShowBilledCharacters": {
6872-
"description": "When true, the response will include the billed_characters parameter, giving the \nnumber of characters from the request that will be counted by DeepL for billing purposes.",
6871+
"description": "When true, the response will include the billed_characters parameter, giving the\nnumber of characters from the request that will be counted by DeepL for billing purposes.",
68736872
"type": "boolean"
68746873
},
68756874
"SplitSentencesOption": {
6876-
"description": "Sets whether the translation engine should first split the input into sentences. \n\nPossible values are:\n * 0 - no splitting at all, whole input is treated as one sentence\n * 1 (default when tag_handling is not set to html) - splits on punctuation and on newlines\n * nonewlines (default when tag_handling=html) - splits on punctuation only, ignoring newlines",
6875+
"description": "Sets whether the translation engine should first split the input into sentences.\n\nPossible values are:\n * 0 - no splitting at all, whole input is treated as one sentence\n * 1 (default when tag_handling is not set to html) - splits on punctuation and on newlines\n * nonewlines (default when tag_handling=html) - splits on punctuation only, ignoring newlines",
68776876
"type": "string",
68786877
"enum": [
68796878
"0",
@@ -6885,7 +6884,7 @@
68856884
},
68866885
"SourceLanguage": {
68876886
"type": "string",
6888-
"description": "Language of the text to be translated. If this parameter is omitted, the API will attempt to\ndetect the language of the text and translate it.\n\nFor the full list of supported source languages, see [supported languages](https://developers.deepl.com/docs/getting-started/supported-languages) or query the [`GET /v3/languages` endpoint](https://developers.deepl.com/api-reference/languages/retrieve-supported-languages-by-resource) (beta).",
6887+
"description": "Language of the text to be translated. If this parameter is omitted, the API will attempt to\ndetect the language of the text and translate it.\n\nFor the full list of supported source languages, see [supported languages](https://developers.deepl.com/docs/getting-started/supported-languages) or query the [`GET /v3/languages` endpoint](https://developers.deepl.com/api-reference/languages/retrieve-supported-languages-by-resource).",
68896888
"example": "EN"
68906889
},
68916890
"TranslationMemory": {
@@ -7059,7 +7058,7 @@
70597058
},
70607059
"TargetLanguage": {
70617060
"type": "string",
7062-
"description": "The language into which the text should be translated.\n\nFor the full list of supported target languages, see [supported languages](https://developers.deepl.com/docs/getting-started/supported-languages) or query the [`GET /v3/languages` endpoint](https://developers.deepl.com/api-reference/languages/retrieve-supported-languages-by-resource) (beta).",
7061+
"description": "The language into which the text should be translated.\n\nFor the full list of supported target languages, see [supported languages](https://developers.deepl.com/docs/getting-started/supported-languages) or query the [`GET /v3/languages` endpoint](https://developers.deepl.com/api-reference/languages/retrieve-supported-languages-by-resource).",
70637062
"example": "DE"
70647063
},
70657064
"TargetLanguageWrite": {

0 commit comments

Comments
 (0)