New Chargeflow docs. Everything for merchants, platforms, and the API in one place.
Log in
Current (2025-04-01)Merchants API

Disputes

Disputes management endpoints

POST
/public/2025-04-01/disputes/{disputeId}/evidence
x-api-key<token>

Your Chargeflow API key, sent on every request. Generate one in the Chargeflow App, or see API keys.

In: header

Path Parameters

disputeIdstringRequired

The unique Chargeflow object identifier of the dispute.

Match^[0-9a-fA-F]{24}$

Request Body

multipart/form-data

TypeScript Definitions

Use the request body type in TypeScript.

Option 1: object

filefileRequired
Formatbinary
evidenceUploadCategorystringRequired

The category of the evidence upload

Value in

  • "tracking_information"
  • "customer_communication"
  • "invoice"

Option 2: object

filefileRequired
Formatbinary
evidenceUploadCategorystringRequired

The category of the evidence upload

Value in

  • "additional_evidence"
  • "additional_notes"
contentstringRequired

The content of the evidence. Only required with additional_notes and additional_evidence categories

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/public/2025-04-01/disputes/66e6ea9ecd94925a9f8060d9/evidence" \  -F file="string" \  -F evidenceUploadCategory="invoice"
{  "requestId": "string",  "evidenceId": "string"}
GET
/public/2025-04-01/disputes/{disputeId}
x-api-key<token>

Your Chargeflow API key, sent on every request. Generate one in the Chargeflow App, or see API keys.

In: header

Path Parameters

disputeIdstringRequired

The unique Chargeflow object identifier of the dispute.

Match^[0-9a-fA-F]{24}$

Query Parameters

expandExpandable FieldsOptional

Available Expansions

Use the expand parameter to include additional resource details in the response.

Available options:

ParameterDescription
transactionFull payment transaction details including amount, currency, payment method and more
orderComplete order details including products, shipping, and fulfillment and more
subscriptionComplete subscription details including plan, frequency, cancellation reason and more
customer_communicationComplete customer communication details including messages, sender, and more

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/public/2025-04-01/disputes/66e6ea9ecd94925a9f8060d9"
{  "id": "66e6ea9ecd94925a9f8060d9",  "source": "stripe",  "source_id": "du_123456789",  "account_id": "66e6ea9ecd94925a9f8060d9",  "ext_account_id": "acc_123456",  "created_at": "2024-02-10T12:00:00Z",  "reason": "fraud",  "due_by": "2024-02-20T12:00:00Z",  "amount": 100,  "currency": "USD",  "status": "needs_response",  "stage": "Chargeback",  "closed_at": "2025-01-27T10:00:00Z",  "transaction": "66e6ea9ecd94925a9f8060d9",  "subscription": "66e6ea9ecd94925a9f8060d9",  "order": "ord_1234567890"}
PATCH
/public/2025-04-01/disputes/{disputeId}
x-api-key<token>

Your Chargeflow API key, sent on every request. Generate one in the Chargeflow App, or see API keys.

In: header

Path Parameters

disputeIdstringRequired

The unique Chargeflow object identifier of the dispute.

Match^[0-9a-fA-F]{24}$

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

transactionobjectOptional

A transaction represents a money exchange between a buyer and a merchant in return for a physical product, digital product, service, booking, or other goods and offerings.

orderobjectOptional

An order is a record of a customer's purchase request, detailing the items bought, payment information, fulfillment status, and more.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/public/2025-04-01/disputes/66e6ea9ecd94925a9f8060d9" \  -H "Content-Type: application/json" \  -d '{    "transaction": {      "source_id": "tx_1234567890",      "created_at": "2024-02-10T12:00:00Z",      "type": "paid",      "amount": 100,      "currency": "USD",      "payment_method": {        "type": "card",        "name": "John Doe",        "last4": "1234",        "expiry_month": 1,        "expiry_year": 2025,        "brand": "visa"      }    }  }'
{  "id": "66e6ea9ecd94925a9f8060d9",  "source": "stripe",  "source_id": "du_123456789",  "account_id": "66e6ea9ecd94925a9f8060d9",  "ext_account_id": "acc_123456",  "created_at": "2024-02-10T12:00:00Z",  "reason": "fraud",  "due_by": "2024-02-20T12:00:00Z",  "amount": 100,  "currency": "USD",  "status": "needs_response",  "stage": "Chargeback",  "closed_at": "2025-01-27T10:00:00Z",  "transaction": "66e6ea9ecd94925a9f8060d9",  "subscription": "66e6ea9ecd94925a9f8060d9",  "order": "ord_1234567890"}
POST
/public/2025-04-01/disputes/{disputeId}/subscription
x-api-key<token>

