Skip to main content
GET
JavaScript

Authorizations

Authorization
string
header
required

A company API key, company scoped JWT, app API key, or user OAuth token. You must prepend your key/token with the word 'Bearer', which will look like Bearer ***************************

Headers

Api-Version-Date
string

Pins the request to a dated API version.

Example:

"2026-07-25"

Path Parameters

id
string
required

The dispute ID (dspt_ tag).

Response

dispute returned

account_id
string | null
required

The account the dispute was filed against, prefixed biz_.

amount
number
required

The disputed amount, in whole units of currency.

buyer
object | null
required

The customer who filed the dispute.

created_at
string
required

When the dispute was opened, as an ISO 8601 timestamp.

currency
string
required

Three-letter ISO currency code of the disputed amount.

evidence
object
required

The evidence packet sent to the processor to contest the dispute.

evidence_due_at
string | null
required

The deadline to submit evidence, as an ISO 8601 timestamp. Whop reserves the last 24 hours before the processor's own cutoff to forward the submission.

evidence_editable
boolean
required

Whether evidence can still be changed and submitted.

evidence_locked_reason
enum<string> | null
required

Why evidence can no longer be edited. null while evidence_editable is true.

Available options:
submitted,
response_window_closed,
not_contestable,
null
Example:

"submitted"

evidence_submitted_at
string | null
required

When the evidence was submitted to the processor, as an ISO 8601 timestamp.

id
string
required

Dispute ID, prefixed dspt_.

inquiry
boolean
required

Whether this is a pre-dispute inquiry rather than a formal chargeback. Inquiries follow the same lifecycle but move no funds unless one escalates.

payment
object | null
required

The payment being disputed.

plan_id
string | null
required

The plan the disputed payment was made on, prefixed plan_.

product_id
string | null
required

The product the disputed payment was for, prefixed prod_.

rapid_dispute_resolution
boolean
required

Whether Visa Rapid Dispute Resolution settled this automatically. These refund the customer without an evidence round.

reason
enum<string>
required

Why the customer says they are disputing, normalized across card networks. other covers a code Whop has not categorized yet — read reason_code for the raw value.

Available options:
fraudulent,
unrecognized,
declined_authorization,
product_not_received,
product_unacceptable,
subscription_canceled,
credit_not_processed,
duplicate,
processing_error,
documentation_request,
bank_cannot_process,
other
Example:

"fraudulent"

reason_code
string | null
required

The raw card-network or processor reason code, such as 10.4.

status
enum<string>
required

Where the dispute stands. needs_response is awaiting evidence, under_review is with the processor, won returned the funds to the seller, lost returned them to the customer, and closed ended without a ruling.

Available options:
needs_response,
under_review,
won,
lost,
closed
Example:

"needs_response"

updated_at
string
required

When the dispute was last changed, as an ISO 8601 timestamp.