DeepL Translate Documents API

The document translation API allows you to translate whole documents and supports the following file types and extensions: * `docx` - Microsoft Word Document * `pptx` - Microsoft PowerPoint Document * `xlsx` - Microsoft Excel Document * `xlsm` - Microsoft Excel Macro-Enabled Workbook (currently in beta) * `pdf` - Portable Document Format * `htm / html` - HTML Document * `txt` - Plain Text Document * `xlf / xliff` - XLIFF Document (versions 1.2, 2.0, and 2.1) * `srt` - SRT Document * `vtt` - WebVTT Subtitle Document (currently in beta) * `idml` - Adobe InDesign Markup Language * `xml` - XML Document * `json` - JSON Document * `yaml / yml` - YAML Document (currently in beta) * `properties` - Java Properties Document (currently in beta) * `strings` - iOS/macOS Strings Document (currently in beta) * `md / markdown` - Markdown Document (currently in beta) * `dita` - DITA topic (Darwin Information Typing Architecture) * `mif` - Adobe FrameMaker Interchange Format * `zip` - SCORM Package (e-learning content, currently in beta) * `odt` - OpenDocument Text Document (currently in beta) * `rtf` - Rich Text Format Document (currently in beta) * `resx` - .NET Resource Document (currently in beta) * `jpeg` / `jpg` / `png` - Image (currently in beta)

Operations 3

POST /v2/document Upload and Translate a Document #
POST /v2/document/{document_id} Check Document Status #
POST /v2/document/{document_id}/result Download Translated Document #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/deepl:deepl-translatedocuments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

deepl-translatedocuments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DeepL API Documentation Translate Documents API
  description: 'The DeepL API provides programmatic access to DeepL’s language AI technology.


    Note: this OpenAPI spec is embedded into our API documentation and has shortened descriptions.'
  termsOfService: https://www.deepl.com/pro-license
  contact:
    name: DeepL - Contact us
    url: https://www.deepl.com/contact-us
  version: 3.13.0
servers:
- url: https://api.deepl.com
  description: DeepL API Pro
- url: https://api-free.deepl.com
  description: DeepL API Free
tags:
- name: TranslateDocuments
  description: 'The document translation API allows you to translate whole documents and supports the following file types and extensions:

    * `docx` - Microsoft Word Document

    * `pptx` - Microsoft PowerPoint Document

    * `xlsx` - Microsoft Excel Document

    * `xlsm` - Microsoft Excel Macro-Enabled Workbook (currently in beta)

    * `pdf` - Portable Document Format

    * `htm / html` - HTML Document

    * `txt` - Plain Text Document

    * `xlf / xliff` - XLIFF Document (versions 1.2, 2.0, and 2.1)

    * `srt` - SRT Document

    * `vtt` - WebVTT Subtitle Document (currently in beta)

    * `idml` - Adobe InDesign Markup Language

    * `xml` - XML Document

    * `json` - JSON Document

    * `yaml / yml` - YAML Document (currently in beta)

    * `properties` - Java Properties Document (currently in beta)

    * `strings` - iOS/macOS Strings Document (currently in beta)

    * `md / markdown` - Markdown Document (currently in beta)

    * `dita` - DITA topic (Darwin Information Typing Architecture)

    * `mif` - Adobe FrameMaker Interchange Format

    * `zip` - SCORM Package (e-learning content, currently in beta)

    * `odt` - OpenDocument Text Document (currently in beta)

    * `rtf` - Rich Text Format Document (currently in beta)

    * `resx` - .NET Resource Document (currently in beta)

    * `jpeg` / `jpg` / `png` - Image (currently in beta)'
