Reverse an event's awards
Claw back value credited by a completed event’s rules. Recovery is scoped to value still traceable to each original award and still owned by the originally credited participant or group; anything spent, expired, transferred, or currently held is reported as shortfall, never forced. V1 supports only the report shortfall policy. Cumulative reversals are capped at each original award: a request that exceeds the remaining reversible value is rejected with a conflict. State changes (counters, tags, tiers) are reported but never reverted.
COMPLETED event’s rules credited. Recovery targets the lots the original awards created, where that value is still held by the originally credited participant or group; anything already spent, expired, transferred, or currently held is reported as shortfall_amount, never forced. Scrip caps cumulative reversals at each original award, so repeated partial reversals cannot claw back more than was earned.
Omit fraction to reverse all remaining value, or pass a decimal string like "0.5" to reverse that share of every award line. A request that exceeds an award’s remaining reversible value returns 409 Conflict instead of clamping. The response reports each award line’s requested, recovered, and shortfall amounts, lists any of the event’s credit entries that are not reversible (with reasons), and includes the event’s state changes. State changes are never reverted; send a compensating event if your program logic requires it.
Authorizations
API key passed in the X-API-Key header.
Path Parameters
Event ID
Body
Reversal details
Required. The same key replays the original result; a different payload under the same key is rejected.
1 - 255"refund-order-456-1"
Fraction of each original award to reverse, as a decimal string greater than 0 and at most 1. Omit to reverse all remaining value.
"0.5"
Optional context recorded on the reversal and its ledger entries.
500"partial refund"
Shortfall handling policy. V1 supports report only; omitted defaults to report.
report "report"
Response
Duplicate request (idempotency key matched, returns existing record)
"2026-07-20T10:30:00Z"
"550e8400-e29b-41d4-a716-446655440000"
"0.5"
"550e8400-e29b-41d4-a716-446655440000"
"refund-order-456-1"
CREDIT entries of the event this reversal did not process, with reasons
Per original award line accounting
"partial refund"
report "report"
The original event's state changes (counters, tags, attributes, tiers). Reversals never revert state automatically; send a compensating event if your program logic requires it.
"COMPLETED"