{"note":"OpenAPI conversion -- returning structured metadata","name":"deepl","description":"DeepL API Documentation","version":"3.9.0","base_url":"https://api.deepl.com","endpoints":44,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api DeepL API Documentation\n@base https://api.deepl.com\n@version 3.9.0\n@auth ApiKey Authorization in header\n@endpoints 44\n@hint download_for_search\n@toc admin(6), translate(1), document(3), glossary-language-pairs(1), glossaries(13), write(1), usage(1), languages(3), translation_memories(1), style_rules(10), voice(2), jobs(2)\n\n@group admin\n@endpoint GET /v2/admin/analytics\n@desc Get usage statistics as an admin\n@required {start_date: str(date) # Start date for the usage report (ISO 8601 date format)., end_date: str(date) # End date for the usage report (ISO 8601 date format).}\n@optional {group_by: str(key/key_and_day) # Optional parameter to group usage statistics. Possible values:  * `key` - Group by API key  * `key_and_day` - Group by API key and usage date}\n@returns(200) {usage_report: map{total_usage: map{total_characters: int, text_translation_characters: int, document_translation_characters: int, text_improvement_characters: int, speech_to_text_minutes: num}, start_date: str(date-time), end_date: str(date-time), group_by: str, key_usages: [map], key_and_day_usages: [map]}} # The usage statistics for the specified date range.\n@errors {400: Bad request. Please check error message and your parameters., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 500: Internal error.}\n\n@endpoint POST /v2/admin/developer-keys\n@desc Create a developer key as an admin\n@optional {label: str # API key label. The default value is `DeepL API Key`.}\n@returns(200) {key_id: str, label: str, creation_time: str, deactivated_time: str, is_deactivated: bool, usage_limits: map{characters: num, speech_to_text_milliseconds: num}} # The create function returns a JSON representation of the created API key.\n@errors {400: Bad request. Please check error message and your parameters., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 500: Internal error.}\n\n@endpoint GET /v2/admin/developer-keys\n@desc Get all developer keys as an admin\n@returns(200) The get function returns a JSON representation of all developer API keys in the organization.\n@errors {400: Bad request. Please check error message and your parameters., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 500: Internal error.}\n\n@endpoint PUT /v2/admin/developer-keys/deactivate\n@desc Deactivate a developer key as an admin\n@required {key_id: str # API key ID. Consists of two valid GUIDs separated by a colon.}\n@returns(200) {key_id: str, label: str, creation_time: str, deactivated_time: str, is_deactivated: bool, usage_limits: map{characters: num, speech_to_text_milliseconds: num}} # The deactivate function returns a JSON representation of the deactivated API key.\n@errors {400: Bad request. Please check error message and your parameters., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 500: Internal error.}\n\n@endpoint PUT /v2/admin/developer-keys/label\n@desc Rename a developer key as an admin\n@required {key_id: str # API key ID. Consists of two valid GUIDs separated by a colon., label: str # API key label.}\n@returns(200) {key_id: str, label: str, creation_time: str, deactivated_time: str, is_deactivated: bool, usage_limits: map{characters: num, speech_to_text_milliseconds: num}} # The set label function returns a JSON representation of the renamed API key.\n@errors {400: Bad request. Please check error message and your parameters., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 500: Internal error.}\n\n@endpoint PUT /v2/admin/developer-keys/limits\n@desc Set developer key usage limits as an admin\n@required {key_id: str # API key ID. Consists of two valid GUIDs separated by a colon.}\n@optional {characters: num # Restricts the number of total characters (across text translation, document translation, and text improvement) that can be consumed by an API key in a one-month usage period.  Setting the limit to `0` means the API key will not be able to consume characters. Setting the limit to `null` disables the limit, effectively allowing unlimited usage., speech_to_text_milliseconds: num # Restricts the number of milliseconds of speech-to-text that can be consumed by an API key in a one-month usage period. Setting the limit to `0` means the API key will not be able to consume speech-to-text milliseconds. Setting the limit to `null` disables the limit, effectively allowing unlimited usage.}\n@returns(200) {key_id: str, label: str, creation_time: str, deactivated_time: str, is_deactivated: bool, usage_limits: map{characters: num, speech_to_text_milliseconds: num}} # The set usage limits function returns a JSON representation of the modified API key.\n@errors {400: Bad request. Please check error message and your parameters., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 500: Internal error.}\n\n@endgroup\n\n@group translate\n@endpoint POST /v2/translate\n@desc Request Translation\n@required {text: [str] # Text to be translated. Only UTF-8-encoded plain text is supported. The parameter may be specified many times in a single request, within the request size limit (128KiB). Translations are returned in the same order as they are requested. Each text in the array is translated independently — texts do not share context with each other., target_lang: str # The language into which the text should be translated.  For 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).}\n@optional {source_lang: str # Language of the text to be translated. If this parameter is omitted, the API will attempt to detect the language of the text and translate it.  For 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)., context: str # Additional context that can influence a translation but is not translated itself.  Characters included in the `context` parameter will not be counted toward billing., show_billed_characters: bool # 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., split_sentences: str(0/1/nonewlines)=1 # Sets whether the translation engine should first split the input into sentences.  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, preserve_formatting: bool=false # Sets whether the translation engine should respect the original formatting, even if it would usually correct some aspects., formality: str(default/more/less/prefer_more/prefer_less)=default # Sets whether the translated text should lean towards formal or informal language. This feature is only available for certain target languages. Setting this parameter with a target language that does not support formality will fail, unless one of the `prefer_...` options are used. Possible options are:   * `default` (default)   * `more` - for a more formal language   * `less` - for a more informal language   * `prefer_more` - for a more formal language if available, otherwise fallback to default formality   * `prefer_less` - for a more informal language if available, otherwise fallback to default formality, model_type: str(quality_optimized/prefer_quality_optimized/latency_optimized) # Specifies which DeepL model should be used for translation., glossary_id: str # Specify the glossary to use for the translation. **Important:** This requires the `source_lang` parameter to be set. The language pair of the glossary has to match the language pair of the request., style_id: str # Specify the [style rule list](/api-reference/style-rules) to use for the translation.  **Important:**  The target language has to match the language of the style rule list.  **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., translation_memory_id: str(uuid) # A unique ID assigned to a translation memory.  **Note:** Requests with the `translation_memory_id` parameter must use the `quality_optimized` model type. Requests combining `translation_memory_id` and `model_type: latency_optimized` will be rejected., translation_memory_threshold: int=75 # The minimum matching percentage required for a translation memory segment to be applied (recommended to be 75% or higher)., custom_instructions: [str] # Specify a list of instructions to customize the translation behavior. Up to 10 custom instructions can be specified, each with a maximum of 300 characters.  **Important:**  The target language must be `de`, `en`, `es`, `fr`, `it`, `ja`, `ko`, `zh` or any variants of these languages.  **Note:** Any request with the `custom_instructions` parameter enabled will default to use the `quality_optimized` model type. Requests combining `custom_instructions` and `model_type: latency_optimized` will be rejected., tag_handling: str(xml/html) # Sets which kind of tags should be handled. Options currently available:  * `xml`  * `html`, tag_handling_version: str(v2/v1) # 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)., outline_detection: bool=true # Disable the automatic detection of XML structure by setting the `outline_detection` parameter to `false` and selecting the tags that should be considered structure tags. This will split sentences using the `splitting_tags` parameter., enable_beta_languages: bool=false # This parameter is maintained for backward compatibility and has no effect., non_splitting_tags: [str] # Comma-separated list of XML tags which never split sentences., splitting_tags: [str] # Comma-separated list of XML tags which always cause splits., ignore_tags: [str] # Comma-separated list of XML tags that indicate text not to be translated.}\n@returns(200) {translations: [map]} # The translate function returns a JSON representation of the translations in the order the text parameters have been specified.\n@errors {400: Bad request. Please check error message and your parameters., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 413: The request size exceeds the limit., 414: The request URL is too long. You can avoid this error by using a POST request instead of a GET request, and sending the parameters in the HTTP body., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 504: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endgroup\n\n@group document\n@endpoint POST /v2/document\n@desc Upload and Translate a Document\n@returns(200) {document_id: str, document_key: str} # The document function returns a JSON object containing the ID and encryption key assigned to the uploaded document. Once received by the server, uploaded documents are immediately encrypted using a uniquely generated encryption key. This key is not persistently stored on the server. Therefore, it must be stored by the client and sent back to the server with every subsequent request that refers to this particular document.\n@errors {400: Bad request. Please check error message and your parameters., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 413: The request size exceeds the limit., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 504: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endpoint POST /v2/document/{document_id}\n@desc Check Document Status\n@required {document_id: str # The document ID that was sent to the client when the document was uploaded to the API., document_key: str # The document encryption key that was sent to the client when the document was uploaded to the API.}\n@returns(200) {document_id: str, status: str, seconds_remaining: int, billed_characters: int, error_message: str} # The document status request returns a JSON object containing the document ID that was used in the request as well as string indicating the current status of the translation process. While the translation is running, the estimated number of seconds remaining until the process is done is also included in the response.\n@errors {400: Bad request. Please check error message and your parameters., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 413: The request size exceeds the limit., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 504: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endpoint POST /v2/document/{document_id}/result\n@desc Download Translated Document\n@required {document_id: str # The document ID that was sent to the client when the document was uploaded to the API., document_key: str # The document encryption key that was sent to the client when the document was uploaded to the API.}\n@returns(200) The document is provided as a download. There is no other data included in the response besides the document data. The content type used in the response corresponds to the document type.\n@errors {400: Bad request. Please check error message and your parameters., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: Trying to download a document using a non-existing document ID or the wrong document key will result in a 404 error. As stated above, documents can only be downloaded once before they are deleted from the server and their document ID is invalidated., 413: The request size exceeds the limit., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 503: A 503 result will be returned if the user tries to download a translated document that is currently being processed and is not yet ready for download. Please make sure to check that the document status is 'done' before trying to send a download request., 504: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endgroup\n\n@group glossary-language-pairs\n@endpoint GET /v2/glossary-language-pairs\n@desc List Language Pairs Supported by Glossaries\n@returns(200) {supported_languages: [map]} # A JSON object containing the language pairs in its `supported_languages` property.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Forbidden. The access to the requested resource is denied, because of insufficient access rights., 404: The requested resource could not be found., 413: The request size exceeds the limit., 415: The requested entries format specified in the `Accept` header is not supported., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. Too many requests were made to the glossary endpoints recently., 500: Internal error., 503: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endgroup\n\n@group glossaries\n@endpoint POST /v3/glossaries\n@desc Create a Glossary\n@required {name: str # Name to be associated with the glossary., dictionaries: [map{source_lang: str, target_lang: str, entries: str, entries_format: str}] # Dictionaries to populate the glossary with.}\n@returns(201) {glossary_id: str, name: str, dictionaries: [map], creation_time: str(date-time)} # The function for creating a glossary returns a JSON object containing the ID of the newly created glossary and a boolean flag that indicates if the created glossary can already be used in translate requests.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Forbidden. The access to the requested resource is denied, because of insufficient access rights., 404: The requested resource could not be found., 413: The request size exceeds the limit., 415: The requested entries format specified in the `Accept` header is not supported., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. Too many requests were made to the glossary endpoints recently., 500: Internal error., 503: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n@example_request {\"name\":\"My Glossary\",\"dictionaries\":[{\"source_lang\":\"en\",\"target_lang\":\"de\",\"entries\":\"Hello\\tGuten Tag\",\"entries_format\":\"tsv\"},{\"source_lang\":\"de\",\"target_lang\":\"en\",\"entries\":\"Guten Tag\\tHello\",\"entries_format\":\"tsv\"}]}\n\n@endpoint GET /v3/glossaries\n@desc List all Glossaries\n@returns(200) {glossaries: [map]} # JSON object containing a the glossaries.\n@errors {401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Forbidden. The access to the requested resource is denied, because of insufficient access rights., 404: The requested resource could not be found., 413: The request size exceeds the limit., 415: The requested entries format specified in the `Accept` header is not supported., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. Too many requests were made to the glossary endpoints recently., 500: Internal error., 503: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endpoint GET /v3/glossaries/{glossary_id}\n@desc Retrieve Glossary Details\n@required {glossary_id: str # A unique ID assigned to the glossary.}\n@returns(200) {glossary_id: str, name: str, dictionaries: [map], creation_time: str(date-time)} # JSON object containing the glossary meta-information.\n@errors {401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Forbidden. The access to the requested resource is denied, because of insufficient access rights., 404: The requested resource could not be found., 413: The request size exceeds the limit., 415: The requested entries format specified in the `Accept` header is not supported., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. Too many requests were made to the glossary endpoints recently., 500: Internal error., 503: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endpoint PATCH /v3/glossaries/{glossary_id}\n@desc Edit glossary details\n@required {glossary_id: str # A unique ID assigned to the glossary.}\n@optional {name: str # A unique ID assigned to a glossary., dictionaries: [map{source_lang: str, target_lang: str, entries: str, entries_format: str}] # Dictionaries to edit the glossary with. Currently only supports 0 or 1 dictionaries in the array.}\n@returns(200) {glossary_id: str, name: str, dictionaries: [map], creation_time: str(date-time)} # JSON object containing the glossary meta-information.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Forbidden. The access to the requested resource is denied, because of insufficient access rights., 404: The requested resource could not be found., 413: The request size exceeds the limit., 415: The requested entries format specified in the `Accept` header is not supported., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. Too many requests were made to the glossary endpoints recently., 500: Internal error., 503: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n@example_request {\"name\":\"My Glossary\",\"dictionaries\":[{\"source_lang\":\"en\",\"target_lang\":\"de\",\"entries\":\"Hello\\tGuten Tag\",\"entries_format\":\"tsv\"}]}\n\n@endpoint DELETE /v3/glossaries/{glossary_id}\n@desc Delete a Glossary\n@required {glossary_id: str # A unique ID assigned to the glossary.}\n@returns(204) Returns no content upon success.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Forbidden. The access to the requested resource is denied, because of insufficient access rights., 404: The requested resource could not be found., 413: The request size exceeds the limit., 415: The requested entries format specified in the `Accept` header is not supported., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. Too many requests were made to the glossary endpoints recently., 500: Internal error., 503: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endpoint GET /v3/glossaries/{glossary_id}/entries\n@desc Retrieve Glossary Entries\n@required {glossary_id: str # A unique ID assigned to the glossary., source_lang: str, target_lang: str}\n@returns(200) {source_lang: str, target_lang: str, entries: str, entries_format: str} # The entries in tsv, wrapped in a JSON object.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Forbidden. The access to the requested resource is denied, because of insufficient access rights., 404: The requested resource could not be found., 413: The request size exceeds the limit., 415: The requested entries format specified in the `Accept` header is not supported., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. Too many requests were made to the glossary endpoints recently., 500: Internal error., 503: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endpoint DELETE /v3/glossaries/{glossary_id}/dictionaries\n@desc Deletes the dictionary associated with the given language pair with the given glossary ID.\n@required {glossary_id: str # A unique ID assigned to the glossary., source_lang: str, target_lang: str}\n@returns(204) Returns no content upon success.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Forbidden. The access to the requested resource is denied, because of insufficient access rights., 404: The requested resource could not be found., 413: The request size exceeds the limit., 415: The requested entries format specified in the `Accept` header is not supported., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. Too many requests were made to the glossary endpoints recently., 500: Internal error., 503: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endpoint PUT /v3/glossaries/{glossary_id}/dictionaries\n@desc Replaces or creates a dictionary in the glossary with the specified entries.\n@required {glossary_id: str # A unique ID assigned to the glossary.}\n@optional {source_lang: str(ar/bg/cs/da/de/el/en/es/et/fi/fr/he/hu/id/it/ja/ko/lt/lv/nb/nl/pl/pt/ro/ru/sk/sl/sv/th/tr/uk/vi/zh) # The language in which the source texts in the glossary are specified., target_lang: str(ar/bg/cs/da/de/el/en/es/et/fi/fr/he/hu/id/it/ja/ko/lt/lv/nb/nl/pl/pt/ro/ru/sk/sl/sv/th/tr/uk/vi/zh) # The language in which the target texts in the glossary are specified., entries: str # The entries of the glossary. The entries have to be specified in the format provided by the `entries_format` parameter., entries_format: str(tsv/csv)=tsv # The format in which the glossary entries are provided. Formats currently available: - `tsv` (default) - tab-separated values - `csv` - comma-separated values  See [Supported Glossary Formats](/api-reference/multilingual-glossaries#formats) for details about each format.}\n@returns(200) {source_lang: str, target_lang: str, entry_count: int} # JSON object containing the dictionary meta-information.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Forbidden. The access to the requested resource is denied, because of insufficient access rights., 404: The requested resource could not be found., 413: The request size exceeds the limit., 415: The requested entries format specified in the `Accept` header is not supported., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. Too many requests were made to the glossary endpoints recently., 500: Internal error., 503: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endpoint POST /v2/glossaries\n@desc Create a Glossary\n@required {name: str # Name to be associated with the glossary., source_lang: str(ar/bg/cs/da/de/el/en/es/et/fi/fr/he/hu/id/it/ja/ko/lt/lv/nb/nl/pl/pt/ro/ru/sk/sl/sv/th/tr/uk/vi/zh) # The language in which the source texts in the glossary are specified., target_lang: str(ar/bg/cs/da/de/el/en/es/et/fi/fr/he/hu/id/it/ja/ko/lt/lv/nb/nl/pl/pt/ro/ru/sk/sl/sv/th/tr/uk/vi/zh) # The language in which the target texts in the glossary are specified., entries: str # The entries of the glossary. The entries have to be specified in the format provided by the `entries_format` parameter., entries_format: str(tsv/csv)=tsv # The format in which the glossary entries are provided. Formats currently available: - `tsv` (default) - tab-separated values - `csv` - comma-separated values  See [Supported Glossary Formats](/api-reference/multilingual-glossaries#formats) for details about each format.}\n@returns(201) {glossary_id: str, name: str, ready: bool, source_lang: str, target_lang: str, creation_time: str(date-time), entry_count: int} # The function for creating a glossary returns a JSON object containing the ID of the newly created glossary and a boolean flag that indicates if the created glossary can already be used in translate requests.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Forbidden. The access to the requested resource is denied, because of insufficient access rights., 404: The requested resource could not be found., 413: The request size exceeds the limit., 415: The requested entries format specified in the `Accept` header is not supported., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 503: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n@example_request {\"name\":\"My Glossary\",\"source_lang\":\"en\",\"target_lang\":\"de\",\"entries\":\"Hello\\tGuten Tag\",\"entries_format\":\"tsv\"}\n\n@endpoint GET /v2/glossaries\n@desc List all Glossaries\n@returns(200) {glossaries: [map]} # JSON object containing a the glossaries.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Forbidden. The access to the requested resource is denied, because of insufficient access rights., 404: The requested resource could not be found., 413: The request size exceeds the limit., 415: The requested entries format specified in the `Accept` header is not supported., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 503: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endpoint GET /v2/glossaries/{glossary_id}\n@desc Retrieve Glossary Details\n@required {glossary_id: str # A unique ID assigned to the glossary.}\n@returns(200) {glossary_id: str, name: str, ready: bool, source_lang: str, target_lang: str, creation_time: str(date-time), entry_count: int} # JSON object containing the glossary meta-information.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Forbidden. The access to the requested resource is denied, because of insufficient access rights., 404: The requested resource could not be found., 413: The request size exceeds the limit., 415: The requested entries format specified in the `Accept` header is not supported., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 503: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endpoint DELETE /v2/glossaries/{glossary_id}\n@desc Delete a Glossary\n@required {glossary_id: str # A unique ID assigned to the glossary.}\n@returns(204) Returns no content upon success.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Forbidden. The access to the requested resource is denied, because of insufficient access rights., 404: The requested resource could not be found., 413: The request size exceeds the limit., 415: The requested entries format specified in the `Accept` header is not supported., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 503: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endpoint GET /v2/glossaries/{glossary_id}/entries\n@desc Retrieve Glossary Entries\n@required {glossary_id: str # A unique ID assigned to the glossary.}\n@optional {Accept: str=text/tab-separated-values # The requested format of the returned glossary entries. Currently, supports only `text/tab-separated-values`.}\n@returns(200) The entries in the requested format.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Forbidden. The access to the requested resource is denied, because of insufficient access rights., 404: The requested resource could not be found., 413: The request size exceeds the limit., 415: The requested entries format specified in the `Accept` header is not supported., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 503: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endgroup\n\n@group write\n@endpoint POST /v2/write/rephrase\n@desc Request text improvement\n@required {text: [str] # Text to be improved. Only UTF-8-encoded plain text is supported. Improvements are returned in the same order as they are requested.}\n@optional {target_lang: str(de/en/en-GB/en-US/es/fr/it/ja/ko/pt/pt-BR/pt-PT/zh/zh-Hans) # The language for the text improvement., writing_style: str(academic/business/casual/default/simple/prefer_academic/prefer_business/prefer_casual/prefer_simple) # Specify a style to rephrase your text in a way that fits your audience and goals. The `prefer_` prefix allows falling back to the default style if the language does not yet support styles., tone: str(confident/default/diplomatic/enthusiastic/friendly/prefer_confident/prefer_diplomatic/prefer_enthusiastic/prefer_friendly) # Specify the desired tone for your text. The `prefer_` prefix allows falling back to the default tone if the language does not yet support tones.}\n@returns(200) {improvements: [map]} # Successful text improvement.\n\n@endgroup\n\n@group usage\n@endpoint GET /v2/usage\n@desc Check Usage and Limits\n@returns(200) {character_count: int(int64), character_limit: int(int64), products: [map], api_key_character_count: int, api_key_character_limit: int, speech_to_text_milliseconds_count: int, speech_to_text_milliseconds_limit: int, start_time: str(date-time), end_time: str(date-time)} # The account's usage and limits.\n@errors {400: Bad request. Please check error message and your parameters., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 413: The request size exceeds the limit., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 504: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endgroup\n\n@group languages\n@endpoint GET /v2/languages\n@desc Retrieve Supported Languages\n@optional {type: str(source/target)=source # Supported values are \"source\" or \"target\". If type parameter is not included, defaults to \"source\".}\n@returns(200) JSON array where each item represents a supported language.\n@errors {400: Bad request. Please check error message and your parameters., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 413: The request size exceeds the limit., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 504: Resource currently unavailable. Try again later., 529: Too many requests. Please wait and resend your request.}\n\n@endpoint GET /v3/languages/resources\n@desc Retrieve Language Resources\n@returns(200) JSON array where each item represents a DeepL API product.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 429: Too many requests. Please wait and resend your request., 500: Internal error., 503: Resource currently unavailable. Try again later.}\n\n@endpoint GET /v3/languages\n@desc Retrieve Languages\n@required {resource: str(translate_text/translate_document/glossary/voice/write/style_rules) # The resource to retrieve languages for. Supported values: `translate_text`, `translate_document`, `glossary`, `voice`, `write`, `style_rules`.}\n@optional {include: [str] # Controls which languages and features are included in the response. By default, only stable languages and features are returned. Values can be combined with repeated parameters (e.g. `?include=beta&include=external`).  - `beta`: Include languages and features in beta, in addition to stable - `external`: Include features that rely on third-party service providers}\n@returns(200) JSON array where each item represents a supported language.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 429: Too many requests. Please wait and resend your request., 500: Internal error., 503: Resource currently unavailable. Try again later.}\n\n@endgroup\n\n@group translation_memories\n@endpoint GET /v3/translation_memories\n@desc List translation memories\n@optional {page: int=0 # The index of the first page to return. Use with `page_size` to get the next page of translation memories., page_size: int=10 # The maximum number of translation memories to return.}\n@returns(200) {translation_memories: [map], total_count: int} # Returns a list of translation memories.\n@errors {401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 429: Too many requests. Please wait and resend your request., 500: Internal error., 503: Resource currently unavailable. Try again later.}\n\n@endgroup\n\n@group style_rules\n@endpoint GET /v3/style_rules\n@desc Retrieve style rule lists\n@optional {page: int=0 # The index of the first page to return. Use with `page_size` to get the next page of rule lists, page_size: int=10 # The maximum number of style rule lists to return., detailed: bool=false # Determines if the rule list's `configured_rules` and `custom_instructions` should be included in the response body.}\n@returns(200) {style_rules: [map]} # JSON object containing the style rule lists.\n@errors {401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 429: Too many requests. Please wait and resend your request., 500: Internal error., 503: Resource currently unavailable. Try again later.}\n\n@endpoint POST /v3/style_rules\n@desc Create a style rule list\n@required {name: str # Name associated with the style rule list., language: str(de/en/es/fr/it/ja/ko/zh) # The language that the style rule list is applied to.}\n@optional {configured_rules: map{dates_and_times: map, formatting: map, numbers: map, punctuation: map, spelling_and_grammar: map, style_and_tone: map, vocabulary: map} # The enabled rules for the style rule list including what option was selected for each rule. This schema combines rules from all supported languages., custom_instructions: [map{label!: str, prompt!: str, source_language: str}] # Array of custom instruction objects}\n@returns(201) {style_id: str, name: str, creation_time: str(date-time), updated_time: str(date-time), language: str, version: int, configured_rules: map{dates_and_times: map{calendar_era: str, centuries: str, date_format: str, dates_in_numerical_form: str, decades: str, hours_minutes_seconds_separator: str, hours_minutes_separator: str, midnight_in_numerals: str, single_digit_days_and_months: str, single_digit_hours: str, time_format: str, writing_dates: str, years: str}, formatting: map{email_address_format: str, phone_number_country_code_format: str, phone_number_format: str, space_between_arabic_numerals_and_unit: str, space_between_chinese_and_english: str, space_between_chinese_characters_and_arabic_numerals: str}, numbers: map{approximate_numbers: str, currency_format: str, decimal_numbers_less_than_one: str, decimal_separator: str, dimensions_separator: str, equation_formula_reference: str, kanji_numbers: str, large_number_format: str, large_sums_of_money: str, large_sums_of_money_format: str, list_of_measurements_with_units: str, mathematical_expression_spacing: str, number_format: str, number_separator: str, numbers_of_5_digits_or_more: str, numbers_up_to_4_digits: str, percentage_format: str, reference_to_symbol: str, spelling_out_units: str, temperature_format: str, thousands_separator: str, units_of_measure_spacing: str, use_of_hiragana_and_kanji: str, writing_numbers: str, zero_format: str}, punctuation: map{abbreviations: str, acronyms: str, ampersand_abbreviation_spacing: str, ampersand_usage: str, apostrophe: str, bracket: str, chinese_mixed_with_english: str, colon: str, colon_between_hours_and_minutes_or_chapters_and_verses: str, colon_in_heading: str, colon_to_replace_versus_or_to: str, comma_after_conjunctive_adverbs: str, comma_after_i_e_and_e_g: str, comma_after_short_introductory_phrase: str, comma_and_semicolon: str, corner_bracket_and_periods: str, corner_brackets_and_periods: str, dash: str, ellipsis: str, em_dash: str, emphasis: str, exclamation_marks: str, explanatory_note_indicator: str, full_sentence_in_round_brackets: str, highlighting_specific_expressions: str, japanese_reference_materials: str, parentheses_for_supplementary_information: str, passage_of_time_and_movement_between_locations: str, periods_and_commas: str, periods_in_academic_degrees: str, periods_in_direct_quotes: str, periods_in_uppercase_initialisms_and_acronyms: str, plus_sign_usage: str, possessives_of_proper_names_ending_in_s_style: str, quotation_mark: str, quotation_mark_and_apostrophe: str, quotation_style: str, range_indicator: str, related_phrases_indicator: str, round_brackets: str, salutation: str, sentence_break_indicator: str, serial_comma: str, setting_off_non_quoted_phrases: str, slash: str, slash_usage: str, spacing_and_punctuation: str, text_in_round_brackets_referring_to_previous_sentence: str, text_in_round_brackets_supplementing_preceding_text: str, titles_of_books_and_newspapers: str, titles_of_creative_works_trade_names_laws_and_regulations: str, uppercase_acronyms: str}, spelling_and_grammar: map{abbreviating_french_word_numero: str, abbreviation_usage: str, accents_and_cedillas: str, accents_in_verbs_conjugated_like_french_word_céder: str, accents_with_subject_verb_inversion: str, active_passive_voice: str, all_caps: str, complete_sentences: str, compound_nouns: str, conjunctions: str, contractions: str, established_loanwords: str, eszett: str, foreign_word_translation: str, french_verbs_ending_in_eler_and_eter: str, i_and_u_with_circumflex_accents: str, informal_address_pronouns: str, latin_abbreviations: str, passive_voice: str, past_participle_of_french_word_laisser_followed_by_infinitive: str, personal_titles: str, pluralizing_foreign_words: str, quotation_modification: str, spanish_word_solo: str, special_characters: str, spelled_out_numbers: str, umlauts: str, unestablished_loanwords: str}, style_and_tone: map{abbreviations: str, addressing_non_binary_people: str, addressing_the_reader: str, anglicisms: str, binary_representation_of_gender: str, complex_sentences: str, country_names: str, declarative_endings: str, default_first_person_pronoun: str, default_second_person_pronoun: str, directional_language: str, double_negatives: str, formality: str, gender_neutral_language_readability: str, gender_unspecified: str, gender_unspecified_or_mixed: str, idioms_colloquialisms_and_culture_specific_references: str, inflected_words_masculine_noun_agreement: str, instructions_style: str, mixing_styles: str, modal_verbs: str, personal_vs_impersonal_style: str, positive_vs_negative_language: str, proximity_agreement: str, reader_action_required: str, redundant_introductory_phrases: str, redundant_phrases: str, referring_to_non_binary_people: str, short_vs_long_words: str, simple_words_and_sentences: str, text_position_references: str, tone: str, verbal_vs_nominal_style: str}, vocabulary: map{abbreviations: str, loanwords: str}}, custom_instructions: [map]} # Style rule list created successfully\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 503: Resource currently unavailable. Try again later.}\n@example_request {\"name\":\"My style rules\",\"language\":\"de\",\"configured_rules\":{\"style_and_tone\":{\"abbreviations\":\"use_abbreviations_and_symbols\",\"short_vs_long_words\":\"use_short_words\"},\"punctuation\":{\"apostrophe\":\"use_curly_apostrophes\"}},\"custom_instructions\":[{\"label\":\"Currency custom instruction\",\"prompt\":\"Have currency symbols before the numerical value (e.g. $100, €100)\",\"source_language\":\"en\"}]}\n\n@endpoint GET /v3/style_rules/{style_id}\n@desc Get a style rule list\n@required {style_id: str # The ID of the style rule list}\n@returns(200) {style_id: str, name: str, creation_time: str(date-time), updated_time: str(date-time), language: str, version: int, configured_rules: map{dates_and_times: map{calendar_era: str, centuries: str, date_format: str, dates_in_numerical_form: str, decades: str, hours_minutes_seconds_separator: str, hours_minutes_separator: str, midnight_in_numerals: str, single_digit_days_and_months: str, single_digit_hours: str, time_format: str, writing_dates: str, years: str}, formatting: map{email_address_format: str, phone_number_country_code_format: str, phone_number_format: str, space_between_arabic_numerals_and_unit: str, space_between_chinese_and_english: str, space_between_chinese_characters_and_arabic_numerals: str}, numbers: map{approximate_numbers: str, currency_format: str, decimal_numbers_less_than_one: str, decimal_separator: str, dimensions_separator: str, equation_formula_reference: str, kanji_numbers: str, large_number_format: str, large_sums_of_money: str, large_sums_of_money_format: str, list_of_measurements_with_units: str, mathematical_expression_spacing: str, number_format: str, number_separator: str, numbers_of_5_digits_or_more: str, numbers_up_to_4_digits: str, percentage_format: str, reference_to_symbol: str, spelling_out_units: str, temperature_format: str, thousands_separator: str, units_of_measure_spacing: str, use_of_hiragana_and_kanji: str, writing_numbers: str, zero_format: str}, punctuation: map{abbreviations: str, acronyms: str, ampersand_abbreviation_spacing: str, ampersand_usage: str, apostrophe: str, bracket: str, chinese_mixed_with_english: str, colon: str, colon_between_hours_and_minutes_or_chapters_and_verses: str, colon_in_heading: str, colon_to_replace_versus_or_to: str, comma_after_conjunctive_adverbs: str, comma_after_i_e_and_e_g: str, comma_after_short_introductory_phrase: str, comma_and_semicolon: str, corner_bracket_and_periods: str, corner_brackets_and_periods: str, dash: str, ellipsis: str, em_dash: str, emphasis: str, exclamation_marks: str, explanatory_note_indicator: str, full_sentence_in_round_brackets: str, highlighting_specific_expressions: str, japanese_reference_materials: str, parentheses_for_supplementary_information: str, passage_of_time_and_movement_between_locations: str, periods_and_commas: str, periods_in_academic_degrees: str, periods_in_direct_quotes: str, periods_in_uppercase_initialisms_and_acronyms: str, plus_sign_usage: str, possessives_of_proper_names_ending_in_s_style: str, quotation_mark: str, quotation_mark_and_apostrophe: str, quotation_style: str, range_indicator: str, related_phrases_indicator: str, round_brackets: str, salutation: str, sentence_break_indicator: str, serial_comma: str, setting_off_non_quoted_phrases: str, slash: str, slash_usage: str, spacing_and_punctuation: str, text_in_round_brackets_referring_to_previous_sentence: str, text_in_round_brackets_supplementing_preceding_text: str, titles_of_books_and_newspapers: str, titles_of_creative_works_trade_names_laws_and_regulations: str, uppercase_acronyms: str}, spelling_and_grammar: map{abbreviating_french_word_numero: str, abbreviation_usage: str, accents_and_cedillas: str, accents_in_verbs_conjugated_like_french_word_céder: str, accents_with_subject_verb_inversion: str, active_passive_voice: str, all_caps: str, complete_sentences: str, compound_nouns: str, conjunctions: str, contractions: str, established_loanwords: str, eszett: str, foreign_word_translation: str, french_verbs_ending_in_eler_and_eter: str, i_and_u_with_circumflex_accents: str, informal_address_pronouns: str, latin_abbreviations: str, passive_voice: str, past_participle_of_french_word_laisser_followed_by_infinitive: str, personal_titles: str, pluralizing_foreign_words: str, quotation_modification: str, spanish_word_solo: str, special_characters: str, spelled_out_numbers: str, umlauts: str, unestablished_loanwords: str}, style_and_tone: map{abbreviations: str, addressing_non_binary_people: str, addressing_the_reader: str, anglicisms: str, binary_representation_of_gender: str, complex_sentences: str, country_names: str, declarative_endings: str, default_first_person_pronoun: str, default_second_person_pronoun: str, directional_language: str, double_negatives: str, formality: str, gender_neutral_language_readability: str, gender_unspecified: str, gender_unspecified_or_mixed: str, idioms_colloquialisms_and_culture_specific_references: str, inflected_words_masculine_noun_agreement: str, instructions_style: str, mixing_styles: str, modal_verbs: str, personal_vs_impersonal_style: str, positive_vs_negative_language: str, proximity_agreement: str, reader_action_required: str, redundant_introductory_phrases: str, redundant_phrases: str, referring_to_non_binary_people: str, short_vs_long_words: str, simple_words_and_sentences: str, text_position_references: str, tone: str, verbal_vs_nominal_style: str}, vocabulary: map{abbreviations: str, loanwords: str}}, custom_instructions: [map]} # Style rule list details\n@errors {401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 429: Too many requests. Please wait and resend your request., 500: Internal error., 503: Resource currently unavailable. Try again later.}\n\n@endpoint PATCH /v3/style_rules/{style_id}\n@desc Update a style rule list's name\n@required {style_id: str # The ID of the style rule list}\n@optional {name: str # Name associated with the style rule list.}\n@returns(200) {style_id: str, name: str, creation_time: str(date-time), updated_time: str(date-time), language: str, version: int, configured_rules: map{dates_and_times: map{calendar_era: str, centuries: str, date_format: str, dates_in_numerical_form: str, decades: str, hours_minutes_seconds_separator: str, hours_minutes_separator: str, midnight_in_numerals: str, single_digit_days_and_months: str, single_digit_hours: str, time_format: str, writing_dates: str, years: str}, formatting: map{email_address_format: str, phone_number_country_code_format: str, phone_number_format: str, space_between_arabic_numerals_and_unit: str, space_between_chinese_and_english: str, space_between_chinese_characters_and_arabic_numerals: str}, numbers: map{approximate_numbers: str, currency_format: str, decimal_numbers_less_than_one: str, decimal_separator: str, dimensions_separator: str, equation_formula_reference: str, kanji_numbers: str, large_number_format: str, large_sums_of_money: str, large_sums_of_money_format: str, list_of_measurements_with_units: str, mathematical_expression_spacing: str, number_format: str, number_separator: str, numbers_of_5_digits_or_more: str, numbers_up_to_4_digits: str, percentage_format: str, reference_to_symbol: str, spelling_out_units: str, temperature_format: str, thousands_separator: str, units_of_measure_spacing: str, use_of_hiragana_and_kanji: str, writing_numbers: str, zero_format: str}, punctuation: map{abbreviations: str, acronyms: str, ampersand_abbreviation_spacing: str, ampersand_usage: str, apostrophe: str, bracket: str, chinese_mixed_with_english: str, colon: str, colon_between_hours_and_minutes_or_chapters_and_verses: str, colon_in_heading: str, colon_to_replace_versus_or_to: str, comma_after_conjunctive_adverbs: str, comma_after_i_e_and_e_g: str, comma_after_short_introductory_phrase: str, comma_and_semicolon: str, corner_bracket_and_periods: str, corner_brackets_and_periods: str, dash: str, ellipsis: str, em_dash: str, emphasis: str, exclamation_marks: str, explanatory_note_indicator: str, full_sentence_in_round_brackets: str, highlighting_specific_expressions: str, japanese_reference_materials: str, parentheses_for_supplementary_information: str, passage_of_time_and_movement_between_locations: str, periods_and_commas: str, periods_in_academic_degrees: str, periods_in_direct_quotes: str, periods_in_uppercase_initialisms_and_acronyms: str, plus_sign_usage: str, possessives_of_proper_names_ending_in_s_style: str, quotation_mark: str, quotation_mark_and_apostrophe: str, quotation_style: str, range_indicator: str, related_phrases_indicator: str, round_brackets: str, salutation: str, sentence_break_indicator: str, serial_comma: str, setting_off_non_quoted_phrases: str, slash: str, slash_usage: str, spacing_and_punctuation: str, text_in_round_brackets_referring_to_previous_sentence: str, text_in_round_brackets_supplementing_preceding_text: str, titles_of_books_and_newspapers: str, titles_of_creative_works_trade_names_laws_and_regulations: str, uppercase_acronyms: str}, spelling_and_grammar: map{abbreviating_french_word_numero: str, abbreviation_usage: str, accents_and_cedillas: str, accents_in_verbs_conjugated_like_french_word_céder: str, accents_with_subject_verb_inversion: str, active_passive_voice: str, all_caps: str, complete_sentences: str, compound_nouns: str, conjunctions: str, contractions: str, established_loanwords: str, eszett: str, foreign_word_translation: str, french_verbs_ending_in_eler_and_eter: str, i_and_u_with_circumflex_accents: str, informal_address_pronouns: str, latin_abbreviations: str, passive_voice: str, past_participle_of_french_word_laisser_followed_by_infinitive: str, personal_titles: str, pluralizing_foreign_words: str, quotation_modification: str, spanish_word_solo: str, special_characters: str, spelled_out_numbers: str, umlauts: str, unestablished_loanwords: str}, style_and_tone: map{abbreviations: str, addressing_non_binary_people: str, addressing_the_reader: str, anglicisms: str, binary_representation_of_gender: str, complex_sentences: str, country_names: str, declarative_endings: str, default_first_person_pronoun: str, default_second_person_pronoun: str, directional_language: str, double_negatives: str, formality: str, gender_neutral_language_readability: str, gender_unspecified: str, gender_unspecified_or_mixed: str, idioms_colloquialisms_and_culture_specific_references: str, inflected_words_masculine_noun_agreement: str, instructions_style: str, mixing_styles: str, modal_verbs: str, personal_vs_impersonal_style: str, positive_vs_negative_language: str, proximity_agreement: str, reader_action_required: str, redundant_introductory_phrases: str, redundant_phrases: str, referring_to_non_binary_people: str, short_vs_long_words: str, simple_words_and_sentences: str, text_position_references: str, tone: str, verbal_vs_nominal_style: str}, vocabulary: map{abbreviations: str, loanwords: str}}, custom_instructions: [map]} # Style rule list updated successfully\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 503: Resource currently unavailable. Try again later.}\n\n@endpoint DELETE /v3/style_rules/{style_id}\n@desc Delete a style rule list\n@required {style_id: str # The ID of the style rule list}\n@returns(204) Style rule list deleted successfully\n@errors {401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 429: Too many requests. Please wait and resend your request., 500: Internal error., 503: Resource currently unavailable. Try again later.}\n\n@endpoint PUT /v3/style_rules/{style_id}/configured_rules\n@desc Replace configured rules for a style rule list\n@required {style_id: str # The ID of the style rule list}\n@optional {dates_and_times: map{calendar_era: str, centuries: str, date_format: str, dates_in_numerical_form: str, decades: str, hours_minutes_seconds_separator: str, hours_minutes_separator: str, midnight_in_numerals: str, single_digit_days_and_months: str, single_digit_hours: str, time_format: str, writing_dates: str, years: str}, formatting: map{email_address_format: str, phone_number_country_code_format: str, phone_number_format: str, space_between_arabic_numerals_and_unit: str, space_between_chinese_and_english: str, space_between_chinese_characters_and_arabic_numerals: str}, numbers: map{approximate_numbers: str, currency_format: str, decimal_numbers_less_than_one: str, decimal_separator: str, dimensions_separator: str, equation_formula_reference: str, kanji_numbers: str, large_number_format: str, large_sums_of_money: str, large_sums_of_money_format: str, list_of_measurements_with_units: str, mathematical_expression_spacing: str, number_format: str, number_separator: str, numbers_of_5_digits_or_more: str, numbers_up_to_4_digits: str, percentage_format: str, reference_to_symbol: str, spelling_out_units: str, temperature_format: str, thousands_separator: str, units_of_measure_spacing: str, use_of_hiragana_and_kanji: str, writing_numbers: str, zero_format: str}, punctuation: map{abbreviations: str, acronyms: str, ampersand_abbreviation_spacing: str, ampersand_usage: str, apostrophe: str, bracket: str, chinese_mixed_with_english: str, colon: str, colon_between_hours_and_minutes_or_chapters_and_verses: str, colon_in_heading: str, colon_to_replace_versus_or_to: str, comma_after_conjunctive_adverbs: str, comma_after_i_e_and_e_g: str, comma_after_short_introductory_phrase: str, comma_and_semicolon: str, corner_bracket_and_periods: str, corner_brackets_and_periods: str, dash: str, ellipsis: str, em_dash: str, emphasis: str, exclamation_marks: str, explanatory_note_indicator: str, full_sentence_in_round_brackets: str, highlighting_specific_expressions: str, japanese_reference_materials: str, parentheses_for_supplementary_information: str, passage_of_time_and_movement_between_locations: str, periods_and_commas: str, periods_in_academic_degrees: str, periods_in_direct_quotes: str, periods_in_uppercase_initialisms_and_acronyms: str, plus_sign_usage: str, possessives_of_proper_names_ending_in_s_style: str, quotation_mark: str, quotation_mark_and_apostrophe: str, quotation_style: str, range_indicator: str, related_phrases_indicator: str, round_brackets: str, salutation: str, sentence_break_indicator: str, serial_comma: str, setting_off_non_quoted_phrases: str, slash: str, slash_usage: str, spacing_and_punctuation: str, text_in_round_brackets_referring_to_previous_sentence: str, text_in_round_brackets_supplementing_preceding_text: str, titles_of_books_and_newspapers: str, titles_of_creative_works_trade_names_laws_and_regulations: str, uppercase_acronyms: str}, spelling_and_grammar: map{abbreviating_french_word_numero: str, abbreviation_usage: str, accents_and_cedillas: str, accents_in_verbs_conjugated_like_french_word_céder: str, accents_with_subject_verb_inversion: str, active_passive_voice: str, all_caps: str, complete_sentences: str, compound_nouns: str, conjunctions: str, contractions: str, established_loanwords: str, eszett: str, foreign_word_translation: str, french_verbs_ending_in_eler_and_eter: str, i_and_u_with_circumflex_accents: str, informal_address_pronouns: str, latin_abbreviations: str, passive_voice: str, past_participle_of_french_word_laisser_followed_by_infinitive: str, personal_titles: str, pluralizing_foreign_words: str, quotation_modification: str, spanish_word_solo: str, special_characters: str, spelled_out_numbers: str, umlauts: str, unestablished_loanwords: str}, style_and_tone: map{abbreviations: str, addressing_non_binary_people: str, addressing_the_reader: str, anglicisms: str, binary_representation_of_gender: str, complex_sentences: str, country_names: str, declarative_endings: str, default_first_person_pronoun: str, default_second_person_pronoun: str, directional_language: str, double_negatives: str, formality: str, gender_neutral_language_readability: str, gender_unspecified: str, gender_unspecified_or_mixed: str, idioms_colloquialisms_and_culture_specific_references: str, inflected_words_masculine_noun_agreement: str, instructions_style: str, mixing_styles: str, modal_verbs: str, personal_vs_impersonal_style: str, positive_vs_negative_language: str, proximity_agreement: str, reader_action_required: str, redundant_introductory_phrases: str, redundant_phrases: str, referring_to_non_binary_people: str, short_vs_long_words: str, simple_words_and_sentences: str, text_position_references: str, tone: str, verbal_vs_nominal_style: str}, vocabulary: map{abbreviations: str, loanwords: str}}\n@returns(200) {style_id: str, name: str, creation_time: str(date-time), updated_time: str(date-time), language: str, version: int, configured_rules: map{dates_and_times: map{calendar_era: str, centuries: str, date_format: str, dates_in_numerical_form: str, decades: str, hours_minutes_seconds_separator: str, hours_minutes_separator: str, midnight_in_numerals: str, single_digit_days_and_months: str, single_digit_hours: str, time_format: str, writing_dates: str, years: str}, formatting: map{email_address_format: str, phone_number_country_code_format: str, phone_number_format: str, space_between_arabic_numerals_and_unit: str, space_between_chinese_and_english: str, space_between_chinese_characters_and_arabic_numerals: str}, numbers: map{approximate_numbers: str, currency_format: str, decimal_numbers_less_than_one: str, decimal_separator: str, dimensions_separator: str, equation_formula_reference: str, kanji_numbers: str, large_number_format: str, large_sums_of_money: str, large_sums_of_money_format: str, list_of_measurements_with_units: str, mathematical_expression_spacing: str, number_format: str, number_separator: str, numbers_of_5_digits_or_more: str, numbers_up_to_4_digits: str, percentage_format: str, reference_to_symbol: str, spelling_out_units: str, temperature_format: str, thousands_separator: str, units_of_measure_spacing: str, use_of_hiragana_and_kanji: str, writing_numbers: str, zero_format: str}, punctuation: map{abbreviations: str, acronyms: str, ampersand_abbreviation_spacing: str, ampersand_usage: str, apostrophe: str, bracket: str, chinese_mixed_with_english: str, colon: str, colon_between_hours_and_minutes_or_chapters_and_verses: str, colon_in_heading: str, colon_to_replace_versus_or_to: str, comma_after_conjunctive_adverbs: str, comma_after_i_e_and_e_g: str, comma_after_short_introductory_phrase: str, comma_and_semicolon: str, corner_bracket_and_periods: str, corner_brackets_and_periods: str, dash: str, ellipsis: str, em_dash: str, emphasis: str, exclamation_marks: str, explanatory_note_indicator: str, full_sentence_in_round_brackets: str, highlighting_specific_expressions: str, japanese_reference_materials: str, parentheses_for_supplementary_information: str, passage_of_time_and_movement_between_locations: str, periods_and_commas: str, periods_in_academic_degrees: str, periods_in_direct_quotes: str, periods_in_uppercase_initialisms_and_acronyms: str, plus_sign_usage: str, possessives_of_proper_names_ending_in_s_style: str, quotation_mark: str, quotation_mark_and_apostrophe: str, quotation_style: str, range_indicator: str, related_phrases_indicator: str, round_brackets: str, salutation: str, sentence_break_indicator: str, serial_comma: str, setting_off_non_quoted_phrases: str, slash: str, slash_usage: str, spacing_and_punctuation: str, text_in_round_brackets_referring_to_previous_sentence: str, text_in_round_brackets_supplementing_preceding_text: str, titles_of_books_and_newspapers: str, titles_of_creative_works_trade_names_laws_and_regulations: str, uppercase_acronyms: str}, spelling_and_grammar: map{abbreviating_french_word_numero: str, abbreviation_usage: str, accents_and_cedillas: str, accents_in_verbs_conjugated_like_french_word_céder: str, accents_with_subject_verb_inversion: str, active_passive_voice: str, all_caps: str, complete_sentences: str, compound_nouns: str, conjunctions: str, contractions: str, established_loanwords: str, eszett: str, foreign_word_translation: str, french_verbs_ending_in_eler_and_eter: str, i_and_u_with_circumflex_accents: str, informal_address_pronouns: str, latin_abbreviations: str, passive_voice: str, past_participle_of_french_word_laisser_followed_by_infinitive: str, personal_titles: str, pluralizing_foreign_words: str, quotation_modification: str, spanish_word_solo: str, special_characters: str, spelled_out_numbers: str, umlauts: str, unestablished_loanwords: str}, style_and_tone: map{abbreviations: str, addressing_non_binary_people: str, addressing_the_reader: str, anglicisms: str, binary_representation_of_gender: str, complex_sentences: str, country_names: str, declarative_endings: str, default_first_person_pronoun: str, default_second_person_pronoun: str, directional_language: str, double_negatives: str, formality: str, gender_neutral_language_readability: str, gender_unspecified: str, gender_unspecified_or_mixed: str, idioms_colloquialisms_and_culture_specific_references: str, inflected_words_masculine_noun_agreement: str, instructions_style: str, mixing_styles: str, modal_verbs: str, personal_vs_impersonal_style: str, positive_vs_negative_language: str, proximity_agreement: str, reader_action_required: str, redundant_introductory_phrases: str, redundant_phrases: str, referring_to_non_binary_people: str, short_vs_long_words: str, simple_words_and_sentences: str, text_position_references: str, tone: str, verbal_vs_nominal_style: str}, vocabulary: map{abbreviations: str, loanwords: str}}, custom_instructions: [map]} # Configured rules updated successfully\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 429: Too many requests. Please wait and resend your request., 500: Internal error., 503: Resource currently unavailable. Try again later.}\n@example_request {\"dates_and_times\":{\"calendar_era\":\"use_bc_and_ad\"},\"punctuation\":{\"periods_in_academic_degrees\":\"do_not_use\"}}\n\n@endpoint POST /v3/style_rules/{style_id}/custom_instructions\n@desc Create a custom instruction\n@required {style_id: str # The ID of the style rule list, label: str # Label for the custom instruction, prompt: str # Instruction text}\n@optional {source_language: str # Optional source language code}\n@returns(201) {id: str, label: str, prompt: str, source_language: str} # Custom instruction created successfully\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 503: Resource currently unavailable. Try again later.}\n@example_request {\"label\":\"Currency custom instruction\",\"prompt\":\"Have currency symbols before the numerical value (e.g. $100, €100)\"}\n\n@endpoint GET /v3/style_rules/{style_id}/custom_instructions/{instruction_id}\n@desc Get a custom instruction\n@required {style_id: str # The ID of the style rule list, instruction_id: str # The ID of the custom instruction}\n@returns(200) {id: str, label: str, prompt: str, source_language: str} # Custom instruction details\n@errors {401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 429: Too many requests. Please wait and resend your request., 500: Internal error., 503: Resource currently unavailable. Try again later.}\n\n@endpoint PUT /v3/style_rules/{style_id}/custom_instructions/{instruction_id}\n@desc Replace a custom instruction\n@required {style_id: str # The ID of the style rule list, instruction_id: str # The ID of the custom instruction, label: str # Updated label for the custom instruction, prompt: str # Updated instruction text}\n@optional {source_language: str # Optional source language code}\n@returns(200) {id: str, label: str, prompt: str, source_language: str} # Custom instruction updated successfully\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 429: Too many requests. Please wait and resend your request., 500: Internal error., 503: Resource currently unavailable. Try again later.}\n\n@endpoint DELETE /v3/style_rules/{style_id}/custom_instructions/{instruction_id}\n@desc Delete a custom instruction\n@required {style_id: str # The ID of the style rule list, instruction_id: str # The ID of the custom instruction}\n@returns(204) Custom instruction deleted successfully\n@errors {401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 429: Too many requests. Please wait and resend your request., 500: Internal error., 503: Resource currently unavailable. Try again later.}\n\n@endgroup\n\n@group voice\n@endpoint POST /v3/voice/realtime\n@desc Get Streaming URL\n@required {source_media_content_type: str(audio/auto/audio/flac/audio/mpeg/audio/ogg/audio/webm/audio/x-matroska/audio/ogg;codecs=flac/audio/ogg;codecs=opus/audio/pcm;encoding=alaw;rate=8000/audio/pcm;encoding=ulaw;rate=8000/audio/pcm;encoding=s16le;rate=8000/audio/pcm;encoding=s16le;rate=16000/audio/pcm;encoding=s16le;rate=44100/audio/pcm;encoding=s16le;rate=48000/audio/webm;codecs=opus/audio/x-matroska;codecs=aac/audio/x-matroska;codecs=flac/audio/x-matroska;codecs=mp3/audio/x-matroska;codecs=opus) # The audio format for streaming, which specifies container, codec, and encoding parameters. See the table below for supported formats. If `audio/auto` is specified, the server will auto-detect the container and codec for all supported combinations, except PCM. That requires explicit encoding parameters. All formats need to be single channel audio.    | Content Type                          | Container                                         | Codec                                     |  | :------------------------------------ | :------------------------------------------------ | :---------------------------------------- |  | `audio/auto`                          | Auto-detect: FLAC / Matroska / MPEG / Ogg / WebM  | Auto-detect AAC / FLAC / MP3 / OPUS       |  | `audio/flac`                          | FLAC (flac)                                       | FLAC                                      |  | `audio/mpeg`                          | MPEG (mp3/m4a)                                    | MP3                                       |  | `audio/ogg`                           | Ogg (ogg/oga)                                     | Auto-detect FLAC / OPUS                   |  | `audio/webm`                          | WebM (webm)                                       | OPUS                                      |  | `audio/x-matroska`                    | Matroska (mkv/mka)                                | Auto-detect: AAC / FLAC / MP3 / OPUS      |  | `audio/ogg;codecs=flac`               | Ogg (ogg/oga)                                     | FLAC                                      |  | `audio/ogg;codecs=opus`               | Ogg (ogg/oga)                                     | OPUS                                      |  | `audio/pcm;encoding=alaw;rate=8000`   | -                                                 | PCM A-Law 8000 Hz (G.711)                 |  | `audio/pcm;encoding=ulaw;rate=8000`   | -                                                 | PCM µ-Law 8000 Hz (G.711)                 |  | `audio/pcm;encoding=s16le;rate=8000`  | -                                                 | PCM signed 16-bit little-endian 8000 Hz   |  | `audio/pcm;encoding=s16le;rate=16000` | -                                                 | PCM signed 16-bit little-endian 16000 Hz  |  | `audio/pcm;encoding=s16le;rate=44100` | -                                                 | PCM signed 16-bit little-endian 44100 Hz  |  | `audio/pcm;encoding=s16le;rate=48000` | -                                                 | PCM signed 16-bit little-endian 48000 Hz  |  | `audio/webm;codecs=opus`              | WebM (webm)                                       | OPUS                                      |  | `audio/x-matroska;codecs=aac`         | Matroska (mkv/mka)                                | AAC                                       |  | `audio/x-matroska;codecs=flac`        | Matroska (mkv/mka)                                | FLAC                                      |  | `audio/x-matroska;codecs=mp3`         | Matroska (mkv/mka)                                | MP3                                       |  | `audio/x-matroska;codecs=opus`        | Matroska (mkv/mka)                                | OPUS                                      |    We recommend the following bitrates as good tradeoff between quality and bandwidth:  - AAC: 96 kbps  - FLAC: 256 kbps  (16000 Hz)  - MP3: 128 kbps  - OPUS: 32 kbps (recommendation for low bandwidth scenarios)  - PCM: 256 kbps (16000 Hz, default recommendation)}\n@optional {message_format: str(json/msgpack)=json # Message encoding format for WebSocket communication. Determines how messages are serialized and transmitted. Using `json`,  messages are JSON-encoded and sent as TEXT WebSocket frames. All binary fields (such as audio data) are base64-encoded strings. Using `msgpack`, messages are MessagePack-encoded and sent as BINARY WebSocket frames. All binary fields (such as audio data) contain raw binary data.  For more details, see [Message Encoding](/api-reference/voice#message-encoding)., source_language: str(ar/bg/bn/cs/da/de/el/en/es/et/fi/fr/ga/he/hr/hu/id/it/ja/ko/lt/lv/mt/nb/nl/pl/pt/ro/ru/sk/sl/sv/th/tl/tr/uk/vi/zh)=null # The source language of the audio stream. It can be left empty or must be one of the supported Voice API source languages and comply with IETF BCP 47 language tags. Note: Some source transcription languages are provided through external service partners. See the [supported languages table](/api-reference/voice#show-supported-languages) for details., source_language_mode: str(auto/fixed)=auto # Controls how the source_language value is used. - `auto`: Treats source language as a hint; server can override - `fixed`: Treats source language as mandatory; server must use this language, target_languages: [str]= # List of target languages for translation. The stream will emit translations for each language. The maximum allowed target languages per stream is 5. Language identifiers must comply with IETF BCP 47. See the [supported languages table](/api-reference/voice#show-supported-languages) for details., target_media_languages: [str]= # (closed beta) List of target languages for which to generate synthesized audio. Languages specified here will automatically be added to target_languages if not already present, ensuring you receive both text translation and audio synthesis for these languages. If omitted, only text transcription and translation will be provided (no audio synthesis). The maximum allowed target media languages per stream is 5. Language identifiers must comply with IETF BCP 47. Note: Some translated audio languages are provided through external service partners. See the [supported languages table](/api-reference/voice#show-supported-languages) for details., target_media_content_type: str(audio/flac/video/mp2t;codecs=aac/video/mp2t;codecs=opus/audio/ogg/audio/ogg;codecs=flac/audio/ogg;codecs=opus/audio/opus/audio/pcm;encoding=alaw;rate=8000/audio/pcm;encoding=ulaw;rate=8000/audio/pcm;encoding=s16le;rate=16000/audio/pcm;encoding=s16le;rate=24000/audio/webm/audio/webm;codecs=opus/audio/x-matroska;codecs=aac/audio/x-matroska;codecs=flac/audio/x-matroska;codecs=opus)=audio/webm;codecs=opus # (closed beta) The audio format for synthesized target media streaming.  Specifies container, codec, and encoding parameters for the audio returned in target_media_chunk messages.  If not specified, defaults to audio/webm;codecs=opus.  Only applies when target_media_languages is specified.    | Content Type | Container | Codec |  | :--- | :--- | :--- |  | `audio/flac` | FLAC (flac) | FLAC 24000 Hz |  | `video/mp2t;codecs=aac` | MPEG Transport Stream (Audio only) | AAC 70 kbit/s |  | `video/mp2t;codecs=opus` | MPEG Transport Stream (Audio only) | OPUS 32 kbit/s |  | `audio/ogg` | Ogg (ogg/oga) | OPUS 32 kbit/s |  | `audio/ogg;codecs=flac` | Ogg (ogg/oga) | FLAC 24000 Hz |  | `audio/ogg;codecs=opus` | Ogg (ogg/oga) | OPUS 32 kbit/s |  | `audio/opus` | - | OPUS 32 kbit/s |  | `audio/pcm;encoding=alaw;rate=8000` | - | PCM A-Law 8000 Hz (G.711) |  | `audio/pcm;encoding=ulaw;rate=8000` | - | PCM µ-Law 8000 Hz (G.711) |  | `audio/pcm;encoding=s16le;rate=16000` | - | PCM signed 16-bit little-endian 16000 Hz |  | `audio/pcm;encoding=s16le;rate=24000` | - | PCM signed 16-bit little-endian 24000 Hz |  | `audio/webm` | WebM (webm) | OPUS 32 kbit/s  |  | `audio/webm;codecs=opus` | WebM (webm) | OPUS 32 kbit/s |  | `audio/x-matroska;codecs=aac` | Matroska (mkv/mka) | AAC 70 kbit/s |  | `audio/x-matroska;codecs=flac` | Matroska (mkv/mka) | FLAC 24000 Hz |  | `audio/x-matroska;codecs=opus` | Matroska (mkv/mka) | OPUS 32 kbit/s |    We recommend the following formats as good tradeoffs between quality and bandwidth:  - OPUS (WebM): 32 kbps, recommended for low bandwidth scenarios (default)  - PCM 24kHz: 384 kbps, high quality, target_media_voice: str(male/female) # (closed beta) Target audio voice selection for synthesized speech. The default voice is language dependent., spoken_terms_id: str(uuid) # (beta) The ID of a spoken terms list used to inform transcription., glossary_id: str # A unique ID assigned to a glossary., formality: str(default/formal/more/informal/less)=default # Sets whether the translated text should lean towards formal or informal language. Possible options are:   * `default` - use the default formality for the target language   * `formal`/`more` - for a more formal language   * `informal`/`less` - for a more informal language}\n@returns(200) {streaming_url: str, token: str, session_id: str} # Successfully obtained streaming URL and token.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 503: Resource currently unavailable. Try again later.}\n@example_request {\"source_media_content_type\":\"audio/ogg; codecs=opus\",\"source_language\":\"en\",\"source_language_mode\":\"auto\",\"target_languages\":[\"de\",\"fr\",\"es\"],\"message_format\":\"json\"}\n\n@endpoint GET /v3/voice/realtime\n@desc Request Reconnection\n@required {token: str # The latest ephemeral token obtained for the stream.}\n@returns(200) {streaming_url: str, token: str, session_id: str} # Successfully obtained streaming URL and reconnection token.\n@errors {400: Bad request. Please check error message and your parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 429: Too many requests. Please wait and resend your request., 456: Quota exceeded. The character limit has been reached., 500: Internal error., 503: Resource currently unavailable. Try again later.}\n\n@endgroup\n\n@group jobs\n@endpoint POST /v1/jobs/voice/translate\n@desc Create a voice translation job\n@required {source_file: map{name!: str, content_type!: str, content_length!: int(int64)} # Metadata about the source audio file to be uploaded., targets: [map{language!: str, type!: str}] # One or more translation targets. Each target produces a separate result.}\n@optional {include: [str] # Additional fields to include in the response. - `signed_url`: Include pre-signed URLs (`signed_upload_url` on create, `signed_download_url` on status) that can be used without an authorization header., parameters: map{source_language: any} # Processing parameters for the voice translation job.}\n@returns(201) {job_id: str(uuid), upload_url: str(uri), signature: str, signed_upload_url: str(uri)} # Job created successfully.\n@errors {400: Bad request. Check the error message and request parameters., 401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 403: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 429: Too many requests. Please wait and resend your request.}\n@example_request {\"source_file\":{\"name\":\"podcast-episode-42.mp3\",\"content_type\":\"audio/mpeg\",\"content_length\":15728640},\"parameters\":{\"source_language\":\"en\"},\"targets\":[{\"language\":\"de\",\"type\":\"text/plain\"},{\"language\":\"es\",\"type\":\"audio/pcm;encoding=s16le;rate=16000\"}]}\n\n@endpoint GET /v1/jobs/voice/translate/{job_id}\n@desc Get voice translation job status\n@required {job_id: str(uuid) # The unique identifier of the job, returned by the create job endpoint.}\n@optional {include: [str] # Additional fields to include in the response. - `signed_url`: Include pre-signed URLs (`signed_upload_url` on create, `signed_download_url` on status) that can be used without an authorization header.}\n@returns(200) {job_id: str(uuid), product: str, operation: str, created_at: str(date-time), updated_at: str(date-time), usage: map{storage_used: int(int64)}, source_file: map{name: str, content_type: str, content_length: int(int64)}, parameters: map{source_language: any}, targets: [map], results: [map]} # Job status retrieved successfully.\n@errors {401: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header., 404: The requested resource could not be found., 429: Too many requests. Please wait and resend your request.}\n\n@endgroup\n\n@end\n"}