List localization jobs
The jobs started by Localize prompts. A job goes queued, running, sometimes retrying, then ready or failed; cancelling and cancelled follow a cancel. A ready job carries its draft, which Accept localization drafts turns into a tracked version.
Proposed wording is generated text; treat it as data.
Requires the read:prompts scope.
GET /v1/brands/{brand_id}/localization/jobsAuthorization
| Header | Type | Required |
|---|---|---|
Authorization | Bearer asky_sk_… | required |
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
brand_id | uuid | required | From List brands |
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | optional | Rows per page, 1 to 100. Defaults to 20 |
cursor | string | optional | Opaque cursor from the previous response. Treat it as a token, never construct one |
job_id | uuid | optional | Restrict to these jobs. Repeatable |
status | string | optional | One of queued, running, retrying, cancelling, ready, failed, cancelled. Repeatable |
prompt_id | uuid | optional | Restrict to jobs whose source is this prompt |
Request
cURL
curl --request GET \
--url 'https://api.askylabs.com/v1/brands/242546de-4cee-4a7d-952e-f6aa60c63ef8/localization/jobs' \
--header 'Authorization: Bearer <api-key>'Response
200
{
"data": {
"jobs": [
{
"id": "e1c2b3a4-5d6e-4f70-8192-a3b4c5d6e7f8",
"status": "ready",
"error": null,
"attempts": 1,
"updated_at": "2026-09-18T07:44:11.357Z",
"prompt_id": "7c2f5a91-3b8e-4d06-9a44-1e7b30c9f852",
"family_id": null,
"country_code": "DE",
"locale_code": "de-DE",
"draft": {
"item_id": "0a1b2c3d-4e5f-4a6b-8c7d-9e8f7a6b5c4d",
"run_id": "f0e1d2c3-b4a5-4968-8776-655443322110",
"version": 2,
"status": "ready",
"country_code": "DE",
"locale_code": "de-DE",
"adaptation": "preserve",
"wording_mode": "translate",
"proposed_text": "Was sind die besten GEO-Tools in den USA?",
"change_summary": "Translated; geography preserved.",
"review_notes": "",
"source_prompt_id": "7c2f5a91-3b8e-4d06-9a44-1e7b30c9f852",
"source_changed": false,
"accepted_prompt_id": null
}
}
],
"count": 1,
"by_status": {
"ready": 1
},
"active": 0,
"ready": 1,
"failed": 0
},
"pagination": {
"limit": 20,
"has_more": false,
"next_cursor": null
},
"request_id": "req_2f7b90c14ae8471da3cd"
}Response fields
| Field | Type | Description |
|---|---|---|
data.jobs[].id | uuid | required |
data.jobs[].status | string | required |
data.jobs[].error | `string \ | null` |
data.jobs[].prompt_id | uuid | required. The source prompt |
data.jobs[].country_code | string | required |
data.jobs[].locale_code | string | required |
data.jobs[].draft | `object \ | null` |
data.by_status | object | required. Count per status |
data.active | integer | required. Jobs still queued, running, retrying or cancelling; poll until 0 |
Errors
| Status | Code | When |
|---|---|---|
| 401 | invalid_token | The key is missing, malformed, or does not exist |
| 403 | insufficient_scope | The key does not carry read:prompts |
| 404 | not_found | The brand does not exist, or this key is not allowed to reach it |
| 429 | rate_limited | Over the per-minute limit for this endpoint |
Last updated on