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

# Resolve Rebate Exception

`POST /rebate-runs/exceptions/resolve`

Mark one flagged rebate claim as reviewed, with an optional note.

Rebates 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. Re-running a PO stays a manual
dashboard push — there is no retry action for rebates.

## Request body

- ResolveRebateExceptionRequest — Body for marking one flagged rebate claim reviewed from the dashboard.
  - `case_key` string, required
  - `note` string, nullable
  - `po_number` 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/9afc3ea00b16/schema)
