Qualpay Disputes v1.0 API
API to allow automation of dispute reporting and responses.
API to allow automation of dispute reporting and responses.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/qualpay:qualpay-disputes-v1-0-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: APIs Disputes v1.0 API
description: This document describes the Platform and PG API.
contact:
name: Qualpay
license:
name: Apache
url: http://apache.org
version: 2.1.3
servers:
- url: https://api-test.qualpay.com
description: Sandbox Platform API
- url: https://api.qualpay.com
description: Production Platform API
tags:
- name: Disputes v1.0
description: API to allow automation of dispute reporting and responses.
paths:
/platform/dispute/browse:
get:
tags:
- Disputes v1.0
summary: Get Disputes
description: 'Gets dispute details associated with one vendor or node. By default, this returns anything with a status change date of the previous day or same day as the request. Use filters to specify a different time period or type of data. If you do not include a filter on the ''incoming_date'', the results will be limited to disputes from the last 90 days.
Note: The Dispute Management API resource is not enabled by default; contact Qualpay Support for permissions.'
operationId: getDisputes
parameters:
- name: count
in: query
description: The number of records displayed in the result.
schema:
maximum: 100
minimum: 1
type: integer
format: int32
default: 10
- name: order_on
in: query
description: The field that should be used to sort the results. Refer to the response model for available fields.
schema:
type: string
default: incoming_date
- name: order_by
in: query
description: How the system should use the `order_on` value to sort the result. Specify `asc` (ascending sort order) or `desc` (descending sort order).
schema:
type: string
enum:
- asc
- desc
default: desc
- name: page
in: query
description: Zero-based page number. When there are more results than the `count` parameter, use this to select the page to display.
schema:
type: integer
format: int32
default: 0
- name: filter
in: query
description: Results can be filtered by custom criteria. Refer to <a href="/docs/about-our-api#filters" target="_blank">Filters</a> to use the `filter` parameter.
schema:
type: array
items:
type: string
description: Filter criteria in the format of field_name,conditional,value.
example:
- incoming_date,PAST_DATE,90,DAYS
- status,IS,N
style: form
explode: true
- name: response_options
in: query
description: A flag to include response options in the response. This is used for determining what actions you may take using the Dispute Action endpoint.
required: false
schema:
type: boolean
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DisputeDetail'
'400':
description: Request Validation Failed
content:
application/json:
schema:
$ref: '#/components/schemas/QPApiResponse'
'500':
description: Internal Error
content:
application/json:
schema:
$ref: '#/components/schemas/QPApiResponse'
security:
- basicAuth: []
/platform/dispute/{recId}:
get:
tags:
- Disputes v1.0
summary: Get Dispute
description: Request a single dispute by its ID.
operationId: getDispute
parameters:
- name: recId
in: path
description: The control number of the dispute case, returned as the `rec_id` value for a 'Create' or 'Get' query.
example: '393435800000003'
required: true
schema:
type: integer
format: int64
- name: response_options
in: query
description: A flag to include response options in the response. This is used for determining what actions you may take using the Dispute Action endpoint.
required: false
schema:
type: boolean
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DisputeDetail'
'400':
description: Request Validation Failed
content:
application/json:
schema:
$ref: '#/components/schemas/QPApiResponse'
'500':
description: Internal Error
content:
application/json:
schema:
$ref: '#/components/schemas/QPApiResponse'
security:
- basicAuth: []
/platform/dispute/{recId}/action:
post:
tags:
- Disputes v1.0
summary: Submit Dispute Response Action
description: Submit dispute responses with supporting documentation. Response options are based on the 'response_options' provided when fetching a dispute with the 'response_options' URL parameter.
operationId: submitDisputeAction
parameters:
- name: recId
in: path
description: The control number of the dispute case, returned as the `rec_id` value for a 'Create' or 'Get' query.
example: '393435800000003'
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
type: object
description: A response to the dispute, performing the action specified. In addition to the properties listed below, all 'field' type dispute attributes along the branch of the dispute attribute tree may be included with their corresponding values.
properties:
action:
type: string
enum:
- accept
- respond
- edit
- challenge
- arbitration
- withdraw
- retry
- block
description: 'The action to take for this dispute. The available actions are based on the dispute''s reason code and current status. The list of possible actions is provided in the dispute''s ''response'' attribute when fetched with the ''response_options'' URL parameter. * `accept` - Accept the dispute as validated. * `respond` - Respond to the dispute with evidence. * `edit` - Edit the dispute response previously submitted. * `challenge` - [todo]. * `arbitration` - Send the dispute to arbitration. * `withdraw` - Withdraw from pre-arbitration. * `retry` - (ACH Only) Retry the payment. * `block` - (ACH Only) [todo]. description: The action to take for this dispute.
'
example: respond
response_code:
type: string
description: The response code being submitted. Required if the action is 'respond'.
example: CE
amt_dispute:
type: number
format: double
description: The amount being disputed in the response.
example: 1
ce_code:
type: string
description: The compelling evidence code being submitted, required if the response_code is 'CE'.
example: CE09
ce_indicators:
type: array
description: The compelling evidence indicators being submitted, may be required if the ce_code included indicators.
items:
type: string
example:
- ip_address
- physical_address
id_code:
type: string
description: The invalid dispute code being submitted, required if the response_code is 'ID'.
example: ID01
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/QPApiResponse'
'400':
description: Request Validation Failed
content:
application/json:
schema:
$ref: '#/components/schemas/QPApiResponse'
'500':
description: Internal Error
content:
application/json:
schema:
$ref: '#/components/schemas/QPApiResponse'
security:
- basicAuth: []
/platform/dispute/{recId}/doc/delete:
post:
tags:
- Disputes v1.0
summary: Remove Dispute File
description: Removes one of the files previously uploaded as supporting documentation for a dispute.
operationId: deleteDisputeFile
parameters:
- name: recId
in: path
description: The control number of the dispute case, returned as the `rec_id` value for a 'Create' or 'Get' query.
example: '393435800000003'
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
type: object
properties:
key:
type: string
description: The key of the file to remove.
example: /dispute/rebuttal/21200000035/4008100000107.pdf
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/QPApiResponse'
'400':
description: Request Validation Failed
content:
application/json:
schema:
$ref: '#/components/schemas/QPApiResponse'
'500':
description: Internal Error
content:
application/json:
schema:
$ref: '#/components/schemas/QPApiResponse'
security:
- basicAuth: []
/platform/dispute/{recId}/doc/list:
get:
tags:
- Disputes v1.0
summary: List Dispute Files
description: Lists all the existing files uploaded as supporting documentation for a dispute.
operationId: getDisputeFiles
parameters:
- name: recId
in: path
description: The control number of the dispute case, returned as the `rec_id` value for a 'Create' or 'Get' query.
example: '393435800000003'
required: true
schema:
type: integer
format: int64
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
docs:
type: array
items:
type: object
properties:
contentType:
type: string
description: The MIME type of the file.
example: application/pdf
key:
type: string
description: The unique path identifier for the file.
example: /dispute/rebuttal/21200000035/4008100000107.pdf
label:
type: string
description: The label assigned to the file when it was uploaded.
example: Customer Receipt
'400':
description: Request Validation Failed
content:
application/json:
schema:
$ref: '#/components/schemas/QPApiResponse'
'500':
description: Internal Error
content:
application/json:
schema:
$ref: '#/components/schemas/QPApiResponse'
security:
- basicAuth: []
/platform/dispute/{recId}/doc/upload:
post:
tags:
- Disputes v1.0
summary: Upload a Dispute File
description: Adds a new dispute file to any existing files as supporting documentation for a dispute.
operationId: uploadDisputeFile
parameters:
- in: path
name: recId
required: true
description: The control number of the dispute case, returned as the `rec_id` value for a 'Create' or 'Get' query.
example: '393435800000003'
schema:
type: number
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
label:
type: string
description: An optional label to apply to the file.
file:
type: string
format: binary
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/QPApiResponse'
'400':
description: Request Validation Failed
content:
application/json:
schema:
$ref: '#/components/schemas/QPApiResponse'
'500':
description: Internal Error
content:
application/json:
schema:
$ref: '#/components/schemas/QPApiResponse'
security:
- basicAuth: []
components:
schemas:
RelatedTransaction:
type: object
properties:
acq_reference_number:
type: string
description: The acquirer reference number, an 11-digit number generated by the product initiating the transaction. This is a unique number that both the acquirer and the issuer can use to identify a transaction. For chargeback adjustments, the acquirer reference number is used as the deposit reference number.
example: '8975679'
pg_id:
type: string
description: The Payment Gateway ID (PG ID), a 32-byte unique identifier generated by the payment gateway, returned in all valid responses to Payment Gateway transactions.
example: d24ac6189b0b11e6966ca68d5edbef41
amt_auth:
type: string
description: The amount of the authorization.
example: '1.00'
amt_tran:
type: string
description: The amount of the settled transaction.
example: '1.00'
auth_code:
type: string
example: '620376'
description: The 6-character code generated by the issuing bank during authorization.
tran_status:
type: string
description: The transaction status for `CARD` payments.
example: SETTLED
amt_funded:
type: string
description: The amount of this transaction funded to the merchant, displayed in the currency denoted in the `funded_currency` field.
example: '100.00'
tran_date:
type: string
description: The date the transaction was captured by the merchant.
example: '2026-07-01'
auth_date:
type: string
description: The date the transaction was authorized by the merchant.
example: '2026-07-01'
auth_tran_id:
type: string
description: The authorization transaction ID, a unique identifier returned by the issuing bank for an electronically authorized transaction.
example: 9902KUUSCJCP5I
batch_date:
type: string
description: The ISO date the batch was settled.
example: '2026-07-01'
card_number:
type: string
description: The masked card number of the transaction.
example: 401288xxxxxx8882
card_type:
type: string
description: The card brand of this transaction.
example: VS
enum:
- VS
- MC
- AM
- DS
- JC
- PP
- AP
dba_name:
type: string
description: The 'Doing Business As' (DBA) name used in the transaction.
example: CompanyXYZ
tran_currency:
type: string
description: The ISO numeric currency code of the transaction. This must be a currency code associated with one of your payment profiles; contact Qualpay to add currencies.
example: '840'
purchase_id:
type: string
description: '<strong>Format: </strong>Variable length, up to 25 AN<br><strong>Description: </strong>The purchase ID of the transaction.'
example: XYZ12345
qp_id:
type: integer
description: '<strong>Format: </strong>Fixed length, 10 N<br><strong>Description: </strong>An internal number generated to identify a transaction. Requests belonging to the same transaction will have the same `qp_id`. '
format: int64
example: 56789
reference_number:
type: string
description: Transaction reference number - A 23-digit number associated with the original transaction data. It is used by Qualpay and the issuer to identify the original transaction.
example: '24050835204212000000011'
dispute_flag:
type: boolean
description: A flag indicating whether the transaction is currently disputed.
DisputeData:
type: object
properties:
rec_id:
type: integer
description: Control number - The control number for the dispute, a unique number associated with each dispute case received.
format: int64
example: 21200000002
merchant_id:
type: integer
description: Merchant ID (MID) - The ID assigned to the merchant account.
format: int64
example: 971000010003
incoming_date:
type: string
description: Incoming date - The date the card issuer initiated the dispute, in YYYY-MM-DD HH:MM:ss format.
example: '2026-06-19'
amt_tran:
type: number
description: Transaction amount - The amount of the original settled transaction in USD.
format: double
example: 58.94
amt_dispute:
type: number
description: Disputed amount - The amount being disputed. This is equal to or less than the original transaction amount (`amt_tran`).
format: double
example: 58.94
auth_code:
type: string
example: '620376'
description: The 6-character code generated by the issuing bank during authorization.
reason_code:
type: string
description: Reason code - The code providing the reason for the dispute. See <a href="/docs/dispute-conventions" target="_blank">Dispute Conventions</a> for more information.
example: '10.4'
reason_desc:
type: string
description: Reason description - Describes why the dispute was issued, per the dispute reason code (`reason_code`).
example: Other Fraud - Card Absent Environment
data_type:
type: string
description: Dispute type - The type of dispute. See <a href="/docs/dispute-conventions#dispute-types" target="_blank">Dispute Types</a> for more information.
example: C
type_label:
type: string
description: The label for the dispute data type.
example: First Time Dispute
cbr_workflow:
type: string
description: Dispute workflow - The type of workflow assigned to the dispute. Possible values are `C` (Collaboration) and `A` (Allocation). See <a href="/docs/dispute-conventions#dispute-workflows" target="_blank">Dispute Workflows</a> for more information.
example: A
workflow_label:
type: string
description: The label for the dispute workflow.
example: Collaboration
status:
type: string
description: Dispute status - The current status of the dispute.
example: N
status_label:
type: string
description: The label for the status of the dispute.
example: New
date_status_change:
type: string
description: Dispute status date - The date the dispute's status most recently changed, in YYYY-MM-DD HH:MM:ss format.
example: '2026-06-19'
card_number:
type: string
description: Card number - The masked number of the card associated with the dispute, formatted as 123456xxxxxx1234.
example: 411111xxxxxx1111
tran_date:
type: string
description: Transaction date - The date the original transaction was authorized, in YYYY-MM-DD HH:MM:ss format.
example: '2026-02-12'
reference_number:
type: string
description: Transaction reference number - A 23-digit number associated with the original transaction data. It is used by Qualpay and the issuer to identify the original transaction.
example: '24050835204212000000011'
cb_ref_num:
type: string
description: Issuer reference number - A reference number assigned by the issuing bank to identify a unique dispute.
example: '100001'
cb_ref_num_assoc:
type: integer
description: Card Brand reference number - A reference number assigned by the card brand to identify a unique dispute.
example: 5000000000
vendor_id:
type: integer
description: Vendor ID - A unique number assigned to integrator.
format: int64
example: 301
purchase_id:
type: string
description: Purchase Identifier - The invoice number generated by the merchant.
example: 55-1212
rec_id_list:
type: array
description: An array of related disputes.
example:
- 21200000001
- 21200000003
items:
type: integer
format: int64
response:
type: object
properties:
type:
type: string
enum:
- reason_code
- response_code
- ce_code
- ce_ind
- id_code
- field
description: The type of this dispute attribute.
example: reason_code
value:
type: string
description: The value of this dispute attribute.
example: 10.4
label:
type: string
description: The label for this dispute attribute.
example: Fraud - Card Absent
actions:
type: string
enum:
- accept
- respond
- edit
- challenge
- arbitration
- withdraw
- retry
- block
description: 'An array of all actions available for this dispute in its current state. Possible values: * `accept` - Accept the dispute as validated. * `respond` - Respond to the dispute with evidence. * `edit` - Edit the dispute response previously submitted. * `challenge` - [todo]. * `arbitration` - Send the dispute to arbitration. * `withdraw` - Withdraw from pre-arbitration.
'
example:
- accept
- respond
items:
type: string
related_trans:
type: array
description: An array of the resource object. See <a href="/docs/dispute-conventions" target="_blank">Dispute Conventions</a> for more information.
items:
$ref: '#/components/schemas/RelatedTransaction'
QPApiResponse:
type: object
properties:
code:
type: integer
description: '<strong>Format: </strong>Fixed length, 1 N<br><strong>Description: </strong>Response code from the API. `0` indicates success. Refer to <a href="/docs/api-conventions#platform-api-response-codes" target="_blank">Platform API Response Codes</a> for the entire list of return codes.'
format: int32
readOnly: true
example: 0
message:
type: string
description: '<strong>Format: </strong>Variable length AN<br><strong>Description: </strong>A short description of the API response code.'
readOnly: true
example: Success
data:
$ref: '#/components/schemas/QPApiData'
DisputeDetail:
type: object
properties:
code:
type: integer
description: '<strong>Format: </strong>Fixed length, 1 N<br/><strong>Description: </strong>Response code from the API. `0` indicates success. Refer to <a href="/docs/api-conventions#platform-api-response-codes" target="_blank">Platform API Response Codes</a> for the entire list of return codes.'
format: int32
example: 0
message:
type: string
description: '<strong>Format: </strong>Variable length AN<br/><strong>Description: </strong>A short description of the API response code.'
example: Success
totalPages:
type: integer
description: '<strong>Format: </strong>Variable length N<br/><strong>Description: </strong>Total number of pages. '
format: int32
example: 10
totalRecords:
type: integer
description: '<strong>Format: </strong>Variable length, up to 3 N<br/><strong>Description: </strong>Total number of records up to a maximum of 100.'
format: int32
example: 100
data:
type: array
description: An array of the resource object. See <a href="/docs/dispute-conventions" target="_blank">Dispute Conventions</a> for more information.
items:
$ref: '#/components/schemas/DisputeData'
QPApiData:
type: object
securitySchemes:
basicAuth:
type: http
scheme: basic
x-provenance:
method: searched
source: https://developer.qualpay.com/reference
harvested: '2026-10-26'
tool: harvest-readme-openapi.py
note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
assembled_from:
- https://developer.qualpay.com/reference/acceptdispute.md
- https://developer.qualpay.com/reference/addapp.md
- https://developer.qualpay.com/reference/addausjsonrequest.md
- https://developer.qualpay.com/reference/addbillingcard.md
- https://developer.qualpay.com/reference/addcheckout.md
- https://developer.qualpay.com/reference/addcustomer.md
- https://developer.qualpay.com/reference/addevent.md
- https://developer.qualpay.com/reference/addinvoicepayment.md
- https://developer.qualpay.com/reference/addpayee.md
- https://developer.qualpay.com/reference/addplan.md
- https://developer.qualpay.com/reference/addshippingaddress.md
- https://developer.qualpay.com/reference/addsubscription.md
- https://developer.qualpay.com/reference/addwebhook.md
- https://developer.qualpay.com/reference/archiveplan.md
- https://developer.qualpay.com/reference/authorization.md
- https://developer.qualpay.com/reference/batch-close.md
- https://developer.qualpay.com/reference/browseapps.md
- https://developer.qualpay.com/reference/browseausrequestsdetail.md
- https://developer.qualpay.com/reference/browseausrequestssummary.md
- https://developer.qualpay.com/reference/browsebatches.md
- https://developer.qualpay.com/reference/browsebouncedinvoices.md
- https://developer.qualpay.com/reference/browsecustomers.md
- https://developer.qualpay.com/reference/browsedeposits.md
- https://developer.qualpay.com/reference/browsedisputes.md
- https://developer.qualpay.com/reference/browseinvoicepayments.md
- https://developer.qualpay.com/reference/browseinvoicepaymentsbyid.md
- https://developer.qualpay.com/reference/browseinvoices.md
- https://developer.qualpay.com/reference/browsepayees.md
- https://developer.qualpay.com/reference/browseplans.md
- https://developer.qualpay.com/reference/browsesalesreps.md
- https://developer.qualpay.com/reference/browsestatementdisputeadjustmentdata.md
- https://developer.qualpay.com/reference/browsestatementfeedata.md
- https://developer.qualpay.com/reference/browsestatementplandata.md
- https://developer.qualpay.com/reference/browsestatementreservedata.md
- https://developer.qualpay.com/reference/browsestatementsettlementdata.md
- https://developer.qualpay.com/reference/browsestatementsummarydata.md
- https://developer.qualpay.com/reference/browsesubscriptions.md
- https://developer.qualpay.com/reference/browsetrans.md
- https://developer.qualpay.com/reference/browsewebhook.md
- https://developer.qualpay.com/reference/cancelausrequest.md
- https://developer.qualpay.com/reference/cancelcheckout.md
- https://developer.qualpay.com/reference/cancelinvoice.md
- https://developer.qualpay.com/reference/cancelsubscription.md
- https://developer.qualpay.com/reference/capture.md
- https://developer.qualpay.com/reference/copyinvoice.md
- https://developer.qualpay.com/reference/createausrequest.md
- https://developer.qualpay.com/reference/createdispute.md
- https://developer.qualpay.com/reference/createinvoice.md
- https://developer.qualpay.com/reference/createtestaccount.md
- https://developer.qualpay.com/reference/credit.md
- https://developer.qualpay.com/reference/deletebillingcard.md
- https://developer.qualpay.com/reference/deletecustomer.md
- https://developer.qualpay.com/reference/deletedisputefile.md
- https://developer.qualpay.com/reference/deletepayee.md
- https://developer.qualpay.com/reference/deleteplan.md
- https://developer.qualpay.com/reference/deleteshippingaddress.md
- https://developer.qualpay.com/reference/disablewebhook.md
- https://developer.qualpay.com/reference/editwebhook.md
- https://developer.qualpay.com/reference/emailapp.md
- https://developer.qualpay.com/reference/enablewebhook.md
- https://developer.qualpay.com/reference/expire.md
- https://developer.qualpay.com/reference/force.md
- https://developer.qualpay.com/reference/generatependingtoken.md
- https://developer.qualpay.com/reference/get-card-type-information.md
- https://developer.qualpay.com/reference/getallsubscriptiontransactions.md
- https://developer.qualpay.com/reference/getapp.md
- https://developer.qualpay.com/reference/getausdetail.md
- https://developer.qualpay.com/reference/getausresponse.md
- https://developer.qualpay.com/reference/getaussummary.md
- https://developer.qualpay.com/reference/getbillingcards.md
- https://developer.qualpay.com/reference/getcreditedtran.md
- https://developer.qualpay.com/reference/getcustomer.md
- https://developer.qualpay.com/reference/getcustomerbycardid.md
- https://developer.qualpay.com/reference/getdetails.md
- https://developer.qualpay.com/reference/getdispute.md
- https://developer.qualpay.com/reference/getdisputefiles.md
- https://developer.qualpay.com/reference/getdisputeresponse.md
- https://developer.qualpay.com/reference/getdisputes.md
- https://developer.qualpay.com/reference/getembeddedtransientkey.md
- https://developer.qualpay.com/reference/getevents.md
- https://developer.qualpay.com/reference/getinvoice.md
- https://developer.qualpay.com/reference/getmerchantsettings.md
- https://developer.qualpay.com/reference/getnondisputedtran.md
- https://developer.qualpay.com/reference/getpayee.md
- https://developer.qualpay.com/reference/getplan.md
- https://developer.qualpay.com/reference/getremedyundisputedtran.md
- https://developer.qualpay.com/reference/getshippingaddresses.md
- https://developer.qualpay.com/reference/getsubscription.md
- https://developer.qualpay.com/reference/getsubscriptiontransactions.md
- https://developer.qualpay.com/reference/gettransactionbypgid.md
- https://developer.qualpay.com/reference/gettransactionrequests.md
# --- truncated at 32 KB (34 KB total) ---
# Full source: https://artifacts.apis.io/qualpay/openapi/qualpay-disputes-v1-0-api-openapi.yml