> ## Documentation Index
> Fetch the complete documentation index at: https://deepl-c950b784-docs-agentic-readiness-round-2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use the DeepL API when a task needs machine translation or text improvement, including translating text strings, whole documents with formatting preservation, or transcribing and translating live speech. Preferred terminology and phrasing may be enforced using customizations (glossaries, style rules, and translation memories). Retrieve supported languages for each product from the `/v3/languages` endpoints.
> Do not use the DeepL API to write, summarize, answer, or classify: it transforms text you supply. Full when-to-use guidance, mapped to endpoints, is at https://developers.deepl.com/AGENTS.md.
> Read the machine-readable API surface instead of inferring request shapes from prose: the REST spec is at https://developers.deepl.com/api-reference/openapi.yaml (also served as openapi.json) and the Voice WebSocket protocol is at https://developers.deepl.com/api-reference/voice/voice.asyncapi.yaml. Both are listed in the RFC 9727 catalog at https://developers.deepl.com/.well-known/api-catalog. These docs also expose an MCP server at https://developers.deepl.com/mcp (Streamable HTTP, no authentication).
> Use https://api.deepl.com for Pro plans and https://api-free.deepl.com for the Free plan. Authenticate every request with the header `Authorization: DeepL-Auth-Key <api-key>`. Never fabricate an API key: ask the user for one, or point them at https://developers.deepl.com/docs/getting-started/quickstart.
> Errors use standard HTTP status codes with a JSON body containing a `message` field, plus a `code` field where available, and an `X-Trace-ID` response header that identifies the request in DeepL's logs. Log `X-Trace-ID` by default. Retry 429 and 5xx with exponential backoff. Do not retry 456, which means the account quota is exhausted, or 400, which means the request itself is invalid.
> There is no fixed request-per-second limit and no `RateLimit` response headers: the service adapts to load. Throttle from the responses instead, honoring `Retry-After` when a 429 or 529 includes it, and capping in-flight requests. See https://developers.deepl.com/docs/best-practices/error-handling.

# Managing API Keys in the Account UI

> Create, rename, deactivate, and set usage limits and permissions on DeepL API keys in the account UI.

