---
title: "Resolve Bid Exception"
method: POST
path: "/bid-runs/exceptions/resolve"
tags: ["operator-runs"]
---

# Resolve Bid Exception

`POST /bid-runs/exceptions/resolve`

Mark one flagged bid case as reviewed, with an optional note.

Bids have no producer-side ledger row per case, so the resolution lands in
operator_case_resolutions keyed by (org, workflow, case_key). The exceptions
reader suppresses a resolved case while its latest occurrence predates the
resolution; a NEWER run's failure resurfaces.

## Request body

- ResolveBidExceptionRequest — Body for marking one flagged bid case reviewed from the dashboard.
  - `case_key` string, required
  - `note` string, nullable
  - `opportunity_id` string, nullable
  - `kind` string, nullable
  - `reason` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `404` — Not found
- `422` — Validation Error

---

[API](https://skmtc.dev/noso/apis/crucible-backend-api.md) · [All operations](https://skmtc.dev/noso/apis/crucible-backend-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/noso/crucible-backend-api/revisions/112efbdea3eb/schema)
