---
title: "Approve or reject a review record"
method: POST
path: "/v1/review/{id}/action"
tags: ["Review"]
---

# Approve or reject a review record

`POST /v1/review/{id}/action`

## Request

- Base URL: `https://api.talonic.com`
- URL: `https://api.talonic.com/v1/review/{id}/action`
- Auth: HTTP bearer

**App keys.** Admitted by a `spec` grant at `act` covering the
record's `schema_id` — a `read` grant does not reach it. `reviewed_by`
stays `null` for an app decision, because that field names a workspace
user.

`GET /v1/review/stats` and `POST /v1/review/{id}/assign` are NOT
reachable by an app service key under any grant.

## Path parameters

- `id` string, uuid, required

## Request body

- ReviewActionRequest
  - `action` 'approve' | 'reject', required: Decision applied to the record.
  - `reason` string: Optional reviewer note stored on the record.

## Response `200`

Record updated with the new status.

- ReviewRecordItem
  - `id` string, uuid, required
  - `run_id` string, uuid, nullable
  - `document_id` string, uuid, nullable
  - `schema_id` string, uuid, nullable
  - `status` string, required: Review status (e.g. `pending`, `approved`, `rejected`).
  - `overall_confidence` number, float, nullable
  - `assigned_to` string, nullable
  - `reviewed_by` string, nullable
  - `reviewed_at` string, date-time, nullable
  - `created_at` string, date-time
  - `links` object
    - `self` string
    - `action` string

## Other responses

- `400`: The request is invalid.
- `401`: Missing or invalid API key.
- `404`: The requested resource was not found.
- `429`: Daily rate limit exceeded.

---

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