---
title: "Retrieve an import or export job"
method: GET
path: "/v3/translation_memories/jobs/{job_id}"
tags: ["TranslationMemories"]
---

# Retrieve an import or export job

`GET /v3/translation_memories/jobs/{job_id}`

## Request

- Base URL: `https://api.deepl.com`
- URL: `https://api.deepl.com/v3/translation_memories/jobs/{job_id}`
- Auth: API key in header `Authorization`

Retrieve the status of a translation memory import or export job.

Poll this endpoint after creating a job. The `operation` field tells you which kind of job it is,
and the single entry in `results` carries the status and, once the job finishes, its output: the
new `translation_memory_id` for an import, or a `download_url` for an export.

Requires an API key with the `translation_memories:read` scope.

## Path parameters

- `job_id` string, uuid, required

## Response `200`

Returns the current state of the job.

- TranslationMemoryJob: The state of a translation memory import or export job. Fields that do not apply to the job's `operation` are omitted.
  - `job_id` string, uuid, required: The identifier of the job.
  - `product` string, required: The DeepL product the job belongs to. Always `translation_memory`.
  - `operation` 'import' | 'export', required: Which kind of job this is.
  - `creation_time` string, date-time, required: The time the job was created, in the ISO 8601-1:2019 format.
  - `updated_time` string, date-time, required: The time the job last changed state, in the ISO 8601-1:2019 format.
  - `source_file` object: The file declared when the import job was created. Omitted for export jobs.
    - `content_type` string: The MIME type declared for the uploaded file.
    - `content_length` integer: The size in bytes declared for the uploaded file.
  - `parameters` object, required: The parameters the job was created with. Import jobs report `display_name`; export jobs report `translation_memory_id`.
    - `translation_memory_id` string, uuid: A unique ID assigned to a translation memory.
    - `display_name` string: The name given to the translation memory the import creates.
  - `results` TranslationMemoryJobResult[], required: The job's outcome. This array always holds exactly one entry. It is an array so that jobs producing multiple outputs can be represented without a breaking change.
    - `status` 'awaiting_input' | 'processing' | 'completed' | 'failed' | 'expired', required: The job's current state: * `awaiting_input` - the job exists but the file has not been uploaded yet (import only) * `processing` - the file was received and is being processed * `completed` - the job finished successfully * `failed` - the job did not finish; see `error` * `expired` - the job is too old to act on; create a new one
    - `status_metadata` object: Extra context for states that need you to act. Present only when there is something to do.
      - `required_action` string: What the job is waiting for.
    - `download_url` string, uri: A short-lived URL to download the exported TMX file from. Present on completed export jobs only. Download the file rather than storing this URL.
    - `expires_at` string, date-time: The time `download_url` stops working, in the ISO 8601-1:2019 format. Present on completed export jobs only.
    - `error` object: Why the job failed. Present only when `status` is `failed`.
      - `message` string: A description of the failure.
    - `translation_memory_id` string, uuid: A unique ID assigned to a translation memory.
    - `skipped_segment_count` integer: How many segments in the uploaded file were not imported, for example because they were malformed or duplicated an existing segment. Present on completed import jobs only. A non-zero value does not mean the import failed.

## Other responses

- `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. This error is also returned when the API key is scoped but does not include the scope required for this endpoint.
- `404`: The job could not be found.
- `429`: Too many requests. Please wait and resend your request.
- `500`: Internal error.
- `503`: Resource currently unavailable. Try again later.

## Changes

- **2026-11-03** `c7c91cfac5c0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/deepl/apis/deepl-api-documentation/changes/v3/translation_memories/jobs/:job_id/get.md)

---

[API](https://skmtc.dev/deepl/apis/deepl-api-documentation.md) - [All operations](https://skmtc.dev/deepl/apis/deepl-api-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/deepl/apis/deepl-api-documentation/revisions/c7c91cfac5c0?raw)
