Check reversal eligibility for a transaction
Returns available reversal operations for a specific payment transaction, including terminal-specific options and NMI fallback paths. For terminal (card-present) transactions, pass `customer_present=true` to see terminal-native operations. --- **Related endpoints** - `GET /credit_notes` — List credit notes - `POST /credit_notes` — Create a credit note - `GET /credit_notes/{id}` — Get credit note by ID - `POST /credit_notes/{id}/void` — Void a credit note - `GET /credit_notes/invoice/{invoice_id}/eligibility` — Check credit note eligibility for an invoice - `GET /credit_notes/{id}/lines` — List line items on a credit note - `POST /credit_notes/preview` — Preview a credit note without creating it **Common errors** - `401 authentication_error` — missing, invalid, expired, or revoked credential. Codes: `authentication_failed`, `invalid_api_key`, `expired_api_key`, `api_key_revoked`, `session_invalid`, `merchant_required`. Carries a `WWW-Authenticate: Bearer` challenge. - `404 resource_missing` — the referenced resource does not exist or is not visible to your key.
Returns available reversal operations for a specific payment transaction, including terminal-specific options and NMI fallback paths. For terminal (card-present) transactions, pass customer_present=true to see terminal-native operations.
Related endpoints
GET /credit_notes— List credit notesPOST /credit_notes— Create a credit noteGET /credit_notes/{id}— Get credit note by IDPOST /credit_notes/{id}/void— Void a credit noteGET /credit_notes/invoice/{invoice_id}/eligibility— Check credit note eligibility for an invoiceGET /credit_notes/{id}/lines— List line items on a credit notePOST /credit_notes/preview— Preview a credit note without creating it
Common errors
401 authentication_error— missing, invalid, expired, or revoked credential. Codes:authentication_failed,invalid_api_key,expired_api_key,api_key_revoked,session_invalid,merchant_required. Carries aWWW-Authenticate: Bearerchallenge.404 resource_missing— the referenced resource does not exist or is not visible to your key.
Your RevKeen merchant API key. Create and manage keys in Dashboard → Settings → Developer. Use rk_sandbox_* for staging/test and rk_live_* for production. The same key may be sent as Authorization: Bearer <key> if that suits your HTTP client better. A missing, invalid, expired, or revoked key returns 401 with a WWW-Authenticate: Bearer challenge; a valid key without the required scope returns 403.
In: header
Path Parameters
Transaction UUID
uuidQuery Parameters
Whether the customer is physically present at the terminal. Enables terminal-native reversal operations.
falseResponse Body
application/json
application/json
application/json
application/json
curl "https://api.revkeen.com/v2/credit_notes/transaction/00000000-0000-0000-0000-000000000000/reversal-eligibility" \
-H "x-api-key: $REVKEEN_API_KEY"{ "data": { "can_reverse": true, "transaction_id": "0fec1e58-b197-4052-99cf-2218496c5482", "gateway": "string", "payment_method": "string", "available_operations": [ "string" ], "constraints": { "max_amount": 0, "partial_supported": true, "requires_card_present": true, "requires_terminal_online": true, "requires_customer_iban": true, "reason": "string" }, "card_brand": "string", "card_last4": "string", "terminal_serial": "string", "terminal_uti": "string" }}Preview a credit note without creating it POST
Compute what a credit note would look like against a specific invoice without persisting anything. Use this to validate amounts and show a "here's what will happen" UI before the merchant commits. No side effects — no DB writes, no events emitted, no refunds initiated. Mirrors Stripe's `POST /v1/credit_notes/preview`. --- **Related endpoints** - `GET /credit_notes` — List credit notes - `POST /credit_notes` — Create a credit note - `GET /credit_notes/{id}` — Get credit note by ID - `POST /credit_notes/{id}/void` — Void a credit note - `GET /credit_notes/invoice/{invoice_id}/eligibility` — Check credit note eligibility for an invoice - `GET /credit_notes/transaction/{transaction_id}/reversal-eligibility` — Check reversal eligibility for a transaction - `GET /credit_notes/{id}/lines` — List line items on a credit note **Common errors** - `400 invalid_request` — malformed payload or failed validation. - `401 authentication_error` — missing, invalid, expired, or revoked credential. Codes: `authentication_failed`, `invalid_api_key`, `expired_api_key`, `api_key_revoked`, `session_invalid`, `merchant_required`. Carries a `WWW-Authenticate: Bearer` challenge. - `404 resource_missing` — the referenced resource does not exist or is not visible to your key. **Idempotency** Pass an `Idempotency-Key` header (UUID v4 recommended) to make retries safe. Keys are valid for 24 hours; see [the idempotency guide](/docs/fundamentals/idempotency).
Void a credit note POST
Void a credit note that has been issued but not yet fully applied. This is an accounting void — it reverses the credit without creating a new financial transaction. --- **Related endpoints** - `GET /credit_notes` — List credit notes - `POST /credit_notes` — Create a credit note - `GET /credit_notes/{id}` — Get credit note by ID - `GET /credit_notes/invoice/{invoice_id}/eligibility` — Check credit note eligibility for an invoice - `GET /credit_notes/transaction/{transaction_id}/reversal-eligibility` — Check reversal eligibility for a transaction - `GET /credit_notes/{id}/lines` — List line items on a credit note - `POST /credit_notes/preview` — Preview a credit note without creating it **Common errors** - `400 invalid_request` — malformed payload or failed validation. - `401 authentication_error` — missing, invalid, expired, or revoked credential. Codes: `authentication_failed`, `invalid_api_key`, `expired_api_key`, `api_key_revoked`, `session_invalid`, `merchant_required`. Carries a `WWW-Authenticate: Bearer` challenge. - `404 resource_missing` — the referenced resource does not exist or is not visible to your key. **Idempotency** Pass an `Idempotency-Key` header (UUID v4 recommended) to make retries safe. Keys are valid for 24 hours; see [the idempotency guide](/docs/fundamentals/idempotency).