{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/stripe/main/json-schema/stripe-dispute-list-schema.json",
  "title": "DisputeList",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/stripe-disputes-api-openapi.yml#/components/schemas/DisputeList",
  "type": "object",
  "required": [
    "data",
    "has_more",
    "object",
    "url"
  ],
  "properties": {
    "data": {
      "items": {
        "$ref": "#/$defs/dispute"
      },
      "type": "array"
    },
    "has_more": {
      "description": "True if this list has another page of items after this one that can be fetched.",
      "type": "boolean"
    },
    "object": {
      "description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`.",
      "enum": [
        "list"
      ],
      "type": "string"
    },
    "url": {
      "description": "The URL where this list can be accessed.",
      "maxLength": 5000,
      "pattern": "^/v1/disputes",
      "type": "string"
    }
  },
  "$defs": {
    "dispute": {
      "description": "A dispute occurs when a customer questions your charge with their card issuer.\nWhen this happens, you have the opportunity to respond to the dispute with\nevidence that shows that the charge is legitimate.\n\nRelated guide: [Disputes and fraud](https://stripe.com/docs/disputes)",
      "properties": {
        "amount": {
          "description": "Disputed amount. Usually the amount of the charge, but it can differ (usually because of currency fluctuation or because only part of the order is disputed).",
          "type": "integer"
        },
        "balance_transactions": {
          "description": "List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute.",
          "items": {
            "$ref": "#/$defs/balance_transaction"
          },
          "type": "array"
        },
        "charge": {
          "anyOf": [
            {
              "maxLength": 5000,
              "type": "string"
            },
            {
              "$ref": "#/$defs/charge"
            }
          ],
          "description": "ID of the charge that's disputed.",
          "x-expansionResources": {
            "oneOf": [
              {
                "$ref": "#/$defs/charge"
              }
            ]
          }
        },
        "created": {
          "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
          "format": "unix-time",
          "type": "integer"
        },
        "currency": {
          "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).",
          "type": "string"
        },
        "evidence": {
          "$ref": "#/$defs/dispute_evidence"
        },
        "evidence_details": {
          "$ref": "#/$defs/dispute_evidence_details"
        },
        "id": {
          "description": "Unique identifier for the object.",
          "maxLength": 5000,
          "type": "string"
        },
        "is_charge_refundable": {
          "description": "If true, it's still possible to refund the disputed payment. After the payment has been fully refunded, no further funds are withdrawn from your Stripe account as a result of this dispute.",
          "type": "boolean"
        },
        "livemode": {
          "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.",
          "type": "boolean"
        },
        "metadata": {
          "additionalProperties": {
            "maxLength": 500,
            "type": "string"
          },
          "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
          "type": "object"
        },
        "object": {
          "description": "String representing the object's type. Objects of the same type share the same value.",
          "enum": [
            "dispute"
          ],
          "type": "string"
        },
        "payment_intent": {
          "anyOf": [
            {
              "maxLength": 5000,
              "type": "string"
            },
            {
              "$ref": "#/$defs/payment_intent"
            }
          ],
          "description": "ID of the PaymentIntent that's disputed.",
          "x-expansionResources": {
            "oneOf": [
              {
                "$ref": "#/$defs/payment_intent"
              }
            ]
          }
        },
        "payment_method_details": {
          "$ref": "#/$defs/dispute_payment_method_details"
        },
        "reason": {
          "description": "Reason given by cardholder for dispute. Possible values are `bank_cannot_process`, `check_returned`, `credit_not_processed`, `customer_initiated`, `debit_not_authorized`, `duplicate`, `fraudulent`, `general`, `incorrect_account_details`, `insufficient_funds`, `product_not_received`, `product_unacceptable`, `subscription_canceled`, or `unrecognized`. Learn more about [dispute reasons](https://stripe.com/docs/disputes/categories).",
          "maxLength": 5000,
          "type": "string"
        },
        "status": {
          "description": "Current status of dispute. Possible values are `warning_needs_response`, `warning_under_review`, `warning_closed`, `needs_response`, `under_review`, `won`, or `lost`.",
          "enum": [
            "lost",
            "needs_response",
            "under_review",
            "warning_closed",
            "warning_needs_response",
            "warning_under_review",
            "won"
          ],
          "type": "string"
        }
      },
      "required": [
        "amount",
        "balance_transactions",
        "charge",
        "created",
        "currency",
        "evidence",
        "evidence_details",
        "id",
        "is_charge_refundable",
        "livemode",
        "metadata",
        "object",
        "reason",
        "status"
      ],
      "title": "Dispute",
      "type": "object",
      "x-expandableFields": [
        "balance_transactions",
        "charge",
        "evidence",
        "evidence_details",
        "payment_intent",
        "payment_method_details"
      ],
      "x-resourceId": "dispute"
    }
  }
}