Skip to main content

Dispute events (dispute.*)

Contestations opened by the debtor (or logged by the operator). Opening a dispute pauses the collection rule of the charge immediately. In all events, data is the full dispute.

type values: already_paid · not_recognized · wrong_amount · service_not_provided · incorrect_invoice · wrong_recipient · other. status values: open · under_review · resolved_valid · resolved_invalid · canceled. resolutionEffect values: resume_rule · adjust_amount · cancel_charge · write_off.

dispute.created

Fires when the contestation is opened (a charge can only have one open dispute at a time).

{
"event": "dispute.created",
"timestamp": "2026-07-23T12:00:00.000Z",
"organizationId": "0f7a3c1e-2b4d-4e6f-8a9b-1c2d3e4f5a6b",
"data": {
"id": "2c4e6a8b-1d3f-4a5c-8e7f-9b1d3f5a7c9e",
"publicId": "e5f6a7b8-c9d0-4e1f-2a3b-4c5d6e7f8091",
"organizationId": "0f7a3c1e-2b4d-4e6f-8a9b-1c2d3e4f5a6b",
"workspaceId": null,
"companyId": null,
"businessUnitId": null,
"chargeId": "4a2b6c8d-1e3f-4a5b-9c7d-2e4f6a8b0c1d",
"personId": "7c1e9f2a-3b4d-4c5e-8f6a-1b2c3d4e5f60",
"type": "wrong_amount",
"reason": "Valor divergente da proposta comercial",
"disputedAmount": "350.00",
"isFullDispute": false,
"documents": null,
"status": "open",
"assignedToId": null,
"slaDueAt": "2026-07-30T12:00:00.000Z",
"resolution": null,
"resolutionEffect": null,
"resolvedById": null,
"openedAt": "2026-07-23T12:00:00.000Z",
"resolvedAt": null,
"deletedAt": null,
"customMetadata": null,
"metadata": {},
"externalId": null,
"createdAt": "2026-07-23T12:00:00.000Z",
"updatedAt": "2026-07-23T12:00:00.000Z"
}
}

dispute.updated

Fires when the dispute goes under review (status: "under_review", optionally with assignedToId). Same shape as dispute.created.

dispute.resolved

Fires on the decision. Same shape, with status resolved_valid (upheld) or resolved_invalid (dismissed), and resolution (text), resolutionEffect, resolvedById and resolvedAt filled in. The effect (resume the rule, adjust the amount, cancel the charge, write off) has already been applied by the time the event arrives.

dispute.cancelled

Fires when the dispute is cancelled. Same shape, with status: "canceled", and resolution (reason) and resolvedAt filled in.