Disputes

Create Dispute

Submits a dispute for one or more transactions. Preferred usage: pass the transactionId values returned by List Disputable Transactions in transaction_ids — the server resolves all transaction detail from the core banking system, so no transaction data needs to be echoed back. Full transaction_details bodies remain supported for existing integrations; provide exactly one of the two. Also accepts customer info, the selected parent dispute reason, and questionnaire answers using question_uuid/answer pairs from GetQuestionnaire. Returns a DisputeSummary including the dispute's uuid, shortId, resolutionDeadline, and any initial actions (e.g. issue provisional credit, replace card). The dispute.uuid in the response is required to attach supporting files via UploadFile.

post/v1/disputes

Request body

orgUuidstring
reason'DISPUTE_REASON_UNKNOWN' | 'DISPUTE_REASON_UNAUTH' | 'DISPUTE_REASON_MERCHANT_ISSUE' | 'DISPUTE_REASON_ATM_ISSUE' | 'DISPUTE_REASON_ACH_ISSUE' | 'DISPUTE_REASON_TRANSFER_ISSUE' | 'DISPUTE_REASON_ATM_ISSUE_CASH_NOT_DISPENSED' | 'DISPUTE_REASON_MERCHANT_ISSUE_GOODS_OR_SERVICES_NOT_RECEIVED' | 'DISPUTE_REASON_MERCHANT_ISSUE_GOODS_OR_SERVICES_NOT_AS_DESCRIBED' | 'DISPUTE_REASON_MERCHANT_ISSUE_RETURNED' | 'DISPUTE_REASON_MERCHANT_ISSUE_CANCELED_SUBSCRIPTION' | 'DISPUTE_REASON_MERCHANT_ISSUE_REFUND_NOT_RECEIVED' | 'DISPUTE_REASON_MERCHANT_ISSUE_CHARGED_INCORRECT_AMOUNT' | 'DISPUTE_REASON_MERCHANT_ISSUE_PAID_BY_OTHER_MEANS' | 'DISPUTE_REASON_TRANSFER_ISSUE_NOT_RECEIVED' | 'DISPUTE_REASON_TRANSFER_ISSUE_INCORRECT_RECIPIENT' | 'DISPUTE_REASON_TRANSFER_ISSUE_INCORRECT_AMOUNT' | 'DISPUTE_REASON_TRANSFER_ISSUE_DUPLICATE_CHARGE' | 'DISPUTE_REASON_ATM_ISSUE_PARTIAL_CASH' | 'DISPUTE_REASON_MERCHANT_ISSUE_DUPLICATE_CHARGE' | 'DISPUTE_REASON_ATM_ISSUE_CASH_NOT_DEPOSITED' | 'DISPUTE_REASON_TRANSFER_ISSUE_FAILED_CANCELLATION' | 'DISPUTE_REASON_ACH_ISSUE_REVOKED' | 'DISPUTE_REASON_ACH_ISSUE_GOODS_OR_SERVICES' | 'DISPUTE_REASON_ACH_ISSUE_INCOMPLETE_TRANSACTION' | 'DISPUTE_REASON_ACH_ISSUE_IMPROPER_CHECK_PROCESSED' | 'DISPUTE_REASON_ACH_ISSUE_INCORRECT_AMOUNT' | 'DISPUTE_REASON_ACH_ISSUE_INCORRECT_DATE' | 'DISPUTE_REASON_ACH_ISSUE_DEBITED_MORE_THAN_ONCE' | 'DISPUTE_REASON_ACH_ISSUE_UNPROMPTED_DEBIT' | 'DISPUTE_REASON_ATM_ISSUE_DEPOSIT_NOT_POSTED' | 'DISPUTE_REASON_IN_STORE_CASH_NOT_DEPOSITED' | 'DISPUTE_REASON_CHECK_ISSUE' | 'DISPUTE_REASON_CHECK_ISSUE_FORGED_DRAWER' | 'DISPUTE_REASON_CHECK_ISSUE_ENDORSEMENT_FORGED' | 'DISPUTE_REASON_CHECK_ISSUE_PAYEE_NAME_ALTERED' | 'DISPUTE_REASON_CHECK_ISSUE_NOT_ENDORSED_BY_PAYEE' | 'DISPUTE_REASON_CHECK_ISSUE_ALTERED_AMOUNT' | 'DISPUTE_REASON_CHECK_ISSUE_COUNTERFEIT_CHECK' | 'DISPUTE_REASON_CHECK_ISSUE_UNAUTHORIZED_DRAFT' | 'DISPUTE_REASON_ACH_CREDIT_ISSUE' | 'DISPUTE_REASON_CREDIT_NOT_PROCESSED' | 'DISPUTE_REASON_CANCELLED_TRANSACTION' | 'DISPUTE_REASON_MERCHANDISE_RETURNED'
  • DISPUTE_REASON_MERCHANT_ISSUE: Provisional/parent merchant reason returned by GetDisputeReasons. The specific sub-reason (MERCHANT_ISSUE_*) is resolved server-side from the questionnaire answers at Create time.
  • DISPUTE_REASON_ATM_ISSUE: Provisional/parent ATM reason returned by GetDisputeReasons. The specific sub-reason (ATM_ISSUE_*) is resolved server-side from the questionnaire answers at Create time.
  • DISPUTE_REASON_TRANSFER_ISSUE: Provisional/parent transfer reason returned by GetDisputeReasons. The specific sub-reason (TRANSFER_ISSUE_*) is resolved server-side from the questionnaire answers at Create time.
  • DISPUTE_REASON_ACH_ISSUE_REVOKED: ACH 2.0 canonical sub-reasons. DISPUTE_REASON_ACH_ISSUE remains the unauthorized-debit reason; the values below are its siblings for the other ACH dispute categories. Deprecated internal R-code reasons are normalized to these canonical values before mapping, so integrators only ever see this set.
  • DISPUTE_REASON_CHECK_ISSUE: Provisional/parent check reason. The specific sub-reason (CHECK_ISSUE_*) is resolved server-side from the questionnaire answers at Create time.
  • DISPUTE_REASON_ACH_CREDIT_ISSUE: Dispute about an ACH credit (incoming or outgoing credit entry), as opposed to the ACH_ISSUE_* family, which covers consumer debit disputes.
transactionIdsstring[]

transaction_ids selects the transactions to dispute by id, using the transaction_id values returned by ListDisputableTransactions for the same customer. The server re-resolves each id against the core banking system and builds the transaction detail server-side; ids that do not resolve to a transaction on the customer's account, are already part of an open dispute, or mix payment rails (e.g. ACH with Debit) are rejected. Mutually exclusive with transaction_details.

Response

A successful response.