List & Retrieve Disputes
List & Retrieve Disputes
Both endpoints are scoped to your sales channel: you only ever see disputes on your own charges. Authenticate with your
API key, or with a session plus the x-truemed-sales-channel-id header.
List disputes
GET /api/v1/disputes returns your disputes, newest first.
Filters
All filters are optional query parameters and combine with AND:
Pagination
Offset pagination via page (default 1) and page_size (default 30, max 100). Requesting a page_size above 100
is rejected.
To find a dispute for a specific order, filter by created_gte/created_lte around the order date and match on the
returned fields, or store the dispute_id from the dispute.created webhook when it arrives.
Retrieve a dispute
GET /api/v1/disputes/{dispute_id} returns one dispute by its Truemed UUID. A dispute that isn’t on your sales channel
returns 404.
The detail response includes every list field plus evidence_requirements and the payment summary:
-
evidence_requirements— the recommended evidence for this dispute’sreason, resolved by Truemed and grouped by weight:merchant_explanation— a Markdown narrative on how to contest this reason (may be empty).compelling— the evidence most likely to overturn the dispute, in display order.supporting— additional recommended evidence.other— every remaining category the processor accepts, so nothing is unreachable in your evidence form.
Each category entry carries its
category, displaylabel, helperdescription, and whether it takes freetextand/or afile. See Respond with Evidence. It’s served on the single-dispute shapes — this endpoint and thedispute.*webhook — not on list rows. (For the full per-reason matrix across every reason, useGET /api/v1/disputes/evidence-guidance.) -
payment— a summary of the charge the dispute was filed against, including itsorder_idwhen the dispute maps to a Truemed order.
See Response Payloads for a fully-populated detail and list response.
counters — the full chain of your evidence responses across phases, oldest first (withdrawn drafts excluded; each
carries its state, phase, revision, evidence_items, and submitted_at) — is on both the list and detail shapes.
See Respond with Evidence.
Update metadata
POST /api/v1/disputes/{dispute_id}/metadata replaces the dispute’s metadata object — arbitrary key/values you set for
your own reference. Only metadata is mutable; state, amounts, and deadlines are read-only and change through ingest
and dispute actions, never directly.