Skip to main content
Beta version

Dispute Management API is in the Beta phase.

Dispute Management

Challenge a chargeback

You can request J.P. Morgan to challenge a dispute by sending a POST request to the /disputes/{disputeId}/challenge endpoint. This applies only to chargebacks. Remember to include your documentation to support the validity of your transaction in your challenge request. Refer to documentation parameters.

Important request fields

Important required request fields
Request field name                                              Description Required Location                              
disputeId This path parameter is a unique identifier assigned by J.P. Morgan to track each inquiry or case created for a transaction dispute on an account. Y Path Parameter
merchant-id Identifies a unique entity for transaction processing at the lowest level of the account hierarchy of the backend proprietary merchant acquiring processing platform. This level organizes transaction types for submission, funding, and reporting. Y Header
request-id Unique request identifier provided by the requestor in the request header. Y Header
last4CardNumber Identifies the last four digits of the 16 digit card number. The truncated value is used in place of the full number to protect against exposure of confidential information. Y Body
supportingDocuments Provides a list of supporting document(s) for the challenge request. Each document has documentName and documentContent. Ensure that the documents provided adhere to the document types. Y Body

Important response fields

Important response fields
Response field name                                                   Description
actionProcessingStatus

Dispute action processing status code, in response to the case action requested by you. Possible values:

  • IN_PROGRESS: The request is being processed asynchronously. This is applicable for HTTP response status code 202. Check the retrieve-status endpoint for updates.
  • COMPLETED: The request was processed successfully. This is applicable for HTTP response status code 200. Check error messages for details.
traceId A number assigned by a transaction originator to assist in identifying a transaction uniquely. The systems trace audit number remains unchanged for all messages within a transaction.

HTTP method: POST

Endpoint: /disputes/{disputeId}/challenge

Scenario: Challenge a dispute

{
  "last4CardNumber": "1118",
  "supportingDocuments": [
    {
      "documentName": "Sample.pdf",
      "documentContent": "base64-encoded-content."
    }
  ]
}

Response:

{
  "requestId": "8be7709f-0e31-4838-a932-75e97fde35fd",
  "disputeId": 256156730,
  "actionProcessingStatus": "IN_PROGRESS",
  "disputeStatus": "NEW",
  "statusUpdateTimestamp": "2025-06-26T16:17:41.209382006Z",
  "traceId": "4af3bb3b-f3c7-402e-ae39-347771afaa2f"
}

Scenario: Challenge a dispute - invalid document type

{
  "last4CardNumber": "1118",
  "supportingDocuments": [
    {
      "documentName": "Sample.txt",
      "documentContent": "Invalid document content, as plain text is not a valid format."
    }
  ]
}

Response:

{
  "httpStatus": 400,
  "title": "Document validation failed",
  "requestId": "b750c808-1f77-4de6-8c6a-6844ce7fc096",
  "traceId": "7bcc6944-a411-47ae-a529-e094e4aa70dd",
  "context": [
    {
      "code": "11002",
      "message": "Invalid document type for network type : VI, allowed types are 'pdf/tif/tiff'",
      "field": "supportingDocument",
      "location": "BODY"
    }
  ]
}