Cash App Disputes API

The disputes API from Cash App — 8 operation(s) for disputes.

Operations 9

GET /disputes List disputes #
GET /disputes/{dispute_id} Retrieve dispute #
POST /disputes/{dispute_id}/accept Accept dispute #
POST /disputes/{dispute_id}/challenge Challenge dispute #
GET /disputes/{dispute_id}/evidence List dispute evidence #
POST /disputes/{dispute_id}/evidence-text Create dispute evidence text #
POST /disputes/{dispute_id}/evidence-file Create dispute evidence file #
DELETE /disputes/{dispute_id}/evidence/{evidence_id} Delete dispute evidence #
GET /disputes/{dispute_id}/evidence/{evidence_id} Retrieve dispute evidence #

Documentation

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/cash-app-disputes-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cash-app-disputes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Network Disputes API
  version: 1.0.0
servers:
- url: https://api.cash.app/network/v1
  description: Production
- url: https://sandbox.api.cash.app/network/v1
  description: Sandbox
tags:
- name: disputes
paths:
  /disputes:
    get:
      operationId: list-disputes
      summary: List disputes
      description: 'Returns a list of all disputes (matching the given query parameters) associated with payments created by this client.


        **This endpoint is rate limited to 50 QPS.**


        Scopes: `DISPUTES_READ`'
      tags:
      - disputes
      parameters:
      - name: cursor
        in: query
        description: A pagination cursor returned by a previous call to this endpoint. Provide this cursor to retrieve the next set of results for the original query.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Maximum number of disputes to return.
        required: false
        schema:
          type: integer
          default: 50
      - name: merchant_id
        in: query
        description: Filters results to only include disputes filed against a merchant that matches the the given ID.
        required: false
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        schema:
          type: string
      - name: X-Region
        in: header
        required: true
        schema:
          type: string
      - name: X-Signature
        in: header
        required: true
        schema:
          type: string
      - name: User-Agent
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Disputes_list-disputes_Response_200'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /disputes/{dispute_id}:
    get:
      operationId: retrieve-dispute
      summary: Retrieve dispute
      description: 'Retrieves a dispute by its ID.


        **This endpoint is not rate limited.**


        Scopes: `DISPUTES_READ`'
      tags:
      - disputes
      parameters:
      - name: dispute_id
        in: path
        required: true
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        schema:
          type: string
      - name: X-Region
        in: header
        required: true
        schema:
          type: string
      - name: X-Signature
        in: header
        required: true
        schema:
          type: string
      - name: User-Agent
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Disputes_retrieve-dispute_Response_200'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /disputes/{dispute_id}/accept:
    post:
      operationId: accept-dispute
      summary: Accept dispute
      description: "Resolves a dispute by having the merchant accept responsibility for it. This leads to a \"loss\" of the dispute from the merchant's perspective, and a \"win\" of the dispute from the customer's perspective.\n\n<Note> \nAfter a dispute is accepted, the decision is final; it can never be changed.\n</Note>\n\n**This endpoint is not rate limited.**\n\nScopes: `DISPUTES_WRITE`"
      tags:
      - disputes
      parameters:
      - name: dispute_id
        in: path
        required: true
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        schema:
          type: string
      - name: X-Region
        in: header
        required: true
        schema:
          type: string
      - name: X-Signature
        in: header
        required: true
        schema:
          type: string
      - name: User-Agent
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Disputes_accept-dispute_Response_200'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /disputes/{dispute_id}/challenge:
    post:
      operationId: challenge-dispute
      summary: Challenge dispute
      description: "Submits evidence uploaded to this dispute to Cash App Pay for review.\n\nAfter Cash App Pay reviews the dispute, a final decision will be reached and funds will be settled appropriately. If this endpoint is not called by the `response_due_at` timestamp, the merchant will automatically \"lose\" the dispute.\n\n<Info> \nChallenging a dispute does not guarantee that the merchant will \"win\" it. It only means that it will be reviewed, instead of being automatically accepted by the merchant.\n</Info>\n\n**This endpoint is not rate limited.**\n\nScopes: `DISPUTES_WRITE`"
      tags:
      - disputes
      parameters:
      - name: dispute_id
        in: path
        required: true
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        schema:
          type: string
      - name: X-Region
        in: header
        required: true
        schema:
          type: string
      - name: X-Signature
        in: header
        required: true
        schema:
          type: string
      - name: User-Agent
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Disputes_challenge-dispute_Response_200'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /disputes/{dispute_id}/evidence:
    get:
      operationId: list-dispute-evidence
      summary: List dispute evidence
      description: 'Returns a list of all pieces of evidence associated with the given dispute.


        **This endpoint is rate limited to 50 QPS.**


        Scopes: `DISPUTES_READ`'
      tags:
      - disputes
      parameters:
      - name: dispute_id
        in: path
        required: true
        schema:
          type: string
      - name: cursor
        in: query
        description: A pagination cursor returned by a previous call to this endpoint. Provide this cursor to retrieve the next set of results for the original query.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Maximum number of pieces of dispute evidence to return
        required: false
        schema:
          type: integer
          default: 50
      - name: Accept
        in: header
        required: true
        schema:
          type: string
      - name: X-Region
        in: header
        required: true
        schema:
          type: string
      - name: X-Signature
        in: header
        required: true
        schema:
          type: string
      - name: User-Agent
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Disputes_list-dispute-evidence_Response_200'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /disputes/{dispute_id}/evidence-text:
    post:
      operationId: create-dispute-evidence-text
      summary: Create dispute evidence text
      description: "Creates a piece of evidence for the given dispute from a blob of plain text, which can then be submitted with the [challenge dispute](Network-API.v1.yaml/paths/~1disputes~1{dispute_id}~1challenge) endpoint.\n\nIf you have more than 500 characters of text to submit as evidence, split it into multiple pieces where possible.\n\n<Note> \nUploading evidence does not challenge the dispute. Make sure to call the [challenge dispute](Network-API.v1.yaml/paths/~1disputes~1{dispute_id}~1challenge) endpoint before the `response_due_at` timestamp, or else the merchant will automatically \"lose\" the dispute.\n</Note>\n\n**This endpoint is not rate limited.**\n\nScopes: `DISPUTES_WRITE`"
      tags:
      - disputes
      parameters:
      - name: dispute_id
        in: path
        required: true
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        schema:
          type: string
      - name: X-Region
        in: header
        required: true
        schema:
          type: string
      - name: X-Signature
        in: header
        required: true
        schema:
          type: string
      - name: User-Agent
        in: header
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Disputes_create-dispute-evidence-text_Response_201'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: object
              properties:
                idempotency_key:
                  $ref: '#/components/schemas/IdempotencyKey'
                evidence:
                  $ref: '#/components/schemas/DisputesDisputeIdEvidenceTextPostRequestBodyContentApplicationJsonSchemaEvidence'
                  description: Details about the evidence to create.
              required:
              - idempotency_key
              - evidence
  /disputes/{dispute_id}/evidence-file:
    post:
      operationId: create-dispute-evidence-file
      summary: Create dispute evidence file
      description: "Uploads a binary file as a piece of evidence for the given dispute, which can then be submitted with the [challenge dispute](Network-API.v1.yaml/paths/~1disputes~1{dispute_id}~1challenge) endpoint.\n\nThe file must be one of the supported formats, or else it may not be usable to challenge the dispute:\n\n- `JPEG`\n- `HEIC`\n- `HEIF`\n- `PNG`\n- `PDF`\n- `TIFF`\n\n<Note> \nUploading evidence does not challenge the dispute. Make sure to call the [challenge dispute](Network-API.v1.yaml/paths/~1disputes~1{dispute_id}~1challenge) endpoint before the `response_due_at` timestamp, or else the merchant will automatically \"lose\" the dispute.\n</Note>\n\n**This endpoint is not rate limited.**\n\nScopes: `DISPUTES_WRITE`\n\n---\n\n### Example request payload (cURL)\n\nThe following example shows how to make a request to upload a dispute file. There are two \"parts\" of the request:\n\n- `request`, a JSON blob that contains details about the file to upload\n- `file`, which contains the binary data for the file to be uploaded.\n\nUsing `cURL` to make the request, the request would look like the example below. Please refer to documentation for your particular language / framework and `multipart/form-data` requests to see how you should implement it in your own codebase.\n\nPlease refer to [Signing Multipart Requests](https://developers.cash.app/docs/partner/technical-documentation/api-fundamentals/requests/signing-requests) to compute a signature for the request.\n\n```curl\ncurl --request POST 'https://sandbox.api.cash.app/network/v1/disputes/DSPT_ztqn5hd8wmrzjzavmf60pjbzf/evidence-file' \\\n--header 'Accept: application/json' \\\n--header 'Authorization: Client CLIENT_ID API_KEY_ID' \\\n--header 'Content-Type: multipart/form-data' \\\n--header 'X-Region: PDX' \\\n--form 'request={\n  \"idempotency_key\": \"e445c3fb-2caa-46fd-b0d3-aa7c7b00ab41\",\n  \"evidence\": {\n    \"category\": \"AUTHORIZATION_DOCUMENTATION\",\n    \"file\": {\n      \"filename\": \"evidence.pdf\",\n      \"content_type\": \"application/pdf\"\n    }\n  }\n}' \\\n--form 'signature=SIGNATURE' \\\n--form 'file=path-to-file.pdf' \n```"
      tags:
      - disputes
      parameters:
      - name: dispute_id
        in: path
        required: true
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        schema:
          type: string
      - name: X-Region
        in: header
        required: true
        schema:
          type: string
      - name: X-Signature
        in: header
        required: true
        schema:
          type: string
      - name: User-Agent
        in: header
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Disputes_create-dispute-evidence-file_Response_201'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        description: ''
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                request:
                  $ref: '#/components/schemas/DisputesDisputeIdEvidenceFilePostRequestBodyContentMultipartFormDataSchemaRequest'
                  description: JSON-encoded payload describing the contents of the file uploaded
                file:
                  type: string
                  format: binary
                  description: 'Binary file to upload


                    Min size: `1 byte`

                    Max size: `5 megabytes`'
              required:
              - request
              - file
  /disputes/{dispute_id}/evidence/{evidence_id}:
    delete:
      operationId: delete-dispute-evidence
      summary: Delete dispute evidence
      description: 'Deletes a piece of dispute evidence by the ID of the dispute its for and its own ID.


        **This endpoint is not rate limited.**


        Scopes: `DISPUTES_WRITE`'
      tags:
      - disputes
      parameters:
      - name: dispute_id
        in: path
        required: true
        schema:
          type: string
      - name: evidence_id
        in: path
        required: true
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        schema:
          type: string
      - name: X-Region
        in: header
        required: true
        schema:
          type: string
      - name: X-Signature
        in: header
        required: true
        schema:
          type: string
      - name: User-Agent
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Disputes_delete-dispute-evidence_Response_200'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    get:
      operationId: retrieve-dispute-evidence
      summary: Retrieve dispute evidence
      description: 'Retrieves a piece of dispute evidence by the ID of the dispute its for and its own ID.


        **This endpoint is not rate limited.**


        Scopes: `DISPUTES_READ`'
      tags:
      - disputes
      parameters:
      - name: dispute_id
        in: path
        required: true
        schema:
          type: string
      - name: evidence_id
        in: path
        required: true
        schema:
          type: string
      - name: Accept
        in: header
        required: true
        schema:
          type: string
      - name: X-Region
        in: header
        required: true
        schema:
          type: string
      - name: X-Signature
        in: header
        required: true
        schema:
          type: string
      - name: User-Agent
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Disputes_retrieve-dispute-evidence_Response_200'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    DisputeEvidenceFileContentType:
      type: string
      enum:
      - application/pdf
      - image/heic
      - image/heif
      - image/jpeg
      - image/png
      - image/tiff
      description: 'The MIME type of the uploaded file.


        Current values:


        - `application/pdf`

        - `image/heic`

        - `image/heif`

        - `image/jpeg`

        - `image/png`

        - `image/tiff`'
      title: DisputeEvidenceFileContentType
    DisputesDisputeIdEvidenceTextPostRequestBodyContentApplicationJsonSchemaEvidence:
      type: object
      properties:
        category:
          $ref: '#/components/schemas/DisputesDisputeIdEvidenceTextPostRequestBodyContentApplicationJsonSchemaEvidenceCategory'
          description: 'Describes what type of information is contained in this piece of evidence.


            Current values:


            - `GENERIC_EVIDENCE`: Default evidence type used if no other category applies.

            - `ONLINE_OR_APP_ACCESS_LOG`: Server or activity logs that show proof of the cardholder’s identity and that the cardholder successfully ordered and received the goods (digitally or otherwise). Example evidence includes IP addresses, corresponding timestamps/dates, cardholder’s name and email address linked to a cardholder profile held by the seller, proof the same device and card (used in dispute) were previously used in prior undisputed transaction, and any related detailed activity.

            - `AUTHORIZATION_DOCUMENTATION`: **[File Only]** Evidence that the cardholder did provide authorization for the charge. Example evidence includes a signed credit card authorization.

            - `CANCELLATION_OR_REFUND_DOCUMENTATION`: Evidence that the cardholder acknowledged your refund or cancellation policy. Example evidence includes a signature or checkbox showing the cardholder’s acknowledgement of your refund or cancellation policy.

            - `CARDHOLDER_COMMUNICATION`: **[File Only]** Evidence that shows relevant communication with the cardholder. Example evidence includes emails or texts that show the cardholder received goods/services or demonstrate cardholder satisfaction.

            - `CARDHOLDER_INFORMATION`: Evidence that validates the customer''s identity. Example evidence includes personally identifiable details such as name, email address, purchaser IP address, and a copy of the cardholder ID.

            - `PURCHASE_ACKNOWLEDGEMENT`: Evidence that shows proof of the sale/transaction. Example evidence includes an invoice, contract, or other item showing the customer’s acknowledgement of the purchase and your terms.

            - `DUPLICATE_CHARGE_DOCUMENTATION`: **[File Only]** Evidence that shows the charges in question are valid and distinct from one another. Example evidence includes receipts, shipping labels, and invoices along with their distinct payment IDs.

            - `PRODUCT_OR_SERVICE_DESCRIPTION`: A description of the product or service sold.

            - `RECEIPT`: A receipt or message sent to the cardholder detailing the charge. Note: You do not need to upload the Square receipt; Square submits the receipt on your behalf.

            - `SERVICE_RECEIVED_DOCUMENTATION`: Evidence that the service was provided to the cardholder or the expected date that services will be rendered. Example evidence includes a signed delivery form, work order, expected delivery date, or other written agreements.

            - `PROOF_OF_DELIVERY_DOCUMENTATION`: Evidence that shows the product was provided to the cardholder or the expected date of delivery. Example evidence includes a signed delivery form or written agreement acknowledging receipt of the goods or services.

            - `RELATED_TRANSACTION_DOCUMENTATION`: Evidence that shows the cardholder previously processed transactions on the same card and did not dispute them.

            - `REBUTTAL_EXPLANATION`: An explanation of why the cardholder’s claim is invalid. Example evidence includes an explanation of why each distinct charge is a legitimate purchase, why the cardholder’s claim for credit owed due to their attempt to cancel, return, or refund is invalid per your stated policy and cardholder agreement, or an explanation of how the cardholder did not attempt to remedy the issue with you first to receive credit.

            - `TRACKING_NUMBER`: The tracking number for the order provided by the shipping carrier. If you have multiple numbers, they need to be submitted individually as separate pieces of evidence.'
        text:
          type: string
          description: The blob of text to upload as evidence.
        metadata:
          $ref: '#/components/schemas/Metadata'
      required:
      - category
      - text
      description: Details about the evidence to create.
      title: DisputesDisputeIdEvidenceTextPostRequestBodyContentApplicationJsonSchemaEvidence
    DisputeSettlementWithholding:
      type: string
      enum:
      - NOT_WITHHELD
      - WITHHELD_ALREADY
      description: 'Indicates if the disputed amount has already been withheld from a settlement or not.


        Current values:


        - `NOT_WITHHELD`: The disputed amount has not yet been withheld in a settlement. It may impact future settlements if the dispute is "lost" by the merchant.


        - `WITHHELD_ALREADY`: The disputed amount was withheld in a prior settlement. This dispute will not impact future settlements.'
      title: DisputeSettlementWithholding
    Disputes_retrieve-dispute_Response_200:
      type: object
      properties:
        dispute:
          $ref: '#/components/schemas/Dispute'
      required:
      - dispute
      title: Disputes_retrieve-dispute_Response_200
    Disputes_create-dispute-evidence-text_Response_201:
      type: object
      properties:
        evidence:
          $ref: '#/components/schemas/DisputeEvidence'
      title: Disputes_create-dispute-evidence-text_Response_201
    DisputeEvidenceType:
      type: string
      enum:
      - FILE
      - TEXT
      description: 'Indicates if the evidence is a file or plain text.


        Current values:

        - `TEXT`: The evidence is a blob of text under 500 characters.

        - `FILE`: The evidence is an uploaded binary file.'
      title: DisputeEvidenceType
    DisputesDisputeIdEvidenceFilePostRequestBodyContentMultipartFormDataSchemaRequest:
      type: object
      properties:
        idempotency_key:
          $ref: '#/components/schemas/IdempotencyKey'
        evidence:
          $ref: '#/components/schemas/DisputesDisputeIdEvidenceFilePostRequestBodyContentMultipartFormDataSchemaRequestEvidence'
          description: Details about the evidence to create.
      description: JSON-encoded payload describing the contents of the file uploaded
      title: DisputesDisputeIdEvidenceFilePostRequestBodyContentMultipartFormDataSchemaRequest
    DisputesDisputeIdEvidenceTextPostRequestBodyContentApplicationJsonSchemaEvidenceCategory:
      type: string
      enum:
      - GENERIC_EVIDENCE
      - ONLINE_OR_APP_ACCESS_LOG
      - AUTHORIZATION_DOCUMENTATION
      - CANCELLATION_OR_REFUND_DOCUMENTATION
      - CARDHOLDER_COMMUNICATION
      - CARDHOLDER_INFORMATION
      - PURCHASE_ACKNOWLEDGEMENT
      - DUPLICATE_CHARGE_DOCUMENTATION
      - PRODUCT_OR_SERVICE_DESCRIPTION
      - RECEIPT
      - SERVICE_RECEIVED_DOCUMENTATION
      - PROOF_OF_DELIVERY_DOCUMENTATION
      - RELATED_TRANSACTION_DOCUMENTATION
      - REBUTTAL_EXPLANATION
      - TRACKING_NUMBER
      description: 'Describes what type of information is contained in this piece of evidence.


        Current values:


        - `GENERIC_EVIDENCE`: Default evidence type used if no other category applies.

        - `ONLINE_OR_APP_ACCESS_LOG`: Server or activity logs that show proof of the cardholder’s identity and that the cardholder successfully ordered and received the goods (digitally or otherwise). Example evidence includes IP addresses, corresponding timestamps/dates, cardholder’s name and email address linked to a cardholder profile held by the seller, proof the same device and card (used in dispute) were previously used in prior undisputed transaction, and any related detailed activity.

        - `AUTHORIZATION_DOCUMENTATION`: **[File Only]** Evidence that the cardholder did provide authorization for the charge. Example evidence includes a signed credit card authorization.

        - `CANCELLATION_OR_REFUND_DOCUMENTATION`: Evidence that the cardholder acknowledged your refund or cancellation policy. Example evidence includes a signature or checkbox showing the cardholder’s acknowledgement of your refund or cancellation policy.

        - `CARDHOLDER_COMMUNICATION`: **[File Only]** Evidence that shows relevant communication with the cardholder. Example evidence includes emails or texts that show the cardholder received goods/services or demonstrate cardholder satisfaction.

        - `CARDHOLDER_INFORMATION`: Evidence that validates the customer''s identity. Example evidence includes personally identifiable details such as name, email address, purchaser IP address, and a copy of the cardholder ID.

        - `PURCHASE_ACKNOWLEDGEMENT`: Evidence that shows proof of the sale/transaction. Example evidence includes an invoice, contract, or other item showing the customer’s acknowledgement of the purchase and your terms.

        - `DUPLICATE_CHARGE_DOCUMENTATION`: **[File Only]** Evidence that shows the charges in question are valid and distinct from one another. Example evidence includes receipts, shipping labels, and invoices along with their distinct payment IDs.

        - `PRODUCT_OR_SERVICE_DESCRIPTION`: A description of the product or service sold.

        - `RECEIPT`: A receipt or message sent to the cardholder detailing the charge. Note: You do not need to upload the Square receipt; Square submits the receipt on your behalf.

        - `SERVICE_RECEIVED_DOCUMENTATION`: Evidence that the service was provided to the cardholder or the expected date that services will be rendered. Example evidence includes a signed delivery form, work order, expected delivery date, or other written agreements.

        - `PROOF_OF_DELIVERY_DOCUMENTATION`: Evidence that shows the product was provided to the cardholder or the expected date of delivery. Example evidence includes a signed delivery form or written agreement acknowledging receipt of the goods or services.

        - `RELATED_TRANSACTION_DOCUMENTATION`: Evidence that shows the cardholder previously processed transactions on the same card and did not dispute them.

        - `REBUTTAL_EXPLANATION`: An explanation of why the cardholder’s claim is invalid. Example evidence includes an explanation of why each distinct charge is a legitimate purchase, why the cardholder’s claim for credit owed due to their attempt to cancel, return, or refund is invalid per your stated policy and cardholder agreement, or an explanation of how the cardholder did not attempt to remedy the issue with you first to receive credit.

        - `TRACKING_NUMBER`: The tracking number for the order provided by the shipping carrier. If you have multiple numbers, they need to be submitted individually as separate pieces of evidence.'
      title: DisputesDisputeIdEvidenceTextPostRequestBodyContentApplicationJsonSchemaEvidenceCategory
    Error:
      type: object
      properties:
        category:
          $ref: '#/components/schemas/ErrorCategory'
          description: The high-level reason the error occurred.
        code:
          type: string
          description: 'A unique identifier for the specific type of error that occurred. For more information, see [Error Code Reference](/cash-app-pay-partner-api/guides/technical-guides/api-fundamentals/errors/error-code-reference).


            Min length: `1`'
        detail:
          type: string
          description: 'Human-readable description of why the error occurred and how to resolve it.


            Min length: `1`'
        field:
          type: string
          description: 'The field in the request that caused the error, using array and object dot notation.


            Min length: `1`'
      required:
      - category
      - code
      description: Represents an error encountered during a request to the API.
      title: Error
    DisputeEvidenceCategory:
      type: string
      enum:
      - GENERIC_EVIDENCE
      - ONLINE_OR_APP_ACCESS_LOG
      - AUTHORIZATION_DOCUMENTATION
      - CANCELLATION_OR_REFUND_DOCUMENTATION
      - CARDHOLDER_COMMUNICATION
      - CARDHOLDER_INFORMATION
      - PURCHASE_ACKNOWLEDGEMENT
      - DUPLICATE_CHARGE_DOCUMENTATION
      - PRODUCT_OR_SERVICE_DESCRIPTION
      - RECEIPT
      - SERVICE_RECEIVED_DOCUMENTATION
      - PROOF_OF_DELIVERY_DOCUMENTATION
      - RELATED_TRANSACTION_DOCUMENTATION
      - REBUTTAL_EXPLANATION
      - TRACKING_NUMBER
      description: 'Describes what type of information is contained in this piece of evidence.


        Current values:


        - `GENERIC_EVIDENCE`: Default evidence type used if no other category applies.

        - `ONLINE_OR_APP_ACCESS_LOG`: Server or activity logs that show proof of the cardholder’s identity and that the cardholder successfully ordered and received the goods (digitally or otherwise). Example evidence includes IP addresses, corresponding timestamps/dates, cardholder’s name and email address linked to a cardholder profile held by the seller, proof the same device and card (used in dispute) were previously used in prior undisputed transaction, and any related detailed activity.

        - `AUTHORIZATION_DOCUMENTATION`: **[File Only]** Evidence that the cardholder did provide authorization for the charge. Example evidence includes a signed credit card authorization.

        - `CANCELLATION_OR_REFUND_DOCUMENTATION`: Evidence that the cardholder acknowledged your refund or cancellation policy. Example evidence includes a signature or checkbox showing the cardholder’s acknowledgement of your refund or cancellation policy.

        - `CARDHOLDER_COMMUNICATION`: **[File Only]** Evidence that shows relevant communication with the cardholder. Example evidence includes emails or texts that show the cardholder received goods/services or demonstrate cardholder satisfaction.

        - `CARDHOLDER_INFORMATION`: Evidence that validates the customer''s identity. Example evidence includes personally identifiable details such as name, email address, purchaser IP address, and a copy of the cardholder ID.

        - `PURCHASE_ACKNOWLEDGEMENT`: Evidence that shows proof of the sale/transaction. Example evidence includes an invoice, contract, or other item showing the customer’s acknowledge

# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cash-app/refs/heads/main/openapi/cash-app-disputes-api-openapi.yml