untranslated → translated → reviewed → approved. Each status change is recorded in version history, and any previous value can be restored with the revert endpoint.
Translations are scoped to a project and a key. Most translation write endpoints identify a single translation via the :projectId and :keyId path parameters; the bulk overwrite endpoint is the exception — it resolves translations by key string supplied in the request body.
Endpoints
Get All Translations for a Language
Returns all translations in a given language for the entire project. Useful for building export workflows or analytics dashboards.Upsert a Translation
Creates the translation if it does not exist, or updates it if it does. ThePUT method is used for idempotent upsert behavior.
source field indicates who produced the value. Valid values are human and ai. When source is ai, you may also include aiConfidence (0–100) to record the confidence score.
Overwrite Translations by Key
Force-overwrite one or more existing translations identified by key + language (rather thankeyId). This is the endpoint behind nt3 overwrite and is designed for tooling and agents that correct wrong translations spotted in local files.
Each overwritten translation is set to status translated with source api. Unknown keys are reported back in notFound — they are not created.
Change Translation Status
Advance or roll back a translation through the workflow without changing the value:untranslated, translated, reviewed, approved.
Revert to Previous Version
Reverts the translation to the most recent previous value:Get Version History
Returns the full change history for a translation, ordered newest first:Key Notes
- The
sourcefield on a translation helps you distinguish human edits (human), AI-generated values (ai), file imports (import), translation-memory fills (tm), and programmatic overwrites (api). - History entries record both
previousValueandnewValue, giving you a full diff of every change. ThechangedByNamefield contains the display name of the user who made the change. - The translations list endpoint (
GET /api/projects/:projectId/translations/:language) supportspageandlimitquery parameters for offset-based pagination.