---
title: "Delete Call Review"
method: DELETE
path: "/api/v1/voice-calls/{voice_call_id}/review"
tags: ["call-reviews"]
---

# Delete Call Review

`DELETE /api/v1/voice-calls/{voice_call_id}/review`

Delete the current user's review (+ its annotations + its findings).

Sequence (single transaction, auto-committed by ``managed_session``):

1. Truncate the review's annotations so ``sync_review_to_findings``
   runs its "cart stays empty" branch — soft-dismisses every finding
   this review ever produced. The review row must still exist at
   this point because the sync function filters findings by
   ``raw_payload.voice_call_review_id == review.id``.
2. Delete the review row (FK cascade drops the now-empty annotation
   set) and reconcile call-level outcome: re-project from the most
   recently updated *remaining* review, or revert to unreviewed if
   none.
3. ``managed_session`` commits on success / rolls back on exception.

Soft-dismissed findings (never hard-deleted) preserve the audit
trail for V0.6's rationale attribution.

## Path parameters

- `voice_call_id` string, uuid, required

## Response `204`

Successful Response

## Other responses

- `401` — Not authenticated (missing user or tenant context)
- `404` — No review exists for this call in the tenant
- `422` — Validation error: invalid path UUID, request body, or review validation (e.g. outcome taxonomy, message_id)
- `500` — Server error (e.g. finding-sync or delete failed)

---

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