Reverse a previously-posted transaction
Creates a compensating Transaction row whose delta is the
negation of the original’s, linked via
reverses_transaction_id. Fires TRANSACTION_CREATED so
partner webhooks notice the reversal end-to-end.
Idempotent: reversing the same transaction twice returns the
existing reversal at HTTP 200 (enforced by the unique
constraint on Transaction.reversesTransactionId + a P2002
fallback).
Cannot reverse: • An already-reversed transaction’s reversal (post a new accrue instead). • A transaction in the opposite mode — live keys can’t reverse test rows and vice versa.
Pass either transaction_id (Perkstar’s id) OR
external_transaction_id (your POS-side id). Both forms
resolve to the same underlying row.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Replay-safe request key. Repeated requests with the same value within 24h return the original response unchanged.
255Body
Related topics
List transactionsPost a transaction (stamp / redeem / adjust)Find-or-create customer + post transaction in one callIdempotency and retriesGo-live checklist
