Disputes
Chargebacks: file, evidence, withdraw.
Create a dispute for a transaction
The transaction must have POSTED — an authorization that has not settled cannot be disputed and answers `422`. Only one dispute can be open per transaction at a time; a second answers `409`. Once a dispute reaches a terminal status a new one may be filed on the same transaction.
Get all the disputes for a client
KEYSET paginated: pass `cursor` from the previous page’s `nextCursor` and stop when it is null. No page number and no total — the issuer exposes neither. `client_id` is required: a dispute carries no owner information of its own, so there is no cross-client read to offer.
Get a dispute by its id
Carries two fields the list does not: `hasFileEvidence`, and the cardholder behind the disputed charge. A dispute belonging to another partner answers `404`, exactly as a nonexistent one does — a `403` would confirm the id is real.
Update a dispute’s written evidence
Replaces `textEvidence` in full — this is not an append. Only accepted while the dispute is unresolved: the issuer accepts writes to a resolved dispute and files them nowhere, so this API answers `422` instead of reporting a success that did not happen.
Cancel a dispute
Bodyless. **Withdraws the claim; it does not recover money** — a canceled dispute is one that will not be pursued with the card network. Irreversible, but not a dead end: a new dispute may then be filed on the same transaction.
Get all the attachments for a dispute
Metadata only. Fetch the bytes one at a time from the download route.
Add an attachment to a dispute
ADDITIVE — each call adds one file, up to 20 per dispute; the 21st answers `409`. The service stores nothing: the bytes are relayed to the programme and never written down.
Get a dispute attachment by its id
Returns the file itself, not an envelope. Always served as `application/octet-stream` with `Content-Disposition: attachment`, whatever the file was uploaded as.
Delete a dispute attachment
For taking back a file sent by mistake before the evidence deadline. Deleting an id twice answers `204` then `404`; ids are not reused, so the second call cannot remove a different file.