---
title: "Resolve a review (two-part payload — resolution values + optional feedback)"
method: POST
path: "/v1/reviews/{reviewId}/resolve"
tags: ["Apps"]
---

# Resolve a review (two-part payload — resolution values + optional feedback)

`POST /v1/reviews/{reviewId}/resolve`

## Request

- Base URL: `https://api.talonic.com`
- URL: `https://api.talonic.com/v1/reviews/{reviewId}/resolve`
- Auth: HTTP bearer

Resolver policy by kind: approval = human only, raiser ≠ resolver; resolution/judgment = human or operate-granted agent; data_request = any authorized actor.

## Path parameters

- `reviewId` string, uuid, required

## Request body

- object
  - `values` object, required: Must validate against the review input_contract.
  - `feedback` object
    - `proposal_verdict` 'correct' | 'incorrect' | 'partial'
    - `correction` string
    - `generalize` boolean

## Response `200`

The resolved review.

- AppReview: A Human Review — resolves a matter now and captures feedback for the app's future (BR-7).
  - `id` string, uuid
  - `app_id` string, uuid
  - `run_id` string, uuid, nullable
  - `kind` 'resolution' | 'approval' | 'data_request' | 'judgment'
  - `status` 'open' | 'assigned' | 'resolved' | 'expired' | 'cancelled'
  - `question` string
  - `context` object
  - `input_contract` object
  - `raised_by` object
  - `assignee_team_id` string, uuid, nullable
  - `assignee_user_id` string, uuid, nullable
  - `resolution` object, nullable
  - `feedback` object, nullable
  - `expires_at` string, date-time, nullable
  - `resolved_at` string, date-time, nullable

## Other responses

- `403`: The API key does not have the required scope.
- `409`: The request conflicts with the current resource state.
- `422`: The request is well-formed but violates the declared task contract.

---

[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)
