---
title: "Submit a document translation request to the Document Translation service"
method: POST
path: "/document/batches"
---

# Submit a document translation request to the Document Translation service

`POST /document/batches`

Use this API to submit a bulk (batch) translation request to the Document
Translation service.
Each request can contain multiple documents and must
contain a source and destination container for each document.
            
The
prefix and suffix filter (if supplied) are used to filter folders. The prefix
is applied to the subpath after the container name.
            
Glossaries /
Translation memory can be included in the request and are applied by the
service when the document is translated.
            
If the glossary is
invalid or unreachable during translation, an error is indicated in the
document status.
If a file with the same name already exists at the
destination, it will be overwritten. The targetUrl for each target language
must be unique.

## Query parameters

- `api-version` string, required

## Request body

- StartTranslationDetails — Translation job submission batch request
  - `inputs` BatchRequest[], required — The input list of documents or folders containing documents
    - `source` SourceInput, required — Source of the input documents
      - `sourceUrl` string, required — Location of the folder / container or single file with your documents
      - `filter` DocumentFilter — Document filter
        - `prefix` string — A case-sensitive prefix string to filter documents in the source path for translation. For example, when using a Azure storage blob Uri, use the prefix to restrict sub folders for translation.
        - `suffix` string — A case-sensitive suffix string to filter documents in the source path for translation. This is most often use for file extensions
      - `language` string — Language code If none is specified, we will perform auto detect on the document
      - `storageSource` 'AzureBlob' — Storage Source
    - `targets` TargetInput[], required — Location of the destination for the output
      - `targetUrl` string, required — Location of the folder / container with your documents
      - `category` string — Category / custom system for translation request
      - `language` string, required — Target Language
      - `glossaries` Glossary[] — List of Glossary
        - `glossaryUrl` string, required — Location of the glossary. We will use the file extension to extract the formatting if the format parameter is not supplied. If the translation language pair is not present in the glossary, it will not be applied
        - `format` string, required — Format
        - `version` string — Optional Version. If not specified, default is used.
        - `storageSource` 'AzureBlob' — Storage Source
      - `storageSource` 'AzureBlob' — Storage Source
    - `storageType` 'Folder' | 'File' — Storage type of the input documents source string
  - `options` BatchOptions — Translation batch request options
    - `translateTextWithinImage` boolean — Translation text within an image option

## Response `202`

The request has been accepted for processing, but processing has not yet completed.

## Other responses

- `default` — An unexpected error response.

## Changes

- **2026-07-13** (2023-11-01-preview) `2a29f2b714b8` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/azure/apis/translation-documenttranslation/changes/document/batches/post.md)

---

[API](https://skmtc.dev/azure/apis/translation-documenttranslation.md) · [All operations](https://skmtc.dev/azure/apis/translation-documenttranslation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/azure/translation-documenttranslation/revisions/f29cf344b9da/schema)
