---
title: "Update a translation"
method: PUT
path: "/projects/{project_id}/translations/{translation_id}"
tags: ["Translations"]
---

# Update a translation

`PUT /projects/{project_id}/translations/{translation_id}`

## Request

- Base URL: `https://api.lokalise.com/api2`
- URL: `https://api.lokalise.com/api2/projects/{project_id}/translations/{translation_id}`
- Auth: API key in header `X-Api-Token`

Updates a translation. Alternatively, use the <a href="/reference/bulk-update">Multi-key update</a> endpoint to update translations.

Requires <code>write_translations</code> OAuth access scope.

## Path parameters

- `project_id` string, required
- `translation_id` number, required

## Request body

- object
  - `translation` string, required: The actual translation content. Use an JSON object for plural keys.
  - `is_unverified` boolean: Whether the Unverified flag is enabled.
  - `is_reviewed` boolean: Whether the Reviewed flag is enabled.
  - `custom_translation_status_ids` string[]: Custom translation status IDs to assign to translation (existing statuses will be replaced).

## Response `200`

OK

- object
  - `project_id` string
  - `translation` Translations
    - `translation_id` number: Unique translation identifier.
    - `key_id` number: Identifier of the key of the translation.
    - `language_iso` string: Language code.
    - `modified_at` string: Date and time of last translation modification.
    - `modified_at_timestamp` number: Unix timestamp of last translation modification.
    - `modified_by` number: Identifier of the user, who made last modification.
    - `modified_by_email` string: E-mail of the user, who made last modification.
    - `translation` string: The actual translation content. Pass as an object, in case it includes plural forms and <code>is_plural</code> is <code>true</code>.
    - `is_unverified` boolean: Whether the Unverified flag is enabled.
    - `is_reviewed` boolean: Whether the Reviewed flag is enabled.
    - `reviewed_by` number: Identifier of the user, who has reviewed the translation (if reviewed).
    - `words` number: Number of words in the translation.
    - `custom_translation_statuses` unknown[]: Array consisting of <a href="#object-translation-statuses">Custom Translation Status</a> objects.
      - unknown
    - `task_id` number: Identifier of the task, if the key is a part of one, or <code>null</code> if it's not.
    - `segment_number` number: If segmentation is used then this is a segment number. If not then it defaults to 1.
    - `ai_scoring` object, nullable: AI scoring (LQA) result. Returned only when <code>include_ai_scoring=1</code> is passed. <code>null</code> if no score is stored for the translation; stored scores are removed when the translation or its source text changes.
      - `score` number: Overall score from 0 to 100. Starts at 100 and adds the (negative) <code>penalty</code> of every issue, floored at 0: for example a major (-25) and a minor (-5) issue give 70. Intended as a signal for human review, not as a final quality verdict.
      - `last_updated` string: Date and time the score was last generated.
      - `last_updated_timestamp` number: Unix timestamp of when the score was last generated.
      - `issues` object[]: Detected issues ordered by severity, most severe first.
        - `category` string: Issue category, one of <code>accuracy</code>, <code>fluency</code>, <code>terminology</code>, <code>style</code>, <code>verity</code>, <code>design</code>, <code>locale convention</code>, <code>other</code>.
        - `severity` string: Issue severity, one of <code>critical</code>, <code>major</code>, <code>minor</code>, <code>neutral</code>.
        - `penalty` number: Points subtracted from the score for this issue (<code>-75</code> critical, <code>-25</code> major, <code>-5</code> minor, <code>0</code> neutral).
        - `comment` string: Explanation of the issue.

## Changes

- **2026-11-03** `aed61e5ea90c`: 1 info
  - added the optional property `translation/ai_scoring` to the response with the `200` status

[Operation history](https://skmtc.dev/lokalise/apis/default-projects/changes/projects/:project_id/translations/:translation_id/put.md)

---

[API](https://skmtc.dev/lokalise/apis/default-projects.md) - [All operations](https://skmtc.dev/lokalise/apis/default-projects/llms.txt) - [OpenAPI document](https://skmtc.dev/lokalise/apis/default-projects/revisions/aed61e5ea90c?raw)
