TranslationMemories

Import a translation memory

Changed on

Create a translation memory by importing a TMX file.

This endpoint does not accept the file itself. It returns a short-lived upload_url, and you upload the TMX file to that URL with a separate PUT request. Processing starts automatically once the upload completes, so there is no third call to confirm it.

  1. POST /v3/translation_memories/import with the file's name and size. The response returns a job_id, an upload_url, and the expires_at time after which the URL stops working.
  2. PUT the TMX file to upload_url. Do not send your Authorization header on this request, because the URL is already signed.
  3. Poll Retrieve an import or export job until the status is completed. The new translation_memory_id is on the job result.

Requires an API key with the translation_memories:write scope.

post/v3/translation_memories/import

Request

  • Base URL
    https://api.deepl.com
  • URL
    https://api.deepl.com/v3/translation_memories/import
  • Auth
    API key in header Authorization

Request body

Example request

{
  "source_file": {
    "file_name": "legal.tmx",
    "content_type": "application/xml",
    "content_length": 1024
  },
  "parameters": {
    "display_name": "Legal"
  }
}

Response

The import job was created. Upload the file to upload_url before expires_at.

job_idstring uuid required

The identifier of the import job. Use it to poll the job's status.

upload_urlstring uri required

A signed URL to PUT the TMX file to. Do not send your Authorization header with the upload request.

expires_atstring date-time required

The time the upload_url stops accepting uploads, in the ISO 8601-1:2019 format. After this time, create a new import job.

Example response

{
  "job_id": "0f8b6c1e-4d2a-4c77-9a3e-1b5d8c9e2f40",
  "upload_url": "https://assets.deepl.com/upload/0f8b6c1e-4d2a-4c77-9a3e-1b5d8c9e2f40",
  "expires_at": "2026-08-06T15:34:25.223Z"
}

Changes