---
title: "Resolve one review candidate with a reviewer note"
method: POST
path: "/v1/campaigns/{campaign_id}/reviews/{attempt_id}/resolve"
---

# Resolve one review candidate with a reviewer note

`POST /v1/campaigns/{campaign_id}/reviews/{attempt_id}/resolve`

## Request

- Base URL: `https://api.skysay.ai`
- URL: `https://api.skysay.ai/v1/campaigns/{campaign_id}/reviews/{attempt_id}/resolve`
- Auth: none declared

Records the resolution (note of at most 2,000 characters, the resolving user or API key, the time) and writes a `campaign.review.resolved` audit event with the campaign, call, workflow run and outcome. Returns the item as the inbox lists it, plus `requeue_requested`, `contact_requeued` and `requeue_refused_reason`.

Send `requeue_contact: true` to put the contact back in the queue when you disagree with the outcome. Resolving dials nobody. The requeue is REFUSED, with `contact_requeued: false` and a `requeue_refused_reason`, when the number is on your do-not-call register or the contact is already marked `do_not_call` (`do_not_call_register`), when the contact has no readable number to check against that register (`contact_phone_unknown`), or when its campaign run can no longer be dispatched (`campaign_run_not_dispatchable`). A refusal is still a successful resolution: the note and the audit event are recorded either way.

A candidate resolved before answers 409; an attempt that is not a review candidate of this campaign answers 404. The tenant is the campaign's own.

## Path parameters

- `campaign_id` string, required
- `attempt_id` string, required

## Request body

- object
  - `note` string
  - `requeue_contact` boolean: Put the contact back in the queue. Refused, and reported as such, when the number is suppressed or its run cannot be dispatched.

## Response `200`

The resolved review item, with `requeue_requested`, `contact_requeued` and `requeue_refused_reason`

## Other responses

- `400`: `requeue_contact` is not a boolean
- `404`: Not a review candidate of this campaign
- `409`: Already resolved

---

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