рдХрд┐рд╕реА рд╕реНрдХреАрдорд╛ рдХреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХрд╛ рд▓рдХреНрд╖рд┐рдд рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдЕрдиреБрд╡рд╛рдж рд╢реБрд░реВ рдХрд░реЗрдВред
рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдХрдВрдкреЛрдиреЗрдВрдЯ рд╕реНрдХреАрдорд╛ рд╕реЗ рд╕рднреА рдкреНрд░рдХрд╛рд╢рд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХрд╛ рд▓рдХреНрд╖рд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рдореВрд╣ рдореЗрдВ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдЕрдиреБрд╡рд╛рдж рдХрддрд╛рд░рдмрджреНрдз рдХрд░реЗрдВред рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд╡рд╛рдж рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рдкрд░рд┐рдгрд╛рдо translations рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЕрдкрд╕рд░реНрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдПрдВрдбрдкреЙрдЗрдВрдЯ: POST /translation
рдкреНрд░рдорд╛рдгреАрдХрд░рдг: Bearer JWT (WorkOS)
{
"websiteId": "<uuid>",
"schemaNames": ["post", "hero"],
"languages": ["fr", "es", "de"]
}
| рдлрд╝реАрд▓реНрдб | рдкреНрд░рдХрд╛рд░ | рдЖрд╡рд╢реНрдпрдХ | рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ |
|---|---|---|---|
websiteId | uuid | рд╣рд╛рдБ | рд╕реНрд░реЛрдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рд╡рд╛рд▓реА рд╡реЗрдмрд╕рд╛рдЗрдЯред |
schemaNames | string[] | рд╣рд╛рдБ* | рдЕрдиреБрд╡рд╛рдж рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдкреЛрдиреЗрдВрдЯ рд╕реНрдХреАрдорд╛ред рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдирд╛рдо рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред |
schemaName | string | рд╣рд╛рдБ* | рдПрдХрд▓ рд╕реНрдХреАрдорд╛ рд╕рдмрдорд┐рдЯ рдХрд░рдиреЗ рдХрд╛ рдкреБрд░рд╛рдирд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХрд╛ред |
languages | string[] | рд╣рд╛рдБ | рд╕рдорд░реНрдерд┐рдд рд▓рдХреНрд╖рд┐рдд рднрд╛рд╖рд╛ рдХреЛрдбред рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛрдб рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред |
* schemaNames рдпрд╛ schemaName рдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ рдкреНрд░рджрд╛рди рдХрд░реЗрдВред
рдХреЗрд╡рд▓ рд╡реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рдкреНрд░рдХрд╛рд╢рд┐рдд рд╕рд╛рдордЧреНрд░реА null рдирд╣реАрдВ рд╣реИред
{
"job_id": "<uuid>",
"website_id": "<uuid>",
"schema_name": null,
"schema_names": ["post", "hero"],
"languages": ["fr", "es", "de"],
"status": "queued",
"documents_processed": 12,
"translations_scheduled": 30,
"translations_skipped": 6,
"translations_completed": 0,
"translations_failed": 0,
"reused": false,
"created_at": "2026-07-15T18:00:00Z",
"updated_at": "2026-07-15T18:00:00Z"
}
рд▓реМрдЯрд╛рддрд╛ рд╣реИ:
202 Accepted рдЬрдм рдЕрдиреБрд╡рд╛рдж рдХрддрд╛рд░рдмрджреНрдз рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ200 OK рдЬрдм рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд╡рд╛рдж рдкрд╣рд▓реЗ рд╕реЗ рдЕрджреНрдпрддрди рд╣реЛ| рдлрд╝реАрд▓реНрдб | рд╡рд┐рд╡рд░рдг |
|---|---|
job_id | рдЬреЙрдм рдХреА рдкреНрд░рдЧрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ред |
status | рдЬреЙрдм рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ред |
documents_processed | рдорд┐рд▓реЗ рдпреЛрдЧреНрдп рд╕реНрд░реЛрдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред |
translations_scheduled | рдХрддрд╛рд░рдмрджреНрдз рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝-рднрд╛рд╖рд╛ рдпреБрдЧреНрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред |
translations_skipped | рд╕реНрд░реЛрдд рд╣реИрд╢ рд╡рд░реНрддрдорд╛рди рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЫреЛрдбрд╝реЗ рдЧрдП рдпреБрдЧреНрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред |
translations_completed | рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдП рдЧрдП рдпреБрдЧреНрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред |
translations_failed | рд╡рд┐рдлрд▓ рд╣реБрдП рдпреБрдЧреНрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред |
reused | рдХреНрдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рд╕рдХреНрд░рд┐рдп рдЬреЙрдм рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред |
рд╕рдВрднрд╛рд╡рд┐рдд рдЬреЙрдм рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реИрдВ:
preparingqueuedrunningcompletedcompleted_with_errorsfailedрдкреНрд░рддреНрдпреЗрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝-рднрд╛рд╖рд╛ рдпреБрдЧреНрдо рд╕реНрд░реЛрдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рдкреНрд░рдХрд╛рд╢рд┐рдд рд╕рд╛рдордЧреНрд░реА рдХрд╛ SHA-256 рд╣реИрд╢ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
рдЬрдм рд╕рдВрдЧреНрд░рд╣реАрдд рд╕реНрд░реЛрдд рд╣реИрд╢ рд╡рд░реНрддрдорд╛рди рдкреНрд░рдХрд╛рд╢рд┐рдд рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдиреБрд╡рд╛рдж рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдмрджрд▓реА рди рдЧрдИ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рджреЛрдмрд╛рд░рд╛ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдП рдмрд┐рдирд╛ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рдХреЛрдИ рд╕рдорддреБрд▓реНрдп рдЬреЙрдм рд╕рдХреНрд░рд┐рдп рд░рд╣рддреЗ рд╣реБрдП рдкреНрд░рдХрд╛рд╢рд┐рдд рд╕рд╛рдордЧреНрд░реА рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рддреЛ рд╕реЗрд╡рд╛ рдирдП рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджреЗрддреА рд╣реИред рд╕рдХреНрд░рд┐рдп рдЬреЙрдм рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВред
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рдж рдЕрдиреБрд╡рд╛рдж рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред
completed_with_errors рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИредcurl -X POST '{TRANSLATION_API_URL}/translation' \
-H 'Authorization: Bearer <workos-jwt>' \
-H 'Content-Type: application/json' \
-d '{
"websiteId": "<uuid>",
"schemaNames": ["post", "hero"],
"languages": ["fr", "es"]
}'
400 Bad Request тАФ рд╕реНрдХреАрдорд╛ рдпрд╛ рднрд╛рд╖рд╛рдПрдБ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИрдВ, рдХреЛрдИ рднрд╛рд╖рд╛ рдЕрд╕рдорд░реНрдерд┐рдд рд╣реИ, рдпрд╛ рдмреИрдЪ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЧрдИ рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ401 Unauthorized тАФ bearer token рдЕрдиреБрдкрд╕реНрдерд┐рдд рдпрд╛ рдЕрдорд╛рдиреНрдп рд╣реИ409 Conflict тАФ рдорд┐рд▓рддреЗ-рдЬреБрд▓рддреЗ рдХрд╛рд░реНрдп рд╕рдХреНрд░рд┐рдп рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рдХрд╛рд╢рд┐рдд рд╕реНрд░реЛрдд рд╕рд╛рдордЧреНрд░реА рдмрджрд▓ рдЧрдИ рд╣реИ500 Internal Server Error тАФ рд╕реНрд░реЛрдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рддреИрдпрд╛рд░ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХреЗ рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдкрд░реЗрд╢рди рд╡рд┐рдлрд▓ рд╣реБрдЖрдЕрдиреБрд╡рд╛рдж рдЬреЙрдм рдХреА рдирд╡реАрдирддрдо рдкреНрд░рдЧрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
рдПрдВрдбрдкреЙрдЗрдВрдЯ: GET /translation-jobs/{job_id}
рдкреНрд░рдорд╛рдгреАрдХрд░рдг: Bearer JWT (WorkOS)
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ POST /translation рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдИ рдЧрдИ рд╡рд╣реА рдЬреЙрдм рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрджреНрдпрддрди рд╕реНрдерд┐рддрд┐ рдФрд░ рдкреНрд░рдЧрддрд┐ рдЧрдгрдирд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВред
{
"job_id": "<uuid>",
"website_id": "<uuid>",
"schema_name": null,
"schema_names": ["post", "hero"],
"languages": ["fr", "es"],
"status": "running",
"documents_processed": 12,
"translations_scheduled": 24,
"translations_skipped": 0,
"translations_completed": 16,
"translations_failed": 1,
"reused": false,
"created_at": "2026-07-15T18:00:00Z",
"updated_at": "2026-07-15T18:01:30Z"
}
curl '{TRANSLATION_API_URL}/translation-jobs/<job-id>' \
-H 'Authorization: Bearer <workos-jwt>'
401 Unauthorized тАФ bearer token рдЕрдиреБрдкрд╕реНрдерд┐рдд рдпрд╛ рдЕрдорд╛рдиреНрдп рд╣реИ404 Not Found тАФ рдЬреЙрдм рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдпрд╛ рдЕрдм рд╕реБрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИрдЕрдиреБрд╡рд╛рдж рдЬреЙрдм рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореЗрдореЛрд░реА рдореЗрдВ рд░рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдЕрдиреБрд╡рд╛рдж рд╕реЗрд╡рд╛ рдХреЗ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдкрд░ рдЬреЙрдм рдХреА рд╕реНрдерд┐рддрд┐ рдЦреЛ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдмрд╣реБ-рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рд╕реНрдЯрд┐рдХреА рд░реВрдЯрд┐рдВрдЧ рдЖрд╡рд╢реНрдпрдХ рд╣реИред