API reference
Disputes
Status and timeline of disputes on your payments. Never their content.
GET/api/v1/disputes
Disputes on payments bound to your intents, most recently opened first. Filter with stage; paginate with limit and starting_after.
curl "https://indeficient.com/api/v1/disputes?stage=awaiting_response" \
-H "Authorization: Bearer $PP_API_KEY"GET/api/v1/disputes/{payment}
The dispute on one payment. A payment that was never disputed is 404.
Response
{
"object": "dispute",
"id": "6VoCXSvs49gnzC6ULszzsfuZdjxRv9wu8LvdmFLcY2Ac",
"payment": "6VoCXSvs49gnzC6ULszzsfuZdjxRv9wu8LvdmFLcY2Ac",
"intent": "pi_test_k3v7q2mz5hxa4wde6rtn2bpy",
"paymentRole": "primary",
"merchantReference": "order_1042",
"stage": "awaiting_review",
"recipientResponded": true,
"reviewStarted": false,
"outcome": null,
"resolutionPath": null,
"openedAt": "2026-10-12T09:41:20.000Z",
"resolvedAt": null,
"disputeSignature": "3wBmX9kqT7nVcR2hYpL5sJ8dF4gZ6aE1uQoW3iKxNbMtC7vP9yHrGjS2fDeA5LkUzXq8nRwT4mYbV6cJpHsF1aG",
"resolutionSignature": null,
"protectionDeadline": "2026-10-17T14:05:37.000Z",
"caseUrl": "https://indeficient.com/payments/6VoCXSvs49gnzC6ULszzsfuZdjxRv9wu8LvdmFLcY2Ac#case"
}caseUrl is where the parties act. Opening it grants nothing: the case page checks the visitor’s wallet against the payment’s roles. See Disputes for stages and what is never shared.