JPMorgan Chase Disputes Actions API

Operations for executing actions on disputes, such as challenging, accepting, and fulfilling requests.

Operations 3

POST /disputes/{disputeId}/challenge Challenge a dispute #
POST /disputes/{disputeId}/fulfill Fulfill a retrieval request dispute #
POST /disputes/{disputeId}/accept Accept a dispute #

Documentation

📖
Documentation
https://developer.payments.jpmorgan.com/api
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fembedded-finance-solutions%2Fembedded-payments%2Fonboarding-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Fconsumer-profile%2Fconsumer-profile-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Ftokenization%2Ftokenization-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Freporting%2Freporting-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ftreasury%2Freceivables%2Frequest-to-pay-api.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Fonline-payments%2Fcheckout%2Fcheckout-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Fdispute-management%2Fdispute-management-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ffraud-solutions%2Falerts-and-decisioning%2Foas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Fproduct-configuration%2Fproduct-configuration-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2F3-d-secure%2F3-d-secure-1.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Faccount-updater%2Faccount-updater-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ftreasury%2Fglobal-payments%2Fglobal-payments%2Fglobal-payments-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fliquidity-account-solutions%2Fbda-balances%2Faccounts-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ffraud-solutions%2Fvalidation-services%2Fvalidation-services-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Fwallet-decryption%2Fwallet-decryption-oas.md

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/jp-morgan-chase-disputes-actions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

jp-morgan-chase-disputes-actions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Dispute Management Disputes Actions API
  description: End to end disputes management interface.
  version: 1.1.3
  contact:
    name: Disputes API Support
    url: https://developer.jpmorgan.com/support
    email: developer_help@jpmorgan.com
servers:
- url: https://api.payments.jpmorgan.com/commerce/v1
  description: PRODUCTION - OAUTH
- url: https://api-sandbox.payments.jpmorgan.com/commerce/v1
  description: CLIENT TESTING - OAUTH
security:
- bearerAuth: []
tags:
- name: Disputes Actions
  description: Operations for executing actions on disputes, such as challenging, accepting, and fulfilling requests.
