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. |
JSON Schema
{
"$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.
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.