List translations
Most recent first, archived excluded by default. Pagination is cursor-based: pass the next_cursor from the previous response verbatim. Offsets are not supported because a translation created mid-pagination would silently shift them. search matches a translation's name or, when it has none, its uploaded file name — the same search the web app's batch list uses, so results never diverge between the two.
GET/v1/batches
Requires batches:read. Archived translations are excluded by default. Pass next_cursor back unchanged to fetch the next page.
Filter with status, archived, quality_tier, created_after and created_before. search matches a translation’s name or, when it has none, its uploaded file name. This is the same search the web app’s list uses, so the two never disagree.
This endpoint only reads: it does not start a translation and consumes no credits. It lists every translation in the workspace, whichever interface created it. To start one, create a translation.
Authorizations
Authorizationbearerin headerrequiredQuery parameters
limitintegerrange: 1–100Number of items to return. Values outside 1-100 are clamped, and the response reports the limit actually applied.
cursorstringstatusenum<string>one of: analyzing, awaiting_instructions, awaiting_approval, translating, completed, failed, cancelledKeep only translations in this state. awaiting_instructions and awaiting_approval both mean 'waiting for you' but need different calls, so they filter separately. cancelled filters separately from failed too: a cancellation is not a failure, so counting broken runs means asking for failed alone.
archivedenum<string>one of: 0, 1, true, falsequality_tierenum<string>one of: standard, litecreated_afterstringcreated_beforestringsearchstringlength: 1–200 charsResponse
List translations
dataobject[]requiredhas_morebooleanrequirednext_cursorstringnullrequiredlimitintegerrequiredrequest_idstringrequiredPossible codes: invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredPossible codes: authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredPossible codes: insufficient_credits
errorobjectrequiredrequest_idstringrequiredPossible codes: insufficient_scope, feature_not_available, admin_required, file_retention_expired
errorobjectrequiredrequest_idstringrequiredPossible codes: batch_not_found, glossary_not_found, resource_not_found
errorobjectrequiredrequest_idstringrequiredPossible codes: glossary_already_exists, result_not_ready, batch_not_editable, idempotency_key_reused, no_plan_yet, plan_changed, batch_not_awaiting_approval
errorobjectrequiredrequest_idstringrequiredPossible codes: file_expired
errorobjectrequiredrequest_idstringrequiredPossible codes: request_too_large, file_too_large, result_too_large
errorobjectrequiredrequest_idstringrequiredPossible codes: language_not_supported, invalid_language_pair, glossary_term_limit_reached, glossary_limit_reached, invalid_glossary_terms, unsupported_format, file_fetch_failed, plan_invalid
errorobjectrequiredrequest_idstringrequiredPossible codes: rate_limited
errorobjectrequiredrequest_idstringrequiredPossible codes: internal_error
errorobjectrequiredrequest_idstringrequiredPossible codes: service_unavailable
errorobjectrequiredrequest_idstringrequired