> This page is for Cash App Pay Partner API.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.cash.app/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.cash.app/_mcp/server.

# List dispute evidence

GET https://api.cash.app/network/v1/disputes/{dispute_id}/evidence

Returns a list of all pieces of evidence associated with the given dispute.

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

Scopes: `DISPUTES_READ`

Reference: https://developers.cash.app/cash-app-pay-partner-api/api-reference/network-api/list-dispute-evidence

## Servers

- `https://api.cash.app/network/v1` (Production, default)
- `https://sandbox.api.cash.app/network/v1` (Sandbox)

## Request

### Path parameters

- `dispute_id` (string, required) — ID of the dispute.

### Query parameters

- `cursor` (string, optional) — 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.
- `limit` (integer, optional, default: 50) — Maximum number of pieces of dispute evidence to return

## Response

### 200

OK

- `evidence` (list of DisputeEvidence, required) — List of pieces of evidence for the dispute matching the given query parameters
- `cursor` (string, optional) — The pagination cursor to be used in a subsequent request. If empty, this is the final response.

## Errors

### 400 List Dispute Evidence Request Bad Request Error

Bad Request

- `errors` (list of Error, required) — A list of errors that occurred while processing the request. Min number of items: `1`

## Types

### DisputeEvidence

- `id` (string, required) — A unique identifier for the dispute evidence issued by Cash App. Min length: `1` Max length: `128`
- `dispute_id` (string, required) — ID of the dispute this evidence is associated with. Min length: `1` Max length: `128`
- `category` (enum, required) — 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.
  - Allowed values: `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`
- `type` (enum, required) — 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.
  - Allowed values: `FILE`, `TEXT`
- `created_at` (datetime, required) — When this evidence was created, in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) format (UTC).
- `file` (DisputeEvidenceFile, optional) — If the evidence is of type `FILE`, contains metadata about the binary file uploaded as evidence.
- `text` (string, optional) — If the evidence is of type `TEXT`, contains the blob of text created as evidence. Min length: `1` Max length: `500`
- `metadata` (map from string to string, optional) — Freeform key-value pairs of arbitrary data associated with this resource. Keys and values must be passed as strings and not contain any personally identifiable information (PII). Min keys: `0` Max keys: `50` > Note: Nested keys are not supported.

### Error

Represents an error encountered during a request to the API.

- `category` (enum, required) — The high-level reason the error occurred.
  - Allowed values: `API_ERROR`, `AUTHENTICATION_ERROR`, `BRAND_ERROR`, `DISPUTE_ERROR`, `MERCHANT_ERROR`, `INVALID_REQUEST_ERROR`, `PAYMENT_PROCESSING_ERROR`, `RATE_LIMIT_ERROR`, `WEBHOOK_ERROR`, `API_KEY_ERROR`, `GRANT_ERROR`
- `code` (string, required) — 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` (string, optional) — Human-readable description of why the error occurred and how to resolve it. Min length: `1`
- `field` (string, optional) — The field in the request that caused the error, using array and object dot notation. Min length: `1`

### DisputeEvidenceFile

If the evidence is of type `FILE`, contains metadata about the binary file uploaded as evidence.

- `filename` (string, required) — Name of the uploaded file. It should be descriptive enough to indicate what type of information is contained in the uploaded file.
- `content_type` (enum, required) — The MIME type of the uploaded file. Current values: - `application/pdf` - `image/heic` - `image/heif` - `image/jpeg` - `image/png` - `image/tiff`
  - Allowed values: `application/pdf`, `image/heic`, `image/heif`, `image/jpeg`, `image/png`, `image/tiff`

## Examples

**Response**

```json
{
  "evidence": [
    {
      "id": "EVD_dbdda8e161b7bad8519f7f73",
      "dispute_id": "DSPT_1fbjn9dg7rmz1xeyv6gkyh8vg",
      "category": "GENERIC_EVIDENCE",
      "type": "FILE",
      "created_at": "2022-01-01T12:00:00Z",
      "file": {
        "filename": "filename",
        "content_type": "application/pdf"
      },
      "text": "text",
      "metadata": {
        "my-meta": "meta-value"
      }
    }
  ],
  "cursor": "cursor"
}
```

**SDK Code**

```python
import requests

url = "https://api.cash.app/network/v1/disputes/DSPT_1fbjn9dg7rmz1xeyv6gkyh8vg/evidence"

response = requests.get(url)

print(response.json())
```

```javascript
const url = 'https://api.cash.app/network/v1/disputes/DSPT_1fbjn9dg7rmz1xeyv6gkyh8vg/evidence';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.cash.app/network/v1/disputes/DSPT_1fbjn9dg7rmz1xeyv6gkyh8vg/evidence"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.cash.app/network/v1/disputes/DSPT_1fbjn9dg7rmz1xeyv6gkyh8vg/evidence")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.cash.app/network/v1/disputes/DSPT_1fbjn9dg7rmz1xeyv6gkyh8vg/evidence")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.cash.app/network/v1/disputes/DSPT_1fbjn9dg7rmz1xeyv6gkyh8vg/evidence');

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.cash.app/network/v1/disputes/DSPT_1fbjn9dg7rmz1xeyv6gkyh8vg/evidence");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.cash.app/network/v1/disputes/DSPT_1fbjn9dg7rmz1xeyv6gkyh8vg/evidence")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```