paths:
  /v2/document:
    post:
      tags:
      - TranslateDocuments
      summary: Upload and Translate a Document
      operationId: translateDocument
      description: 'Upload a document for translation and receive a `document_id` and `document_key`. Use

        them to poll the document status and download the translated file. Translation is

        asynchronous: the upload response confirms the request, not a finished translation.'
      requestBody:
        required: true
        content:
          multipart/form-data:
            examples:
              Basic:
                summary: Basic Document Translation
                value:
                  target_lang: DE
                  file: '@document.docx'
              Watermark:
                summary: Adding a "Translated by DeepL" watermark (docx/pdf only)
                value:
                  target_lang: DE
                  file: '@document.pdf'
                  enable_watermark: true
              SuppressImages:
                summary: Suppressing translation of embedded images (pptx only)
                value:
                  target_lang: DE
                  file: '@document.pptx'
                  input_conversion_options: version:1,suppress-image-types:all
              Glossary:
                summary: Using a Glossary
                value:
                  source_lang: EN
                  target_lang: DE
                  file: '@document.docx'
                  glossary_id: '[yourGlossaryId]'
              MultipleGlossaries:
                summary: Using Multiple Glossaries
                value:
                  source_lang: EN
                  target_lang: DE
                  file: '@document.docx'
                  glossary_ids: '[yourGlossaryId1],[yourGlossaryId2]'
              StyleRule:
                summary: Using a Style Rule List
                value:
                  source_lang: EN
                  target_lang: DE
                  file: '@document.docx'
                  style_id: '[yourStyleId]'
              TranslationMemory:
                summary: Using a Translation Memory
                value:
                  source_lang: EN
                  target_lang: DE
                  file: '@document.docx'
                  translation_memory_id: '[yourTranslationMemoryId]'
                  translation_memory_threshold: 75
              QualityEvaluation:
                summary: Requesting a quality evaluation report (beta)
                value:
                  source_lang: EN
                  target_lang: DE
                  file: '@document.docx'
                  enable_quality_evaluation: true
            schema:
              type: object
              required:
              - target_lang
              - file
              properties:
                source_lang:
                  $ref: '#/components/schemas/SourceLanguage'
                target_lang:
                  $ref: '#/components/schemas/TargetLanguage'
                file:
                  type: string
                  format: binary
                  description: "The document file to be translated. The file name should be included in this part's content disposition. As an alternative, the filename parameter can be used. The following file types and extensions are supported:\n  * `docx` - Microsoft Word Document\n  * `pptx` - Microsoft PowerPoint Document\n  * `xlsx` - Microsoft Excel Document\n  * `xlsm` - Microsoft Excel Macro-Enabled Workbook (currently in beta)\n  * `pdf` - Portable Document Format\n  * `htm / html` - HTML Document\n  * `txt` - Plain Text Document\n  * `xlf / xliff` - XLIFF Document (versions 1.2, 2.0, and 2.1)\n  * `srt` - SRT Document\n  * `vtt` - WebVTT Subtitle Document (currently in beta)\n  * `idml` - Adobe InDesign Markup Language\n  * `xml` - XML Document\n  * `json` - JSON Document\n  * `yaml / yml` - YAML Document (currently in beta)\n  * `properties` - Java Properties Document (currently in beta)\n  * `strings` - iOS/macOS Strings Document (currently in beta)\n  * `md / markdown` - Markdown Document (currently in beta)\n  * `dita` - DITA topic (Darwin Information Typing Architecture)\n  * `mif` - Adobe FrameMaker Interchange Format\n  * `zip` - SCORM Package (e-learning content, currently in beta)\n  * `odt` - OpenDocument Text Document (currently in beta)\n  * `rtf` - Rich Text Format Document (currently in beta)\n  * `resx` - .NET Resource Document (currently in beta)\n  * `jpeg` / `jpg` / `png` - Image (currently in beta)"
                filename:
                  type: string
                  description: The name of the uploaded file. Can be used as an alternative to including the file name in the file part's content disposition.
                output_format:
                  type: string
                  description: 'File extension of desired format of translated file, for example: `docx`. If unspecified, by default the translated file will be in the same format as the input file.

                    '
                input_conversion_options:
                  description: "Comma-separated list of `key:value` conversion options, prefixed with a version, that control how the input document is converted before translation. For example: `version:1,suppress-image-types:all`.\n\nSupported keys:\n\n  * `suppress-image-types` - Leaves the specified types of images embedded in the document untranslated. The value is a hyphen-separated list of image content types (for example `logo-photo` suppresses logos and photos), or `all` to suppress every embedded image. Recognized image content types: `logo`, `icon`, `decorative`, `barcode`, `formula`, `signature`, `handwriting`, `stamp`, `screenshot`, `diagram`, `chart`, `photo`, `illustration`, `comic`, `music`, `infographic`, `table`, `text`, `other`, `unknown`. Only `pptx` documents support this key.\n  * `json-placeholders` - Controls how brace-delimited placeholders in `json` string values are handled. `protect` (the default) keeps identifier-shaped placeholders such as `{stars}` or `{{userName}}` verbatim so they are not translated; `translate` translates them along with the surrounding text. ICU MessageFormat skeletons such as `{count, plural, one {# item} other {# items}}` are always protected, with only the branch text translated, in both modes. Multi-word groups such as `{see note}` are treated as translatable text in both modes.\n\nFor other file types this parameter is ignored. Unrecognized keys are ignored."
                  type: string
                  example: version:1,suppress-image-types:all
                formality:
                  $ref: '#/components/schemas/Formality'
                glossary_id:
                  description: 'A unique ID assigned to a glossary. To check glossary support for a language pair, call `GET /v3/languages?resource=translate_document` and verify the `glossary` feature key is present on both the source and target language.


                    Cannot be used together with `glossary_ids`.'
                  type: string
                  example: def3a26b-3e84-45b3-84ae-0c0aaf3525f7
                glossary_ids:
                  description: 'Comma-separated list of up to 5 glossary IDs to use for the translation. Each glossary''s matching terms are applied to the translated document. May also be sent as a repeated parameter.


                    **Important:** This requires the `source_lang` parameter to be set. Every listed glossary must contain a dictionary for the requested language pair.


                    Cannot be used together with `glossary_id`.'
                  type: array
                  maxItems: 5
                  items:
                    type: string
                    example: def3a26b-3e84-45b3-84ae-0c0aaf3525f7
                style_id:
                  description: 'Specify the [style rule list](/docs/customize/using-style-rules) to use for the translation.


                    **Important:** The target language has to match the language of the style rule list. A list

                    created for a root language (for example `en`) applies to that language and all of its variants

                    (`EN-GB`, `EN-US`). A list created for a variant (for example `en-GB`) applies only when

                    `target_lang` is that variant.'
                  type: string
                  example: 7ff9bfd6-cd85-4190-8503-d6215a321519
                translation_memory_id:
                  $ref: '#/components/schemas/TranslationMemoryId'
                translation_memory_threshold:
                  $ref: '#/components/schemas/TranslationMemoryThreshold'
                enable_watermark:
                  description: 'When `true`, adds a "Translated by DeepL" watermark to the translated document.


                    Only supported for `docx` and `pdf` output. For all other output formats the parameter is ignored and the document is returned without a watermark.'
                  type: boolean
                  default: false
                enable_quality_evaluation:
                  description: '(beta) When `true`, DeepL also evaluates the finished translation and returns a `quality_evaluation_job_id`. Poll [`GET /v1/quality-evaluations/{job_id}`](/api-reference/quality-evaluations/poll) with it for a per-segment report of translation issues. The translation itself is unaffected.


                    **Important:** Available to select customers; contact your customer success manager to enable it. Supported for `docx`, `pptx`, `pdf`, `srt`, `idml`, `xml`, `dita`, `mif`, and XLIFF 2.1 uploads, and for the [supported language pairs](/api-reference/quality-evaluations/poll#supported-language-pairs) only.


                    Rejected before the upload is accepted: `403` if quality evaluation is not enabled for the account, `400` for an ineligible file type, an unsupported language pair, or a value other than `true` or `false`.'
                  type: boolean
                  default: false
                enable_beta_languages:
                  description: This parameter is maintained for backward compatibility and has no effect.
                  type: boolean
                  default: false
                  deprecated: true
      responses:
        '200':
          description: 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.
          headers:
            X-Trace-ID:
              $ref: '#/components/headers/X-Trace-ID'
          content:
            application/json:
              schema:
                type: object
                properties:
                  document_id:
                    description: A unique ID assigned to the uploaded document and the translation process. Must be used when referring to this particular document in subsequent API requests.
                    type: string
                    example: 04DE5AD98A02647D83285A36021911C6
                  document_key:
                    description: A unique key that is used to encrypt the uploaded document as well as the resulting translation on the server side. Must be provided with every subsequent API request regarding this particular document.
                    type: string
                    example: 0CB0054F1C132C1625B392EADDA41CB754A742822F6877173029A6C487E7F60A
                  quality_evaluation_job_id:
                    description: (beta) A unique ID assigned to the quality evaluation. Returned only when the request set `enable_quality_evaluation=true`. Use it to retrieve the report from [`GET /v1/quality-evaluations/{job_id}`](/api-reference/quality-evaluations/poll).
                    type: string
                    example: 04DE5AD98A02647D83285A36021911C6
              example:
                document_id: 04DE5AD98A02647D83285A36021911C6
                document_key: 0CB0054F1C132C1625B392EADDA41CB754A742822F6877173029A6C487E7F60A
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/ForbiddenScoped'
        '404':
          $ref: '#/components/responses/NotFound'
        '413':
          $ref: '#/components/responses/PayloadTooLarge'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '456':
          $ref: '#/components/responses/QuotaExceeded'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '504':
          $ref: '#/components/responses/ServiceUnavailable'
        '529':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - auth_header: []
  /v2/document/{document_id}:
    post:
      tags:
      - TranslateDocuments
      summary: Check Document Status
      operationId: getDocumentStatus
      description: 'Retrieve the translation status of an uploaded document. Poll this endpoint until the

        status is `done`, then download the result. The response includes an estimated

        remaining time while the document is still translating.'
      parameters:
      - $ref: '#/components/parameters/DocumentID'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DocumentKey'
            examples:
              basic:
                summary: Basic
                value:
                  document_key: 0CB0054F1C132C1625B392EADDA41CB754A742822F6877173029A6C487E7F60A
          application/json:
            schema:
              $ref: '#/components/schemas/DocumentKey'
      responses:
        '200':
          description: 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.
          headers:
            X-Trace-ID:
              $ref: '#/components/headers/X-Trace-ID'
          content:
            application/json:
              schema:
                type: object
                required:
                - document_id
                - status
                properties:
                  document_id:
                    description: A unique ID assigned to the uploaded document and the requested translation process. The same ID that was used when requesting the translation status.
                    type: string
                    example: 04DE5AD98A02647D83285A36021911C6
                  status:
                    description: "A short description of the state the document translation process is currently in. Possible values are:\n * `queued` - the translation job is waiting in line to be processed\n * `translating` - the translation is currently ongoing\n * `done` - the translation is done and the translated document is ready for download\n * `error` - an irrecoverable error occurred while translating the document"
                    type: string
                    example: done
                    enum:
                    - queued
                    - translating
                    - done
                    - error
                  seconds_remaining:
                    description: 'Estimated number of seconds until the translation is done.

                      This parameter is only included while `status` is `"translating"`.'
                    type: integer
                  billed_characters:
                    description: The number of characters billed to your account. The characters will only be billed after a successful download request.
                    type: integer
                    example: 1337
                  error_message:
                    description: 'A short description of the error, if available.

                      Note that the content is subject to change.

                      This parameter may be included if an error occurred during translation.'
                    type: string
                    example: Only available if document status is error
              examples:
                translating:
                  summary: Translating
                  value:
                    document_id: 04DE5AD98A02647D83285A36021911C6
                    status: translating
                    seconds_remaining: 20
                done:
                  summary: Done
                  value:
                    document_id: 04DE5AD98A02647D83285A36021911C6
                    status: done
                    billed_characters: 1337
                queued:
                  summary: Queued
                  value:
                    document_id: 04DE5AD98A02647D83285A36021911C6
                    status: queued
                error:
                  summary: Error
                  value:
                    document_id: 04DE5AD98A02647D83285A36021911C6
                    status: error
                    message: Source and target language are equal.
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/ForbiddenScoped'
        '404':
          $ref: '#/components/responses/NotFound'
        '413':
          $ref: '#/components/responses/PayloadTooLarge'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '456':
          $ref: '#/components/responses/QuotaExceeded'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '504':
          $ref: '#/components/responses/ServiceUnavailable'
        '529':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - auth_header: []
  /v2/document/{document_id}/result:
    post:
      tags:
      - TranslateDocuments
      summary: Download Translated Document
      operationId: downloadDocument
      description: 'Download a translated document. The document must have a status of `done`. Each

        document can be downloaded only once: after a successful download DeepL deletes the

        file and invalidates the `document_id`.'
      parameters:
      - $ref: '#/components/parameters/DocumentID'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DocumentKey'
            examples:
              basic:
                summary: Basic
                value:
                  document_key: 0CB0054F1C132C1625B392EADDA41CB754A742822F6877173029A6C487E7F60A
          application/json:
            schema:
              $ref: '#/components/schemas/DocumentKey'
      responses:
        '200':
          description: 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.
          headers:
            X-Trace-ID:
              $ref: '#/components/headers/X-Trace-ID'
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
              examples:
                OK:
                  summary: OK
                  description: binary document data
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/ForbiddenScoped'
        '404':
          $ref: '#/components/responses/NotFound404DocTransDownload'
        '413':
          $ref: '#/components/responses/PayloadTooLarge'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '456':
          $ref: '#/components/responses/QuotaExceeded'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable503DocTransDownload'
        '504':
          $ref: '#/components/responses/ServiceUnavailable'
        '529':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - auth_header: []
components:
  responses:
    ForbiddenScoped:
      description: Authorization failed. Please supply a valid `DeepL-Auth-Key` via the `Authorization` header. This error is also returned when the API key is scoped but does not include the scope required for this endpoint.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound404DocTransDownload:
      description: 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.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DocumentTranslationError'
          examples:
            NotFound:
              summary: Not Found
              value:
                message: Document not found
    ServiceUnavailable503DocTransDownload:
      description: '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.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DocumentTranslationError'
          examples:
            AlreadyDownloaded:
              summary: Already Downloaded
              value:
                message: Document already downloaded
    ServiceUnavailable:
      description: Resource currently unavailable. Try again later.
      content:
        application/json:
          schema:
            oneOf:
            - $ref: '#/components/schemas/ErrorResponse'
            - $ref: '#/components/schemas/InfrastructureErrorResponse'
    TooManyRequests:
      description: Too many requests. Please wait and resend your request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: Internal error.
      content:
        application/json:
          schema:
            oneOf:
            - $ref: '#/components/schemas/ErrorResponse'
            - $ref: '#/components/schemas/InfrastructureErrorResponse'
    NotFound:
      description: The requested resource could not be found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Bad request. Please check error message and your parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    PayloadTooLarge:
      description: The request size exceeds the limit.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    QuotaExceeded:
      description: Quota exceeded. The character limit has been reached.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    Formality:
      description: "Sets whether the translated text should lean towards formal or informal language.\nThis feature is only available for certain target languages. Setting this parameter\nwith a target language that does not support formality will fail, unless one of the\n`prefer_...` options are used.\nPossible options are:\n  * `default` (default)\n  * `more` - for a more formal language\n  * `less` - for a more informal language\n  * `prefer_more` - for a more formal language if available, otherwise fallback to default formality\n  * `prefer_less` - for a more informal language if available, otherwise fallback to default formality"
      type: string
      enum:
      - default
      - more
      - less
      - prefer_more
      - prefer_less
      default: default
      example: prefer_more
    InfrastructureErrorResponse:
      description: 'Error body returned by DeepL''s edge infrastructure for failures that occur before a request reaches the API itself. The message is nested under `error`, unlike the application-level `ErrorResponse`. Clients that parse error bodies should handle both shapes.

        '
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - message
          properties:
            message:
              type: string
              description: A human-readable description of the error.
              example: Bad Gateway.
    SourceLanguage:
      type: string
      description: '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/docs/languages/using-the-languages-api).'
      example: EN
    ErrorResponse:
      type: object
      required:
      - message
      properties:
        message:
          type: string
          description: A human-readable description of the error.
        code:
          type: string
          description: A machine-readable identifier for the error, when available. Clients should match on this value rather than on `message` when branching on error types.
          example: invalid_content_type
    TranslationMemoryId:
      type: string
      format: uuid
      description: A unique ID assigned to a translation memory.
      example: a74d88fb-ed2a-4943-a664-a4512398b994
    TargetLanguage:
      type: string
      description: '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/docs/languages/using-the-languages-api).'
      example: DE
    TranslationMemoryThreshold:
      type: integer
      description: The minimum matching percentage required for a translation memory segment to be applied (recommended to be 75% or higher). A value below 50 is treated as 50.
      minimum: 0
      maximum: 100
      default: 75
      example: 75
    DocumentTranslationError:
      type: object
      properties:
        message:
          type: string
          description: detailed error message
    DocumentKey:
      type: object
      required:
      - document_key
      properties:
        document_key:
          description: The document encryption key that was sent to the client when the document was uploaded to the API.
          type: string
          example: 0CB0054F1C132C1625B392EADDA41CB754A742822F6877173029A6C487E7F60A
  headers:
    X-Trace-ID:
      description: A unique identifier for the request that can be included in bug reports to DeepL support.
      schema:
        type: string
      example: 501c3d93cc0c4f11ae2f60a226c2f0f0
  parameters:
    DocumentID:
      name: document_id
      description: The document ID that was sent to the client when the document was uploaded to the API.
      in: path
      required: true
      schema:
        type: string
      example: 04DE5AD98A02647D83285A36021911C6
  securitySchemes:
    auth_header:
      type: apiKey
      description: 'Authentication with `Authorization` header and `DeepL-Auth-Key` authentication scheme. Example: `DeepL-Auth-Key <api-key>`

        '
      name: Authorization
      in: header
      x-default: 'DeepL-Auth-Key '
externalDocs:
  description: DeepL Pro - Plans and pricing
  url: https://www.deepl.com/pro#developer
x-hideTryItPanel: true
x-codeSamples: false
x-provenance:
  method: harvested
  publisher: DeepL
  source: https://developers.deepl.com/api-reference/openapi.yaml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)