Manage your API keys in the ["API Keys & Limits" tab](https://www.deepl.com/your-account/keys) when signed into your DeepL API account. A single subscription can have multiple simultaneously active keys: up to 25 on Pro API plans and up to 2 on Free API plans.

This tab has two subtabs: "API Keys" and "Admin API Keys." The sections below — filtering, creating, copying, renaming, deactivating, setting usage limits, and setting permissions — all describe the "API Keys" subtab. See [Manage admin API keys](#manage-admin-api-keys) for how the "Admin API Keys" subtab differs.

<Info>
  To create, deactivate, and limit developer keys programmatically instead, use the [Admin API](/docs/admin/overview#the-admin-api).
</Info>

<Frame caption="The API Keys & Limits tab">
  <img src="https://mintcdn.com/deepl-c950b784-docs-agentic-readiness-round-2/VdhEIqte997foL0o/_assets/images/limits-and-api-keys-home.png?fit=max&auto=format&n=VdhEIqte997foL0o&q=85&s=4174b22f86839621893fce0e6db47af3" alt="" width="3776" height="1794" data-path="_assets/images/limits-and-api-keys-home.png" />
</Frame>

## Filter API keys

You can filter API keys by dimensions such as key status, key-level permissions, and consumption. Use this to quickly narrow the key table down to, for example, only active keys or only keys nearing their usage limit.

<Frame caption="Filtering the API key table">
  <img src="https://mintcdn.com/deepl-c950b784-docs-agentic-readiness-round-2/VdhEIqte997foL0o/_assets/images/filter-api-keys.png?fit=max&auto=format&n=VdhEIqte997foL0o&q=85&s=3f06933fe3004ee6a289615bfa4a5592" alt="" width="3818" height="1804" data-path="_assets/images/filter-api-keys.png" />
</Frame>

## Create a key

Click "Create key". You can optionally name the key during creation; if you don't, it's named "DeepL API Key" automatically. Naming keys lets you find them later using the search bar on the "API keys" tab.

<Frame caption="Create a new API key">
  <img src="https://mintcdn.com/deepl-c950b784-docs-agentic-readiness-round-2/VdhEIqte997foL0o/_assets/images/create-api-key-dialog.png?fit=max&auto=format&n=VdhEIqte997foL0o&q=85&s=d797f25c33975a80b9cbb79a600e27cc" alt="" width="3820" height="1806" data-path="_assets/images/create-api-key-dialog.png" />
</Frame>

After you confirm, a popup shows the new key. Copy it from this popup to use it immediately, or copy it from the key table at any time.

<Frame caption="Copy an API key immediately after creating it">
  <img src="https://mintcdn.com/deepl-c950b784-docs-agentic-readiness-round-2/VdhEIqte997foL0o/_assets/images/create-api-key-copy-modal.png?fit=max&auto=format&n=VdhEIqte997foL0o&q=85&s=0e396b9c25d3817e3234f192a141afb6" alt="" width="3818" height="1804" data-path="_assets/images/create-api-key-copy-modal.png" />
</Frame>

To create a key that can only access specific endpoints, select **Custom permissions** during creation. See [Set key permissions](#set-key-permissions).

## Copy a key

Click the "Copy" icon next to the key. For security reasons, the full key is never shown in the key table. Both active and deactivated keys can be copied.

<Frame caption="Copy an API key">
  <img src="https://mintcdn.com/deepl-c950b784-docs-agentic-readiness-round-2/VdhEIqte997foL0o/_assets/images/copy-api-key.png?fit=max&auto=format&n=VdhEIqte997foL0o&q=85&s=a87ef0750685f35f2468fc7836673061" alt="" width="3822" height="1812" data-path="_assets/images/copy-api-key.png" />
</Frame>

## Rename a key

Select "Rename key" from the key's options menu. Both active and deactivated keys can be renamed, and two keys can share the same name.

<Frame caption="Renaming a key">
  <img src="https://mintcdn.com/deepl-c950b784-docs-agentic-readiness-round-2/VdhEIqte997foL0o/_assets/images/rename-key.png?fit=max&auto=format&n=VdhEIqte997foL0o&q=85&s=f409d340670f310a45cdc84f955d30e8" alt="" width="3818" height="1810" data-path="_assets/images/rename-key.png" />
</Frame>

## Deactivate a key

<Warning>
  A key stops working immediately when deactivated, and deactivation is permanent: a deactivated key cannot be reactivated.
</Warning>

Select "Deactivate key" from the key's options menu, then confirm.

<Frame caption="Select &#x22;Deactivate key&#x22; from key options">
  <img src="https://mintcdn.com/deepl-c950b784-docs-agentic-readiness-round-2/VdhEIqte997foL0o/_assets/images/deactivate-key-step-1.png?fit=max&auto=format&n=VdhEIqte997foL0o&q=85&s=798fc10df8c897600ee0ecdb395d67b1" alt="" width="3794" height="1804" data-path="_assets/images/deactivate-key-step-1.png" />
</Frame>

<Frame caption="Confirm deactivation of key">
  <img src="https://mintcdn.com/deepl-c950b784-docs-agentic-readiness-round-2/VdhEIqte997foL0o/_assets/images/deactivate-key-step-2.png?fit=max&auto=format&n=VdhEIqte997foL0o&q=85&s=96c6227e2c80d3347dfe508677761bc4" alt="" width="3816" height="1810" data-path="_assets/images/deactivate-key-step-2.png" />
</Frame>

## Set a key-level usage limit

Key-level limits cap how much a key can consume in a one-month usage period. You can set a limit in characters (across text translation, document translation, and text improvement), STT minutes, or STS minutes. For example, a key with a 1,000,000 character limit stops consuming at 1,000,000 characters and starts fresh when the next usage period begins. You can see your current usage period dates in the [API Usage tab](https://www.deepl.com/your-account/usage).

To set a limit, select "Set limit" from the key's options menu, activate the limit, choose the unit (characters, STT minutes, or STS minutes), and enter an amount. Setting the limit to 0 prevents the key from consuming any of that unit.

<Frame caption="Select &#x22;Set limit&#x22; from key options">
  <img src="https://mintcdn.com/deepl-c950b784-docs-agentic-readiness-round-2/VdhEIqte997foL0o/_assets/images/set-key-level-limit-1.png?fit=max&auto=format&n=VdhEIqte997foL0o&q=85&s=90b22a0ef0c82aaced4a76b94dd32667" alt="" width="3802" height="1804" data-path="_assets/images/set-key-level-limit-1.png" />
</Frame>

<Frame caption="Activate and specify a limit">
  <img src="https://mintcdn.com/deepl-c950b784-docs-agentic-readiness-round-2/VdhEIqte997foL0o/_assets/images/set-key-level-limit-2.png?fit=max&auto=format&n=VdhEIqte997foL0o&q=85&s=5a1c61d3a215b6b656a3692fd01173e3" alt="" width="3822" height="1812" data-path="_assets/images/set-key-level-limit-2.png" />
</Frame>

As with subscription-level [cost control](/docs/best-practices/cost-control):

* You receive notification emails when a key reaches 80% and 100% of its limit
* The API responds with `456 Quota exceeded` errors once 100% of the limit is reached

To monitor consumption against a limit, check the "Characters consumed" column in the key table or see [Retrieving Usage Data](/docs/admin/retrieving-usage-data).

## Set key permissions

Permissions restrict a developer key to specific endpoints. This section covers the UI steps; to understand how permissions are enforced, see [Understanding API Key Permissions](/docs/admin/api-key-permissions), and for what each scope covers, see [Permission Scopes](/docs/admin/permission-scopes).

To create a scoped key, click "Create key", select **Custom permissions**, choose one or more scopes from the list, and confirm.

<Frame caption="Creating a scoped API key">
  <img src="https://mintcdn.com/deepl-c950b784-docs-agentic-readiness-round-2/VdhEIqte997foL0o/_assets/images/api-key-permissions-create.png?fit=max&auto=format&n=VdhEIqte997foL0o&q=85&s=ff62d37f2c39afcd6b4bfa0fbbbbc7a0" width="340" data-path="_assets/images/api-key-permissions-create.png" />
</Frame>

To change permissions on an existing key, select "Edit permissions" from the key's options menu. Choose **All access** to make the key unrestricted, or **Custom permissions** to select specific scopes, then save.

<Frame caption="Choose all access or custom permissions">
  <img src="https://mintcdn.com/deepl-c950b784-docs-agentic-readiness-round-2/VdhEIqte997foL0o/_assets/images/api-key-permissions-edit-dialog.png?fit=max&auto=format&n=VdhEIqte997foL0o&q=85&s=ddd6b727dae317cb69756bb1f8cea46b" width="480" data-path="_assets/images/api-key-permissions-edit-dialog.png" />
</Frame>

The "Permissions" column in the key table shows each key's status as a badge. Hover over a badge to see the assigned scopes.

<Frame caption="Hover a badge to view assigned scopes">
  <img src="https://mintcdn.com/deepl-c950b784-docs-agentic-readiness-round-2/VdhEIqte997foL0o/_assets/images/api-key-permissions-badge-hover.png?fit=max&auto=format&n=VdhEIqte997foL0o&q=85&s=3e1e323b5fd522ec76a73b3e9e3673d0" alt="" width="3786" height="1804" data-path="_assets/images/api-key-permissions-badge-hover.png" />
</Frame>

## Manage admin API keys

On the API Pro, API Growth, and API Enterprise plans, you manage [admin keys](/docs/admin/overview#the-admin-api) on the "Admin API Keys" subtab of the ["API Keys & Limits" tab](https://www.deepl.com/your-account/keys?keyType=admin).

<Frame caption="The Admin Keys subtab">
  <img src="https://mintcdn.com/deepl-c950b784-docs-agentic-readiness-round-2/VdhEIqte997foL0o/_assets/images/admin-api-tab.png?fit=max&auto=format&n=VdhEIqte997foL0o&q=85&s=a098927b41c6e5a0d9072a794d98086f" alt="" width="3812" height="1812" data-path="_assets/images/admin-api-tab.png" />
</Frame>

Admin keys support the same actions as developer keys: create, copy, rename, and deactivate them from the "Admin API Keys" subtab exactly as described above. The differences:

* Admin keys always end with an `:adm` suffix, which distinguishes them from developer keys
* Unnamed admin keys are called "DeepL Admin Key" by default
* You can create up to 25 simultaneously active admin keys
* Usage limits and permissions don't apply to admin keys
