---
title: "Get Audit Overturns"
method: GET
path: "/audits/overturns"
tags: ["audits"]
---

# Get Audit Overturns

`GET /audits/overturns`

## Request

- Base URL: `https://api.verdun.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.verdun.ai/audits/overturns`
- Auth: HTTP bearer

Every overturned call in one list for a lead to review, with per-status counts.

## Query parameters

- `status` 'pending' | 'confirmed' | 'rejected' | 'disputed' | 'reversed' | 'all': Lens over overturned calls. pending = awaiting lead review; confirmed = confirmed and not disputed/reversed; disputed / reversed = dispute state.
- `days` integer: Audits created in the past N days, 1 to 365.
- `operator_id` string, uuid, nullable: Only calls this operator decided.
- `auditor_id` string, uuid, nullable: Only audits this person made.
- `decider` 'operator' | 'agent' | 'all': operator = overturns of a human operator's call; agent = overturns of the AI agent's close.
- `limit` integer
- `offset` integer

## Response `200`

Successful Response

- AuditOverturnsResponse
  - `items` CallAuditListItem[], required: One page of overturned calls: pending first (oldest first), then newest activity.
    - `event_id` string, uuid, required: The audited alarm.
    - `evaluation_id` string, uuid, nullable: The audited evaluation; null once that evaluation or its deciding account is deleted.
    - `operator_id` string, uuid, nullable: The decider; null once that account is deleted, and always null when the decider is the AI agent.
    - `operator_name` string, required: Snapshot of the decider's name; "Verdun Agent" when the decider is the AI agent.
    - `decision` string, required: The decider's OperatorDisposition MEMBER NAME at audit time.
    - `verdict` 'upheld' | 'overturned', required: The lead's ruling on the original decision.
    - `correct_disposition` string, nullable: Overturned only: the disposition it should have been (member name).
    - `reason` string, nullable: Overturned only: the auditor's reason.
    - `auditor_id` string, uuid, nullable: The auditing lead; null once that account is deleted.
    - `auditor_name` string, required: Snapshot of the auditing lead's name.
    - `ad_hoc` boolean, required: True when the call was neither sampled nor rushed: a lead picked it themselves.
    - `created_at` string, date-time, required: When the audit was made.
    - `decider_is_agent` boolean: True when the audited decision was the AI agent's close (not a human operator's). Nobody loses points on such an audit and nobody can dispute it.
    - `points` integer, required: -1000 (SCORE_OVERTURN) charged to the decider while an overturn is active (confirmed, not reversed on dispute), else 0. Always 0 when the decider is the AI agent.
    - `catch_points` integer: Credited to a PEER auditor while their overturn is active, else 0 (a lead's overturn earns no catch): +1000 (SCORE_CATCH) for a human decider, +250 (SCORE_AGENT_CATCH) when the decider is the AI agent, 0 when `auto_confirmed`.
    - `auto_confirmed` boolean: A peer's overturn of an AI agent false alarm (Non-threatening -> False alarm): confirmed at once with no lead review (reviewed_by_id null) and worth 0 points. Only agent misses go to a lead and earn the agent catch.
    - `dispute` CallAuditDisputeOut
      - `note` string, required: The decider's dispute note.
      - `at` string, date-time, required: When the dispute was filed.
      - `status` 'pending' | 'reversed' | 'stands', required: pending until a different lead rules.
      - `ruled_by_id` string, uuid, nullable: The ruling lead; null while pending or once that account is deleted.
      - `ruled_by_name` string, nullable: Snapshot of the ruling lead's name.
      - `ruled_at` string, date-time, nullable: When the ruling was made.
    - `auditor_is_lead` boolean: Snapshot: the auditor was an owner or monitoring manager when they ruled (false = a peer operator).
    - `review_status` 'pending' | 'confirmed' | 'rejected', nullable: Overturned only (null on an upheld audit). A lead's overturn is confirmed at once; a peer's is pending until a lead confirms or rejects it. Only a confirmed overturn costs points.
    - `reviewed_by_id` string, uuid, nullable: The lead who confirmed or rejected the overturn (the auditor, for a lead's own); null while pending or once that account is deleted.
    - `reviewed_by_name` string, nullable: Snapshot of the reviewing lead's name.
    - `reviewed_at` string, date-time, nullable: When the overturn was confirmed or rejected.
    - `review_note` string, nullable: The reviewing lead's optional note.
    - `superseded_peer_audit` CallAuditRecord
      - `event_id` string, uuid, required: The audited alarm.
      - `evaluation_id` string, uuid, nullable: The audited evaluation; null once that evaluation or its deciding account is deleted.
      - `operator_id` string, uuid, nullable: The decider; null once that account is deleted, and always null when the decider is the AI agent.
      - `operator_name` string, required: Snapshot of the decider's name; "Verdun Agent" when the decider is the AI agent.
      - `decision` string, required: The decider's OperatorDisposition MEMBER NAME at audit time.
      - `verdict` 'upheld' | 'overturned', required: The lead's ruling on the original decision.
      - `correct_disposition` string, nullable: Overturned only: the disposition it should have been (member name).
      - `reason` string, nullable: Overturned only: the auditor's reason.
      - `auditor_id` string, uuid, nullable: The auditing lead; null once that account is deleted.
      - `auditor_name` string, required: Snapshot of the auditing lead's name.
      - `ad_hoc` boolean, required: True when the call was neither sampled nor rushed: a lead picked it themselves.
      - `created_at` string, date-time, required: When the audit was made.
      - `decider_is_agent` boolean: True when the audited decision was the AI agent's close (not a human operator's). Nobody loses points on such an audit and nobody can dispute it.
      - `points` integer, required: -1000 (SCORE_OVERTURN) charged to the decider while an overturn is active (confirmed, not reversed on dispute), else 0. Always 0 when the decider is the AI agent.
      - `catch_points` integer: Credited to a PEER auditor while their overturn is active, else 0 (a lead's overturn earns no catch): +1000 (SCORE_CATCH) for a human decider, +250 (SCORE_AGENT_CATCH) when the decider is the AI agent, 0 when `auto_confirmed`.
      - `auto_confirmed` boolean: A peer's overturn of an AI agent false alarm (Non-threatening -> False alarm): confirmed at once with no lead review (reviewed_by_id null) and worth 0 points. Only agent misses go to a lead and earn the agent catch.
      - `dispute` CallAuditDisputeOut
        - `note` string, required: The decider's dispute note.
        - `at` string, date-time, required: When the dispute was filed.
        - `status` 'pending' | 'reversed' | 'stands', required: pending until a different lead rules.
        - `ruled_by_id` string, uuid, nullable: The ruling lead; null while pending or once that account is deleted.
        - `ruled_by_name` string, nullable: Snapshot of the ruling lead's name.
        - `ruled_at` string, date-time, nullable: When the ruling was made.
      - `auditor_is_lead` boolean: Snapshot: the auditor was an owner or monitoring manager when they ruled (false = a peer operator).
      - `review_status` 'pending' | 'confirmed' | 'rejected', nullable: Overturned only (null on an upheld audit). A lead's overturn is confirmed at once; a peer's is pending until a lead confirms or rejects it. Only a confirmed overturn costs points.
      - `reviewed_by_id` string, uuid, nullable: The lead who confirmed or rejected the overturn (the auditor, for a lead's own); null while pending or once that account is deleted.
      - `reviewed_by_name` string, nullable: Snapshot of the reviewing lead's name.
      - `reviewed_at` string, date-time, nullable: When the overturn was confirmed or rejected.
      - `review_note` string, nullable: The reviewing lead's optional note.
    - `site_name` string, nullable: Site of the audited alarm.
    - `camera_name` string, nullable: Camera label of the audited alarm.
  - `total` integer, required: Rows matching the status lens and filters.
  - `counts` AuditOverturnCounts, required
    - `pending` integer, required: Peer overturns awaiting lead review.
    - `confirmed` integer, required: Confirmed and neither disputed nor reversed.
    - `rejected` integer, required: Rejected by a lead (no points).
    - `disputed` integer, required: Dispute awaiting a ruling.
    - `reversed` integer, required: Dispute reversed the overturn (no points).
  - `decider_counts` AuditOverturnDeciderCounts, required
    - `operator` integer, required: Overturns of a human operator's call.
    - `agent` integer, required: Overturns of the AI agent's close.

## Other responses

- `422`: Validation Error

---

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