paths:
  /disputes/{disputeId}/challenge:
    post:
      summary: Challenge a dispute
      operationId: challengeDispute
      tags:
      - Disputes Actions
      description: The consumers of this API can request the acquirer to challenge a dispute by attaching evidence documents. Once the dispute has been requested to be challenged, the acquirer will review the remedy details and will challenge the dispute back to the payment brands and then to the cardholder.
      parameters:
      - name: disputeId
        in: path
        required: true
        schema:
          type: integer
          format: int64
          minimum: 10000
          maximum: 9223372036854776000
        description: A unique identifier assigned by the acquirer to track each inquiry or case created for a transaction dispute on an account.
        examples:
          Success:
            value: 9876543210
      - name: request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
        description: Unique request identifier provided by the requestor.
        examples:
          Success:
            value: f47ac10b-58cc-4372-a567-0e02b2c3d479
      - name: merchant-id
        in: header
        required: true
        schema:
          type: string
          pattern: ^\d+$
          minLength: 1
          maxLength: 12
        description: 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.
        examples:
          Success:
            value: '9876543'
      - $ref: '#/components/parameters/platformIdHeader'
      requestBody:
        description: Challenge Request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/challengeRequest'
            examples:
              Success:
                value:
                  last4CardNumber: '6543'
                  supportingDocuments:
                  - documentName: sample1.pdf
                    documentContent: JVBERi0xLjYNJeLjz9MNCjEwIDAgb2JqDTw8L0xpbmVhcml6ZWQgMS9MIDI4NTczL08gMTIvRSAyNDI2NS9OIDEvVCA
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/challengeDisputeResponse'
              examples:
                Success:
                  value:
                    requestId: f47ac10b-58cc-4372-a567-0e02b2c3d479
                    disputeId: 9876543210
                    actionProcessingStatus: COMPLETED
                    disputeStatus: CHALLENGED_MERCHANT
                    statusUpdateTimestamp: '2025-01-01T12:00:00Z'
                    traceId: 9f8c4b2e-3d6a-4f1b-9a2e-5b7c8d9e0f1a
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '406':
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
  /disputes/{disputeId}/fulfill:
    post:
      summary: Fulfill a retrieval request dispute
      operationId: fulfillDispute
      tags:
      - Disputes Actions
      description: The consumers of this API can request the acquirer to fulfill a retrieval request dispute by attaching evidence documents. Once the dispute has been fulfilled, the acquirer will fulfill the retrieval request back to the payment brands.
      parameters:
      - name: disputeId
        in: path
        required: true
        schema:
          type: integer
          format: int64
          minimum: 10000
          maximum: 9223372036854776000
        description: A unique identifier assigned by the acquirer to track each inquiry or case created for a transaction dispute on an account.
        examples:
          Success:
            value: 9876543210
      - name: request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
        description: Unique request identifier provided by the requestor.
        examples:
          Success:
            value: f47ac10b-58cc-4372-a567-0e02b2c3d479
      - name: merchant-id
        in: header
        required: true
        schema:
          type: string
          pattern: ^\d+$
          minLength: 1
          maxLength: 12
        description: 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.
        examples:
          Success:
            value: '9876543'
      - $ref: '#/components/parameters/platformIdHeader'
      requestBody:
        description: Fulfill a retrieval request dispute
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/fulfillRequest'
            examples:
              Success:
                value:
                  last4CardNumber: '4567'
                  supportingDocuments:
                  - documentName: sample1.pdf
                    documentContent: JVBERi0xLjYNJeLjz9MNCjEwIDAgb2JqDTw8L0xpbmVhcml6ZWQgMS9MIDI4NTczL08gMTIvRSAyNDI2NS9OIDEvVCA
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/fulfillDisputeResponse'
              examples:
                Success:
                  value:
                    requestId: f47ac10b-58cc-4372-a567-0e02b2c3d479
                    disputeId: 9876543211
                    actionProcessingStatus: COMPLETED
                    disputeStatus: CHALLENGED_MERCHANT
                    statusUpdateTimestamp: '2025-01-01T12:00:00Z'
                    traceId: f47ac10b-58cc-4372-a567-0e02b2c3d479
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '406':
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
  /disputes/{disputeId}/accept:
    post:
      summary: Accept a dispute
      operationId: acceptDispute
      tags:
      - Disputes Actions
      description: The consumers of this API can accept the dispute and take financial liability for the transaction.
      parameters:
      - name: disputeId
        in: path
        required: true
        schema:
          type: integer
          format: int64
          minimum: 10000
          maximum: 9223372036854776000
        description: A unique identifier assigned by the acquirer to track each inquiry or case created for a transaction dispute on an account.
        examples:
          Success:
            value: 9876543210
      - name: request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
        description: Unique request identifier provided by the requestor.
        examples:
          Success:
            value: f47ac10b-58cc-4372-a567-0e02b2c3d479
      - name: merchant-id
        in: header
        required: true
        schema:
          type: string
          pattern: ^\d+$
          minLength: 1
          maxLength: 12
        description: 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.
        examples:
          Success:
            value: '9876543'
      - $ref: '#/components/parameters/platformIdHeader'
      requestBody:
        description: Accept Request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/acceptRequest'
            examples:
              Success:
                value:
                  last4CardNumber: '9876'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/acceptDisputeResponse'
              examples:
                Success:
                  value:
                    requestId: f47ac10b-58cc-4372-a567-0e02b2c3d479
                    disputeId: 9876543212
                    actionProcessingStatus: COMPLETED
                    disputeStatus: ACCEPTED
                    statusUpdateTimestamp: '2025-01-01T12:00:00Z'
                    traceId: 9f8c4b2e-3d6a-4f1b-9a2e-5b7c8d9e0f1a
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '406':
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
components:
  schemas:
    fulfillRequest:
      description: Contains request attributes required to fulfill retrieval-request dispute.
      type: object
      required:
      - last4CardNumber
      - supportingDocuments
      properties:
        last4CardNumber:
          $ref: '#/components/schemas/last4CardNumber'
        supportingDocuments:
          type: array
          minItems: 1
          maxItems: 10
          description: Provide list of supporting document(s) in .pdf or .tiff or .tif format for the fulfill request.
          items:
            $ref: '#/components/schemas/supportingDocument'
    requestId:
      description: Unique request identifier provided by the requestor.
      type: string
      format: uuid
    messages:
      description: A list of errors and warnings
      type: object
      properties:
        httpStatus:
          $ref: '#/components/schemas/httpStatus'
        title:
          $ref: '#/components/schemas/title'
        requestId:
          $ref: '#/components/schemas/requestId'
        traceId:
          $ref: '#/components/schemas/traceId'
        context:
          type: array
          minItems: 0
          maxItems: 100
          description: Error Object Array for Failed requests
          items:
            $ref: '#/components/schemas/contextMessage'
    traceId:
      description: 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.
      type: string
      readOnly: true
      format: uuid
    actionProcessingStatus:
      description: 'Codifies dispute action processing status code, in response of the case action requested by merchant. Possible values are, IN_PROGRESS: The request is being processed asynchronously and this is applicable for HTTP response status code 202. Check the retrieve-status endpoint for updates. COMPLETED: The request was processed successfully and this is applicable for HTTP response status code 200. Check error messages for details.'
      type: string
      enum:
      - IN_PROGRESS
      - COMPLETED
    location:
      description: Location of the field for which the error occurred in the request
      type: string
      minLength: 0
      maxLength: 1000
      enum:
      - BODY
      - PATH
      - QUERY
      - HEADER
    httpStatus:
      description: The response code that is returned to the client based on how a backend service handled the request
      type: integer
      format: int32
      minimum: 100
      maximum: 999
    last4CardNumber:
      description: Identifies the last 4 digits of card number. The truncated value is used in place of the full number to protect against exposure of confidential information.
      type: string
      minLength: 4
      maxLength: 4
    field:
      description: The field for which the error has occured.
      type: string
    statusUpdateTimestamp:
      description: Represents the date and time when the status of a dispute case was last updated in UTC timezone. The format is YYYY-MM-DDTHH:MM:SSZ.
      type: string
      format: date-time
    disputeStatus:
      description: The label for the current stage of a case in the dispute resolution process
      type: string
      maxLength: 50
      enum:
      - NEW
      - NEEDS_RESPONSE
      - EXPIRED
      - CHALLENGED_JPMC
      - UNDER_ISSUER_REVIEW
      - CHALLENGED_MERCHANT
      - ACCEPTED
      - CHALLENGE_DENIED
      - CLOSED
      - NEED_ADDITIONAL_INFORMATION
    fulfillDisputeResponse:
      description: Fulfill action response
      type: object
      properties:
        requestId:
          $ref: '#/components/schemas/requestId'
        disputeId:
          $ref: '#/components/schemas/disputeId'
        actionProcessingStatus:
          $ref: '#/components/schemas/actionProcessingStatus'
        disputeStatus:
          $ref: '#/components/schemas/disputeStatus'
        statusUpdateTimestamp:
          $ref: '#/components/schemas/statusUpdateTimestamp'
        traceId:
          $ref: '#/components/schemas/traceId'
    contextMessage:
      description: Object containing information in the file
      type: object
      properties:
        code:
          $ref: '#/components/schemas/code'
        message:
          $ref: '#/components/schemas/message'
        field:
          $ref: '#/components/schemas/field'
        location:
          $ref: '#/components/schemas/location'
    acceptDisputeResponse:
      description: Accept dispute response.
      type: object
      properties:
        requestId:
          $ref: '#/components/schemas/requestId'
        disputeId:
          $ref: '#/components/schemas/disputeId'
        actionProcessingStatus:
          $ref: '#/components/schemas/actionProcessingStatus'
        disputeStatus:
          $ref: '#/components/schemas/disputeStatus'
        statusUpdateTimestamp:
          $ref: '#/components/schemas/statusUpdateTimestamp'
        traceId:
          $ref: '#/components/schemas/traceId'
    code:
      description: Codifies a raised exception encountered by an internal or external system, sub-system, interface, job, module, system component with which the web service application interfaces.  In this instance it refers to the error raised when reporting job failed.
      type: string
    message:
      description: Provides textual description of a problem that has occurred and is preventing the system from completing a task. Messages can be a confirmation, warning or notification, and can trigger the system to apply a customized default value or override to a field, record or file, halt or postpone processing, skip or reject the entry generating the problem. Messages can be displayed on-screen in the user interface or in reporting.
      type: string
    title:
      description: Short human readable title of the error
      type: string
      minLength: 0
      maxLength: 1000
    challengeDisputeResponse:
      description: Challenge action response
      type: object
      properties:
        requestId:
          $ref: '#/components/schemas/requestId'
        disputeId:
          $ref: '#/components/schemas/disputeId'
        actionProcessingStatus:
          $ref: '#/components/schemas/actionProcessingStatus'
        disputeStatus:
          $ref: '#/components/schemas/disputeStatus'
        statusUpdateTimestamp:
          $ref: '#/components/schemas/statusUpdateTimestamp'
        traceId:
          $ref: '#/components/schemas/traceId'
    acceptRequest:
      description: Contains request attributes required to accept a dispute.
      type: object
      required:
      - last4CardNumber
      properties:
        last4CardNumber:
          $ref: '#/components/schemas/last4CardNumber'
    supportingDocument:
      description: Contains supporting document information for the dispute action.
      type: object
      required:
      - documentName
      - documentContent
      properties:
        documentName:
          description: Provide name of the document.
          type: string
        documentContent:
          description: Provide document content in base64-encoded format.
          type: string
    disputeId:
      description: A unique identifier assigned by the acquirer to track each inquiry or case created for a transaction dispute on an account.
      type: integer
      format: int64
      minimum: 10000
      maximum: 9223372036854776000
    challengeRequest:
      description: Contains request attributes required to challenge a dispute.
      type: object
      required:
      - last4CardNumber
      - supportingDocuments
      properties:
        last4CardNumber:
          $ref: '#/components/schemas/last4CardNumber'
        supportingDocuments:
          type: array
          minItems: 1
          maxItems: 10
          description: Provide list of supporting document(s) in .pdf or .tiff or .tif format for the challenge request.
          items:
            $ref: '#/components/schemas/supportingDocument'
  parameters:
    platformIdHeader:
      name: platform-id
      in: header
      required: false
      description: Platform identifier provided by the requestor. Identifies the platform used to onboard the merchant and enforce the authentication.
      schema:
        type: string
        maxLength: 20
        pattern: ^\d+$
      examples:
        Success:
          value: '2179821798'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-jpmc-securityDefinitions:
  JPMC-OAuth2:
    jpmc-claims:
      jpmc-roles:
      - 108919_DISPUTES_MERCH_ACCESS: allows all api access for disputes management
x-jpmc-security:
- JPMC-OAuth2:
    jpmc-claims:
      jpmc-roles:
      - 108919_DISPUTES_MERCH_ACCESS: allows all api access for disputes management