API · Commerce
Disputes
When a customer disputes a charge, the dispute lifecycle is your chance to keep the funds. Submit evidence, await arbitration, win or lose.
3 endpointsdp_
Endpoints
GET
/v1/disputesList open + recently-resolved disputes.
GET
/v1/disputes/{id}Retrieve a specific dispute.
POST
/v1/disputes/{id}/evidenceSubmit evidence (proof of delivery, communication, refund attempts).
Submitting evidence
| Name | Type | Description |
|---|---|---|
product_description | string | What you sold. |
customer_communication | file_ | Upload a PDF/email transcript via /v1/files first; reference the file_ id here. |
shipping_documentation | file_ | Tracking number, signed delivery confirmation. |
receipt | file_ | Receipt or invoice the customer received. |
service_documentation | file_ | For services: usage logs, session timestamps. |
uncategorized_text | string | Anything else — ≤5000 chars. |
Sample
bashbash
curl -X POST https://api.merashub.com/v1/disputes/dp_01HZ.../evidence \
-H "Authorization: Bearer sk_test_..." \
-d '{
"product_description": "Order #42 — 2× espresso, dine-in",
"receipt": "file_01HZ...",
"uncategorized_text": "Customer collected the order on 2026-05-20 at 14:32 (per CCTV)."
}'⚠
Tight windows
Dispute response windows are scheme-dependent — typically 7-21 days from opening. Missing the window forfeits the dispute automatically. Subscribe to
dispute.created on your webhook and triage immediately.