> ## Documentation Index
> Fetch the complete documentation index at: https://developers.deepl.com/llms.txt
> Use this file to discover all available pages before exploring further.

# v3/languages changelog

> Changes to the v3/languages endpoints, including the GA release and prior breaking changes.

## Changes since the initial beta release

This section lists dated changes to the API.

### 2 July 2026

**New: Hindi, Malay, and Tamil on the `voice` resource** — `hi` (Hindi), `ms` (Malay), and `ta` (Tamil)
are now reported on the `voice` resource as beta languages. Translation is provided by DeepL, while
`transcription`, `translated_speech`, and `spoken_terms` are provided by external service partners and
marked `"external": true`. Because they are beta and external, they appear only when both flags are set:
call `GET /v3/languages?resource=voice&include=beta&include=external` to see them.

### 5 June 2026

**New: `spoken_terms` feature on `voice` resource** — the `spoken_terms` feature is now reported on
languages whose transcription is provided by external service partners, in addition to languages
transcribed by DeepL. The feature remains in beta on all supported languages; for external-provider
languages the feature is also marked `"external": true`. Call `GET /v3/languages?resource=voice&include=beta&include=external`
to see the full list.

### 18 May 2026 — General Availability

`/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.

The breaking changes listed below were applied alongside the GA release.

### 5 May 2026

**Breaking: renamed `product` to `resource`** — the `product` query parameter on `GET /v3/languages` has been
renamed to `resource`. The `/v3/languages/products` endpoint has been renamed to `/v3/languages/resources`.
Update all calls accordingly.

**Breaking: `features` array replaced by object** — the `features` property on language objects has changed
from an array 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:

```json theme={null}
{
  "lang": "de",
  "features": ["formality", "tag_handling"]
}
```

the following schema is used:

```json theme={null}
{
  "lang": "de",
  "features": {
    "formality": {"status": "stable"},
    "tag_handling": {"status": "stable"}
  }
}
```

To check whether a feature is supported, check that the key exists in the `features` object.

**New: language `status` field** — language objects now include a `status` field indicating availability:

```json theme={null}
{
  "lang": "de",
  "status": "stable",
  "features": { ... }
}
```

Possible values: `"stable"`, `"beta"`, `"early_access"`.

**New: `include` query parameter** — `GET /v3/languages` now accepts an `include` query parameter.
By default (no parameter), only stable languages and features are returned.

| **Value**  | **Effect**                                                     |
| ---------- | -------------------------------------------------------------- |
| `beta`     | Includes languages and features in beta, in addition to stable |
| `external` | Includes features that rely on third-party service providers   |

Values are composable via repeated parameters: `?include=beta&include=external`.

**Breaking: renamed `custom_instructions` feature to `style_rules`** — the `custom_instructions` feature
value returned by `GET /v3/languages` has been renamed to `style_rules`:

| **Old value**         | **New value** |
| --------------------- | ------------- |
| `custom_instructions` | `style_rules` |

This affects the `features` object returned per language and the feature list returned by
`GET /v3/languages/resources`. Note: the `custom_instructions` parameter on the translate endpoint
is not affected by this change.

***

### 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` objects
from `GET /v3/languages` are sufficient to determine feature support for all pairs.

### 19 March 2026

Initial beta release.
