Cash App · Schema

dispute

Dispute object

Financial ServicesPaymentsUnited StatesFintechNeobankBuy Now Pay LaterPayment AcceptanceDigital WalletConsumer Finance

Properties

Name Type Description
id string Dispute identifier
order string The token of the order that the dispute is for.
amount string The amount of the dispute
reason object The reason for the dispute.
status object The current state of the dispute. Values depend on how the dispute state machine is modeled.
open boolean `True` if a final decision on the dispute hasn't been made yet.
responseDueBy string Deadline by which the merchant must respond to the dispute. (Epoch timestamp in seconds, timezone UTC +0.00)
createdAt string A timestamp indicating when the dispute was created. (Epoch timestamp in seconds, timezone UTC +0.00)
openingNote string Text from the customer describing why the dispute was opened or the reason for the complaint. While dispute category codes are helpful at informing what a merchant should present, it doesn’t provide r
openingNoteAttachments string Attachments to supplement the `openingNote` if the customer provided photos or screenshots as part of their dispute description.
updatedAt string Timestamp when the dispute was updated. (Epoch timestamp in seconds, timezone UTC +0.00)
closingReason object A reason indicating how the final decision on the dispute was reached. Recommended possible values listed in Closing Reasons.
closingNote string Text describing in detail how the final decision on the dispute was reached. This supplements the `closingReason`.
merchantOrderId string The identifier for the transaction on the merchant side.
transactionDate string The timestamp of the order created by the customer. (Epoch timestamp in seconds, timezone UTC +0.00)
settlementAmount string The settlementAmount for audit usage.
meta object The extra information for merchants to match payment.
View JSON Schema on GitHub

JSON Schema

cash-app-dispute-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/cash-app/main/json-schema/cash-app-dispute-schema.json",
  "title": "dispute",
  "description": "Dispute object",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/cash-app-disputes-api-openapi.yml#/components/schemas/dispute",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Dispute identifier"
    },
    "order": {
      "type": "string",
      "description": "The token of the order that the dispute is for."
    },
    "amount": {
      "type": "string",
      "description": "The amount of the dispute"
    },
    "reason": {
      "$ref": "#/$defs/DisputeReason",
      "description": "The reason for the dispute."
    },
    "status": {
      "$ref": "#/$defs/DisputeStatus",
      "description": "The current state of the dispute. Values depend on how the dispute state machine is modeled."
    },
    "open": {
      "type": "boolean",
      "default": true,
      "description": "`True` if a final decision on the dispute hasn't been made yet."
    },
    "responseDueBy": {
      "type": "string",
      "description": "Deadline by which the merchant must respond to the dispute. (Epoch timestamp in seconds, timezone UTC +0.00)"
    },
    "createdAt": {
      "type": "string",
      "description": "A timestamp indicating when the dispute was created. (Epoch timestamp in seconds, timezone UTC +0.00)"
    },
    "openingNote": {
      "type": "string",
      "description": "Text from the customer describing why the dispute was opened or the reason for the complaint. While dispute category codes are helpful at informing what a merchant should present, it doesn’t provide reasoning behind the customer’s complaint. In some cases, this can help merchants troubleshoot the dispute directly with their customers."
    },
    "openingNoteAttachments": {
      "type": "string",
      "description": "Attachments to supplement the `openingNote` if the customer provided photos or screenshots as part of their dispute description."
    },
    "updatedAt": {
      "type": "string",
      "description": "Timestamp when the dispute was updated. (Epoch timestamp in seconds, timezone UTC +0.00)"
    },
    "closingReason": {
      "$ref": "#/$defs/DisputeClosingReason",
      "description": "A reason indicating how the final decision on the dispute was reached. Recommended possible values listed in Closing Reasons."
    },
    "closingNote": {
      "type": "string",
      "description": "Text describing in detail how the final decision on the dispute was reached. This supplements the `closingReason`."
    },
    "merchantOrderId": {
      "type": "string",
      "description": "The identifier for the transaction on the merchant side."
    },
    "transactionDate": {
      "type": "string",
      "description": "The timestamp of the order created by the customer. (Epoch timestamp in seconds, timezone UTC +0.00)"
    },
    "settlementAmount": {
      "type": "string",
      "description": "The settlementAmount for audit usage."
    },
    "meta": {
      "$ref": "#/$defs/meta",
      "description": "The extra information for merchants to match payment."
    }
  },
  "required": [
    "id",
    "order",
    "amount",
    "reason",
    "status",
    "open",
    "responseDueBy",
    "createdAt",
    "openingNote",
    "closingReason",
    "merchantOrderId",
    "transactionDate",
    "settlementAmount"
  ],
  "$defs": {
    "DisputeClosingReason": {
      "type": "string",
      "enum": [
        "merchant_accepted",
        "evidence_accepted",
        "evidence_rejected",
        "deadline_expired",
        "customer_cancelled"
      ],
      "description": "A reason indicating how the final decision on the dispute was reached. Recommended possible values listed in Closing Reasons.",
      "title": "DisputeClosingReason"
    },
    "DisputeReason": {
      "type": "string",
      "enum": [
        "product_not_received",
        "product_unacceptable",
        "credit_not_processed",
        "order_canceled",
        "duplicate",
        "incorrect_amount",
        "paid_by_other_means",
        "fraudulent",
        "fraudulent_merchant"
      ],
      "description": "The reason for the dispute.",
      "title": "DisputeReason"
    },
    "DisputeStatus": {
      "type": "string",
      "enum": [
        "needs_response",
        "under_review",
        "won",
        "lost",
        "merchant_refunded",
        "merchant_voided"
      ],
      "description": "The current state of the dispute. Values depend on how the dispute state machine is modeled.",
      "title": "DisputeStatus"
    },
    "meta": {
      "type": "object",
      "properties": {
        "transactionAmount": {
          "type": "string",
          "description": "The transaction amount for the order."
        },
        "network": {
          "type": "string",
          "description": "The payment network used by the customer. (For example, `Visa` or `MasterCard`)"
        },
        "networkReferenceId": {
          "type": "string",
          "description": "The identifier for the payment."
        },
        "orderType": {
          "type": "string",
          "description": "The type of order. `ONLINE` or `INSTORE`"
        }
      },
      "required": [
        "transactionAmount",
        "orderType"
      ],
      "title": "meta"
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/cash-app-dispute"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.