Submit a dispute for a card transaction.
The request body structure varies per dispute reason code. All reasons share a common structure with transaction, form, disclaimer, and files objects, but the fields within form and files differ per reason.
For per-reason request body details, see the disputes via API guide.
Dispute reason code supplied by the dispute reasons endpoint.
Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more.
Form fields required to submit this dispute. The specific fields vary per reason code.
See the disputes via API guide for per-reason field details.
Key-value pairs mapping file field names to file IDs obtained from the file upload endpoint. Available file fields vary per reason code.
- Production Environmenthttps://api.wise.com/2026Q3/spend/profiles/{profileId}/dispute-form/flows/{scheme}/{reason}
- Sandbox Environmenthttps://api.wise-sandbox.com/2026Q3/spend/profiles/{profileId}/dispute-form/flows/{scheme}/{reason}
curl -i -X POST \
https://api.wise.com/2026Q3/spend/profiles/14547572/dispute-form/flows/VISA/WRONG_AMOUNT \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-H 'X-External-Correlation-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479' \
-d '{
"transaction": {
"transactionId": "12345",
"email": "support@partner.com"
},
"form": {
"charged": {
"value": 50,
"currency": "EUR"
},
"expected": {
"value": 5,
"currency": "EUR"
},
"agreedDetails": {
"agreed": true,
"agreedReason": "some reason"
},
"goods": "something",
"details": "wrong amount dispute"
},
"disclaimer": {
"allAnswered": true,
"filesUploaded": true
}
}'Dynamic Flow JSON response. If using the Dynamic Flow framework, pass this to the framework. If using the API directly, the response can be ignored.
Echoed back when X-External-Correlation-Id was included in the request. Learn more.
Dynamic Flow JSON object.
{ "key": "final", "type": "form", "title": "Done!", "actions": [ { "title": "Continue", "exit": true, "$id": "continue" } ], "schemas": [], "layout": [ { "width": "md", "components": [ … ], "type": "box" }, { "margin": "lg", "align": "center", "type": "info", "markdown": "Thanks for reporting this transaction. It's pre-authorised right now, but as soon as it becomes \"spent\" we'll begin our investigation." }, { "type": "button", "action": { … } } ] }