---
title: "Get Translation Job"
method: GET
path: "/v1/projects/{project_id}/translations/jobs/{job_uuid}"
tags: ["translation"]
---

# Get Translation Job

`GET /v1/projects/{project_id}/translations/jobs/{job_uuid}`

## Request

- Base URL: `https://api.sonenta.dev`
- URL: `https://api.sonenta.dev/v1/projects/{project_id}/translations/jobs/{job_uuid}`
- Auth: none declared

Poll a translation job — same object as /generate. Clients poll this until
`terminal` is true (batch jobs, PR-2); sync jobs are already terminal.

## Path parameters

- `project_id` string, required
- `job_uuid` string, required

## Response `200`

Successful Response

- TranslationJobOut: Unified job object returned by BOTH /generate and GET /jobs/{job_uuid}. `terminal` is true once status is completed/partial/failed. Sync jobs are terminal immediately (results written as drafts → refetch). Batch jobs (PR-2) start queued/running; the client polls GET /jobs/{job_uuid} until terminal.
  - `job_uuid` string, required
  - `status` string, required
  - `phase` string, nullable
  - `terminal` boolean, required
  - `mode` string, required
  - `tier` string, required
  - `requested` integer, required
  - `translated` integer, required
  - `failed` integer, required
  - `credits_charged` integer, required
  - `credits_refunded` integer, required
  - `credits_net` integer, required
  - `last_error` string, nullable
  - `batch_id` string, nullable

## Other responses

- `422`: Validation Error

---

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