---
title: "Review Approve"
method: POST
path: "/v1/projects/{project_id}/translations/review/approve"
tags: ["translations"]
---

# Review Approve

`POST /v1/projects/{project_id}/translations/review/approve`

## Request

- Base URL: `https://api.sonenta.dev`
- URL: `https://api.sonenta.dev/v1/projects/{project_id}/translations/review/approve`
- Auth: none declared

Bulk-approve proposals (-> status approved). Reviewer+ only; per-item
optimistic lock + result. Clears any prior review comment.

## Path parameters

- `project_id` string, required

## Request body

- ReviewApproveIn
  - `items` ReviewItemIn[], required
    - `key_uuid` string, required
    - `language_uuid` string, required
    - `expected_version` integer, nullable: Optimistic concurrency: reject if the current version differs

## Response `200`

Successful Response

- ReviewActionOut
  - `results` ReviewActionResult[], required
    - `index` integer, required
    - `status` string, required
    - `key_uuid` string, nullable
    - `language_uuid` string, nullable
    - `translation_uuid` string, nullable
    - `version` integer, nullable
    - `error` BulkItemError
      - `code` string, required
      - `message` string, required
  - `summary` BulkSummary, required
    - `total` integer, required
    - `ok` integer, required
    - `errors` integer, required
    - `created` integer
    - `updated` integer
    - `unchanged` integer

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/sonenta/apis/sonenta-api.md) · [All operations](https://skmtc.dev/sonenta/apis/sonenta-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sonenta/apis/sonenta-api/revisions/f853ea49fb05?raw)