Your Chargeflow API key, sent on every request. Generate one in the Chargeflow App, or see API keys.

In: header

Path Parameters

disputeIdstringRequired

The unique Chargeflow object identifier of the dispute.

Match^[0-9a-fA-F]{24}$

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Creates a new Chargeflow subscription.

source_idstringRequired

The unique subscription identifier appears on the source from which the subscription originated.

Lengthlength <= 128
account_idstringOptional

The unique Chargeflow account identifier to which the subscription belongs. This field is required for platform users.

Match^[0-9a-fA-F]{24}$
created_atstringRequired

The time at which the subscription was created at the source in ISO 8601 format.

Formatdate-time
start_datestringRequired

The time at which the subscription was started at the source in ISO 8601 format.

Formatdate-time
frequencystringRequired

The frequency at which a subscription is billed.

Value in

  • "day"
  • "week"
  • "month"
  • "year"
frequency_countintegerRequired

The number of intervals per billing cycle. For example, if frequency = month and frequency_count = 1, the subscription renews every month. If frequency_count = 3, the subscription renews every three months.

Range1 <= value
collection_methodstringOptional

The billing method for the subscription.

Default"automatically"

Value in

  • "automatically"
  • "automatically_with_reminder"
  • "send_invoice"
updated_atstringNullableOptional

The time at which the subscription was updated at the source in ISO 8601 format.

Formatdate-time
end_datestringNullableOptional

The time at which the subscription was ended at the source in ISO 8601 format.

Formatdate-time
cancellation_datestringNullableOptional

The time at which the subscription was requested to be canceled at the source in ISO 8601 format. Returns null if a cancellation is never requested.

Formatdate-time

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/public/2025-04-01/disputes/66e6ea9ecd94925a9f8060d9/subscription" \  -H "Content-Type: application/json" \  -d '{    "source_id": "source_sub_1234567890",    "created_at": "2024-02-10T12:00:00Z",    "start_date": "2024-02-10T12:00:00Z",    "frequency": "month",    "frequency_count": 1  }'
{  "id": "66e6ea9ecd94925a9f8060d9",  "source_id": "source_sub_1234567890",  "account_id": "66e6ea9ecd94925a9f8060d9",  "ext_account_id": "acc_123456",  "created_at": "2024-02-10T12:00:00Z",  "updated_at": "2024-02-15T12:00:00Z",  "start_date": "2024-02-10T12:00:00Z",  "end_date": "2024-08-10T12:00:00Z",  "cancellation_date": "2024-07-10T12:00:00Z",  "frequency": "month",  "frequency_count": 1,  "cancellation_reason": "too_expensive",  "collection_method": "automatically",  "trial_start": "2024-02-10T12:00:00Z",  "trial_end": "2024-03-10T12:00:00Z",  "renews_at": "2024-03-10T12:00:00Z",  "plan_name": "Pro Plan",  "pricing_model": "fixed_price",  "status": "active"}
GET
/public/2025-04-01/disputes
x-api-key<token>

Your Chargeflow API key, sent on every request. Generate one in the Chargeflow App, or see API keys.

In: header

Query Parameters

offsetintegerOptional

The page number of the current response

Range0 <= value
Default0
limitintegerOptional

The number of disputes per page

Range1 <= value <= 100
Default25

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/public/2025-04-01/disputes?offset=0&limit=10"
{  "disputes": [],  "pagination": {    "totalCount": 0,    "offset": 0,    "limit": 25,    "totalPages": 0  }}
Was this page helpful?
llms.txt