Een vertaling annuleren
Stops within one task. Work already completed is charged (credits_charged in the response, because translation that ran has a real cost); the rest of the reservation is released. The batch lands in cancelled, a terminal status of its own since 2026-09-02. It used to be reported as failed carrying error.code: "cancelled", so any count of failures silently included deliberate stops; a cancelled batch now returns no error object at all.
POST/v1/batches/{batch_id}/cancel
Vereist batches:write. De vertaling wordt binnen één taak gestopt, dus niet onmiddellijk: een taak die al bezig is, wordt afgemaakt in plaats van halverwege afgebroken.
Wat er in rekening wordt gebracht
Al uitgevoerd werk wordt in rekening gebracht. In het antwoord staat hoeveel in credits_charged. Het ongebruikte deel van de reservering wordt weer aan het saldo toegevoegd.
Dit is niet zozeer een terugbetalingsbeleid als wel een boekhoudkundig gegeven: voor de vertaling die al is uitgevoerd, is modelcapaciteit gebruikt. Hoe eerder je annuleert, hoe minder het kost; annuleer je bijna aan het einde, dan betaal je vrijwel het volledige bedrag.
Status van de vertaling
De batch krijgt de status cancelled. Dit is een eigen eindstatus en geen vorm van mislukking. Ook error.code krijgt de waarde "cancelled", zodat een aanroeper die alleen de fout uitleest toch weet waarom de taak is gestopt.
Dit onderscheid is belangrijk wanneer je de status opvraagt. cancelled betekent dat er niets mis is gegaan: iemand heeft het werk bewust gestopt. failed betekent dat de vertaling niet kon worden voltooid; error.code geeft aan wat er misging. Beide zijn eindstatussen, dus stop met opvragen. Alleen bij failed is opnieuw proberen of een melding versturen zinvol.
Wat de vertaling al heeft opgeleverd, kan niet worden gedownload. Een gedeeltelijk resultaat is geen vertaald bestand; zo’n resultaat aanbieden zou slechter zijn dan helemaal niets teruggeven.
Antwoord
Cancel a running translation
dataobjectrequiredrequest_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, 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