For archived content, access the previous documentation here or the previous API reference here.

Get dispute details

Prev Next
Get
/v1/disputes/{dispute_id}

Retrieve full details of a single dispute, including category, allowed evidence types, and submitted evidences. Use include_timeline=true to also receive the audit trail of state transitions.

Security
HTTP
Type basic
Path parameters
dispute_id
stringRequired

Unique identifier of the dispute. Returned in the id field from GET /disputes or in webhook payloads.

Query parameters
include_timeline
boolean

If true, embeds timeline events inside the dispute response.

Defaultfalse
Responses
200

Detailed information about the dispute.

Expand All
object
id
string

Xendit-generated unique dispute identifier.

Examplemi-dspt-f44d259f-fd9d-4de9-80de-1eef3f1506b7
created_at
string (date-time)

Timestamp when the dispute was created, in ISO 8601 format.

Example2026-09-03T04:11:58.756Z
updated_at
string (date-time)

Timestamp of the last status change, in ISO 8601 format.

Example2026-09-03T04:14:53.499Z
channel_code
string

Payment channel through which the original transaction was made.

ExampleCARDS
card_brands
string | null

Card network associated with the dispute. Only present when channel_code is CARDS.

ExampleVISA
status
string

Current lifecycle state.

Valid values[ "ACTION_REQUIRED", "UNDER_REVIEW", "WON", "LOST" ]
ExampleACTION_REQUIRED
status_reason
string | null

Reason for the dispute outcome.

Valid values[ "EXCEEDED_DEADLINE", "ACCEPTED", "CHALLENGED", "WITHDRAWN", "ARBITRATION", "NEED_MORE_INFORMATION" ]
ExampleEXCEEDED_DEADLINE
currency
string

Currency of the disputed amount, in ISO-4217 format.

ExampleUSD
amount
object (Merchant_Dispute_API_DisputeAmount)
initial
string

The amount when the dispute was first raised.

Example1000.00
terminal
string | null

The final resolved amount. May differ from initial for partial disputes. Null while unresolved.

Example1000.00
note
string | null

Optional guidance message from Xendit explaining the dispute reason.

ExamplePlease provide evidence of delivery.
due_date
string (date-time)

The deadline to take action on this dispute.

Example2026-09-10T04:11:54.917Z
evidences
Array of object (Merchant_Dispute_API_EvidenceItem)

Flat list of evidence items (not grouped).

object
id
string

Xendit-generated unique identifier for this evidence item. Use in PATCH and DELETE evidence endpoints.

Examplemi-dspt-evd-20d5cc8a-4ba0-4378-b96f-c4bcbb8a1d0e
type
string

Evidence type. FILE indicates a file attachment. TEXT indicates inline text content.

Valid values[ "FILE", "TEXT" ]
ExampleFILE
category_slug
string

Slug of the evidence category this belongs to.

Exampleproof_of_delivery
text_content
string | null

The text content of this evidence item. Only present when type is TEXT.

ExampleThe customer completed the transaction at our store.
mime_type
string | null

MIME type of the uploaded file (e.g., application/pdf, image/jpeg). Only present when type is FILE.

Exampleapplication/pdf
filename
string | null

Original filename of the uploaded file. Only present when type is FILE.

Examplereceipt.pdf
content_hash
string | null

MD5 hash of the file content, prefixed with md5:. Only present when type is FILE.

Examplemd5:318d5cb8146d90b9f02a9fe5809583aa
created_at
string (date-time)

Timestamp when this evidence item was submitted, in ISO 8601 format.

Example2026-09-03T04:14:53.499Z
category
object | null

Dispute category with the evidence categories allowed for it. Null when the category is not set or could not be resolved.

name
string

Slug of the dispute category.

Examplefraud
allowed_evidence
Array of object (Merchant_Dispute_API_PublicAllowedEvidenceCategory)
object
name
string

Evidence category slug. Use this exact value as the multipart form field name when calling POST /v1/disputes//evidences.

Examplereceipt
type
string

FILE requires a file upload; TEXT accepts inline text content.

Valid values[ "FILE", "TEXT" ]
ExampleFILE
max_length
integer (int64)

Maximum size for this evidence category. For FILE: maximum file size in bytes. For TEXT: maximum character count.

Example10485760
is_recommended
boolean

When true, Xendit recommends submitting this evidence type to strengthen your challenge.

Exampletrue
max_evidences
integer

Maximum number of evidence items accepted for this evidence category.

Example1
related_disputes
Array of string

IDs of other disputes linked to the same original transaction.

string
payment_id
string | null

Xendit payment identifier for the original disputed transaction.

Examplepy-59a3cf39-2a7d-4733-a3e3-8177c78090f7
reference_id
string | null

Your reference ID for the original transaction.

Exampledispute-test-1788408708890
timeline
Array of object (Merchant_Dispute_API_TimelineEvent)

Only included when include_timeline=true query param is passed.

object
status
string

Dispute status at the time of this event.

Valid values[ "ACTION_REQUIRED", "UNDER_REVIEW", "WON", "LOST" ]
ExampleACTION_REQUIRED
status_reason
string | null

Reason associated with this status transition. Only populated for WON or LOST transitions.

Valid values[ "EXCEEDED_DEADLINE", "ACCEPTED", "CHALLENGED", "WITHDRAWN", "ARBITRATION", "NEED_MORE_INFORMATION" ]
Example
actor
string

Entity that triggered this event. MERCHANT_VIA_DASHBOARD or MERCHANT_VIA_API for merchant actions. XENDIT for internal system actions.

Valid values[ "MERCHANT_VIA_DASHBOARD", "MERCHANT_VIA_API", "XENDIT" ]
ExampleXENDIT
action
string

Internal action name describing what occurred at this step. Provided for informational and debugging purposes.

ExampleSEND_TO_MERCHANT
note
string | null

Optional message associated with this timeline event.

Example
due_date
string (date-time) | null

Response deadline applicable at this point in the timeline.

Example2026-09-10T04:11:54.917Z
amount
object | null

Amount snapshot at this step. Null when the event carries no amount change.

initial
string

The amount when the dispute was first raised.

Example1000.00
terminal
string | null

The final resolved amount. May differ from initial for partial disputes. Null while unresolved.

Example1000.00
evidences
Array of string

Evidence IDs associated with this event.

string
timestamp
string (date-time)

When this event occurred, in ISO 8601 format.

Example2026-09-03T04:11:58.756Z
403

Access not allowed for this business.

{
  "error_code": "RESTRICTED_ACCESS",
  "message": "Access to this resource is restricted."
}
object
error_code
string
ExampleILLEGAL_STATE
message
string
ExampleThe requested action is not allowed in the current dispute state.
404

Dispute not found.

{
  "error_code": "DISPUTE_NOT_FOUND",
  "message": "The specified dispute was not found."
}
object
error_code
string
ExampleILLEGAL_STATE
message
string
ExampleThe requested action is not allowed in the current dispute state.