import Whop from '@whop/sdk';
const client = new Whop({
apiKey: process.env['WHOP_API_KEY'], // This is the default and can be omitted
});
const dispute = await client.disputes.update('id');
console.log(dispute.id);curl --request PATCH \
--url https://api.whop.com/api/v1/disputes/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"evidence": {
"access_activity_log": "Vehicle checked in 2026-01-04 09:02, released 2026-01-05 16:40. Signed release on file.",
"billing_address": "4180 Burnet Rd, Austin, TX 78756, US",
"cancellation_policy_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
},
"cancellation_policy_disclosure": "Shown at checkout and again in the booking confirmation email.",
"customer_communication_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
},
"customer_email_address": "marcus@shinetime.example",
"customer_name": "Dana Whitfield",
"notes": "Two-day ceramic coating completed and collected. Before and after photos attached.",
"product_description": "Two-stage paint correction with a three-year ceramic coating.",
"refund_policy_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
},
"refund_policy_disclosure": "Linked from the booking page and accepted at checkout.",
"refund_refusal_explanation": "Work was completed and the vehicle collected, so the deposit is non-refundable.",
"service_date": "2026-01-01",
"uncategorized_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
}
}
}
'import requests
url = "https://api.whop.com/api/v1/disputes/{id}"
payload = { "evidence": {
"access_activity_log": "Vehicle checked in 2026-01-04 09:02, released 2026-01-05 16:40. Signed release on file.",
"billing_address": "4180 Burnet Rd, Austin, TX 78756, US",
"cancellation_policy_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
},
"cancellation_policy_disclosure": "Shown at checkout and again in the booking confirmation email.",
"customer_communication_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
},
"customer_email_address": "marcus@shinetime.example",
"customer_name": "Dana Whitfield",
"notes": "Two-day ceramic coating completed and collected. Before and after photos attached.",
"product_description": "Two-stage paint correction with a three-year ceramic coating.",
"refund_policy_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
},
"refund_policy_disclosure": "Linked from the booking page and accepted at checkout.",
"refund_refusal_explanation": "Work was completed and the vehicle collected, so the deposit is non-refundable.",
"service_date": "2026-01-01",
"uncategorized_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
}
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.whop.com/api/v1/disputes/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'evidence' => [
'access_activity_log' => 'Vehicle checked in 2026-01-04 09:02, released 2026-01-05 16:40. Signed release on file.',
'billing_address' => '4180 Burnet Rd, Austin, TX 78756, US',
'cancellation_policy_attachment' => [
'direct_upload_id' => 'eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'id' => 'file_xxxxxxxxxxxxxx'
],
'cancellation_policy_disclosure' => 'Shown at checkout and again in the booking confirmation email.',
'customer_communication_attachment' => [
'direct_upload_id' => 'eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'id' => 'file_xxxxxxxxxxxxxx'
],
'customer_email_address' => 'marcus@shinetime.example',
'customer_name' => 'Dana Whitfield',
'notes' => 'Two-day ceramic coating completed and collected. Before and after photos attached.',
'product_description' => 'Two-stage paint correction with a three-year ceramic coating.',
'refund_policy_attachment' => [
'direct_upload_id' => 'eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'id' => 'file_xxxxxxxxxxxxxx'
],
'refund_policy_disclosure' => 'Linked from the booking page and accepted at checkout.',
'refund_refusal_explanation' => 'Work was completed and the vehicle collected, so the deposit is non-refundable.',
'service_date' => '2026-01-01',
'uncategorized_attachment' => [
'direct_upload_id' => 'eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'id' => 'file_xxxxxxxxxxxxxx'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.whop.com/api/v1/disputes/{id}"
payload := strings.NewReader("{\n \"evidence\": {\n \"access_activity_log\": \"Vehicle checked in 2026-01-04 09:02, released 2026-01-05 16:40. Signed release on file.\",\n \"billing_address\": \"4180 Burnet Rd, Austin, TX 78756, US\",\n \"cancellation_policy_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"cancellation_policy_disclosure\": \"Shown at checkout and again in the booking confirmation email.\",\n \"customer_communication_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"customer_email_address\": \"marcus@shinetime.example\",\n \"customer_name\": \"Dana Whitfield\",\n \"notes\": \"Two-day ceramic coating completed and collected. Before and after photos attached.\",\n \"product_description\": \"Two-stage paint correction with a three-year ceramic coating.\",\n \"refund_policy_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"refund_policy_disclosure\": \"Linked from the booking page and accepted at checkout.\",\n \"refund_refusal_explanation\": \"Work was completed and the vehicle collected, so the deposit is non-refundable.\",\n \"service_date\": \"2026-01-01\",\n \"uncategorized_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n }\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.whop.com/api/v1/disputes/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"evidence\": {\n \"access_activity_log\": \"Vehicle checked in 2026-01-04 09:02, released 2026-01-05 16:40. Signed release on file.\",\n \"billing_address\": \"4180 Burnet Rd, Austin, TX 78756, US\",\n \"cancellation_policy_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"cancellation_policy_disclosure\": \"Shown at checkout and again in the booking confirmation email.\",\n \"customer_communication_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"customer_email_address\": \"marcus@shinetime.example\",\n \"customer_name\": \"Dana Whitfield\",\n \"notes\": \"Two-day ceramic coating completed and collected. Before and after photos attached.\",\n \"product_description\": \"Two-stage paint correction with a three-year ceramic coating.\",\n \"refund_policy_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"refund_policy_disclosure\": \"Linked from the booking page and accepted at checkout.\",\n \"refund_refusal_explanation\": \"Work was completed and the vehicle collected, so the deposit is non-refundable.\",\n \"service_date\": \"2026-01-01\",\n \"uncategorized_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.whop.com/api/v1/disputes/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"evidence\": {\n \"access_activity_log\": \"Vehicle checked in 2026-01-04 09:02, released 2026-01-05 16:40. Signed release on file.\",\n \"billing_address\": \"4180 Burnet Rd, Austin, TX 78756, US\",\n \"cancellation_policy_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"cancellation_policy_disclosure\": \"Shown at checkout and again in the booking confirmation email.\",\n \"customer_communication_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"customer_email_address\": \"marcus@shinetime.example\",\n \"customer_name\": \"Dana Whitfield\",\n \"notes\": \"Two-day ceramic coating completed and collected. Before and after photos attached.\",\n \"product_description\": \"Two-stage paint correction with a three-year ceramic coating.\",\n \"refund_policy_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"refund_policy_disclosure\": \"Linked from the booking page and accepted at checkout.\",\n \"refund_refusal_explanation\": \"Work was completed and the vehicle collected, so the deposit is non-refundable.\",\n \"service_date\": \"2026-01-01\",\n \"uncategorized_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"account_id": "biz_xxxxxxxxxxxxxx",
"amount": 150,
"buyer": {
"email": "marcus@shinetime.example",
"member_id": "mber_xxxxxxxxxxxxxx",
"name": "Dana Whitfield",
"user_id": "user_xxxxxxxxxxxxxx",
"username": "danawhitfield"
},
"created_at": "2026-01-01T12:00:00.000Z",
"currency": "usd",
"evidence": {
"access_activity_log": "Vehicle checked in 2026-01-04 09:02, released 2026-01-05 16:40. Signed release on file.",
"billing_address": "4180 Burnet Rd, Austin, TX 78756, US",
"cancellation_policy_attachment": {
"content_type": "image/png",
"filename": "booking-confirmation-email.png",
"id": "file_xxxxxxxxxxxxxx",
"platform": false,
"url": "https://assets-2-rough.whop.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"cancellation_policy_disclosure": "Shown at checkout and again in the booking confirmation email.",
"customer_communication_attachment": {
"content_type": "image/png",
"filename": "booking-confirmation-email.png",
"id": "file_xxxxxxxxxxxxxx",
"platform": false,
"url": "https://assets-2-rough.whop.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"customer_email_address": "marcus@shinetime.example",
"customer_name": "Dana Whitfield",
"notes": "Two-day ceramic coating completed and collected. Before and after photos attached.",
"product_description": "Two-stage paint correction with a three-year ceramic coating.",
"refund_policy_attachment": {
"content_type": "image/png",
"filename": "booking-confirmation-email.png",
"id": "file_xxxxxxxxxxxxxx",
"platform": false,
"url": "https://assets-2-rough.whop.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"refund_policy_disclosure": "Linked from the booking page and accepted at checkout.",
"refund_refusal_explanation": "Work was completed and the vehicle collected, so the deposit is non-refundable.",
"service_date": "2026-01-01",
"uncategorized_attachment": {
"content_type": "image/png",
"filename": "booking-confirmation-email.png",
"id": "file_xxxxxxxxxxxxxx",
"platform": false,
"url": "https://assets-2-rough.whop.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
},
"evidence_due_at": "2026-01-01T12:00:00.000Z",
"evidence_editable": false,
"evidence_locked_reason": "submitted",
"evidence_submitted_at": "2026-01-01T12:00:00.000Z",
"id": "dspt_xxxxxxxxxxxxxx",
"inquiry": false,
"issuer_comments": [
{
"received_at": "2026-01-01T12:00:00.000Z",
"text": "Note: Cardholder states the ceramic coating appointment never took place\nCancellation method: By phone"
}
],
"payment": {
"amount": 249,
"card_brand": "visa",
"card_last4": "4242",
"created_at": "2026-01-01T12:00:00.000Z",
"currency": "usd",
"id": "pay_xxxxxxxxxxxxxx",
"payment_method_type": "card",
"payment_processor": "stripe"
},
"plan_id": "plan_xxxxxxxxxxxxxx",
"product_id": "prod_xxxxxxxxxxxxxx",
"rapid_dispute_resolution": false,
"reason": "other",
"reason_code": "13.1",
"status": "under_review",
"updated_at": "2026-01-01T12:00:00.000Z"
}{
"error": {
"message": "account_id is required",
"type": "bad_request",
"code": "<string>"
}
}{
"error": {
"message": "account_id is required",
"type": "bad_request",
"code": "<string>"
}
}{
"error": {
"message": "account_id is required",
"type": "bad_request",
"code": "<string>"
}
}Update Dispute
Edits a dispute’s evidence, while it is still editable. Sending it is a separate call.
import Whop from '@whop/sdk';
const client = new Whop({
apiKey: process.env['WHOP_API_KEY'], // This is the default and can be omitted
});
const dispute = await client.disputes.update('id');
console.log(dispute.id);curl --request PATCH \
--url https://api.whop.com/api/v1/disputes/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"evidence": {
"access_activity_log": "Vehicle checked in 2026-01-04 09:02, released 2026-01-05 16:40. Signed release on file.",
"billing_address": "4180 Burnet Rd, Austin, TX 78756, US",
"cancellation_policy_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
},
"cancellation_policy_disclosure": "Shown at checkout and again in the booking confirmation email.",
"customer_communication_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
},
"customer_email_address": "marcus@shinetime.example",
"customer_name": "Dana Whitfield",
"notes": "Two-day ceramic coating completed and collected. Before and after photos attached.",
"product_description": "Two-stage paint correction with a three-year ceramic coating.",
"refund_policy_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
},
"refund_policy_disclosure": "Linked from the booking page and accepted at checkout.",
"refund_refusal_explanation": "Work was completed and the vehicle collected, so the deposit is non-refundable.",
"service_date": "2026-01-01",
"uncategorized_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
}
}
}
'import requests
url = "https://api.whop.com/api/v1/disputes/{id}"
payload = { "evidence": {
"access_activity_log": "Vehicle checked in 2026-01-04 09:02, released 2026-01-05 16:40. Signed release on file.",
"billing_address": "4180 Burnet Rd, Austin, TX 78756, US",
"cancellation_policy_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
},
"cancellation_policy_disclosure": "Shown at checkout and again in the booking confirmation email.",
"customer_communication_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
},
"customer_email_address": "marcus@shinetime.example",
"customer_name": "Dana Whitfield",
"notes": "Two-day ceramic coating completed and collected. Before and after photos attached.",
"product_description": "Two-stage paint correction with a three-year ceramic coating.",
"refund_policy_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
},
"refund_policy_disclosure": "Linked from the booking page and accepted at checkout.",
"refund_refusal_explanation": "Work was completed and the vehicle collected, so the deposit is non-refundable.",
"service_date": "2026-01-01",
"uncategorized_attachment": {
"direct_upload_id": "eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"id": "file_xxxxxxxxxxxxxx"
}
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.whop.com/api/v1/disputes/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'evidence' => [
'access_activity_log' => 'Vehicle checked in 2026-01-04 09:02, released 2026-01-05 16:40. Signed release on file.',
'billing_address' => '4180 Burnet Rd, Austin, TX 78756, US',
'cancellation_policy_attachment' => [
'direct_upload_id' => 'eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'id' => 'file_xxxxxxxxxxxxxx'
],
'cancellation_policy_disclosure' => 'Shown at checkout and again in the booking confirmation email.',
'customer_communication_attachment' => [
'direct_upload_id' => 'eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'id' => 'file_xxxxxxxxxxxxxx'
],
'customer_email_address' => 'marcus@shinetime.example',
'customer_name' => 'Dana Whitfield',
'notes' => 'Two-day ceramic coating completed and collected. Before and after photos attached.',
'product_description' => 'Two-stage paint correction with a three-year ceramic coating.',
'refund_policy_attachment' => [
'direct_upload_id' => 'eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'id' => 'file_xxxxxxxxxxxxxx'
],
'refund_policy_disclosure' => 'Linked from the booking page and accepted at checkout.',
'refund_refusal_explanation' => 'Work was completed and the vehicle collected, so the deposit is non-refundable.',
'service_date' => '2026-01-01',
'uncategorized_attachment' => [
'direct_upload_id' => 'eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'id' => 'file_xxxxxxxxxxxxxx'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.whop.com/api/v1/disputes/{id}"
payload := strings.NewReader("{\n \"evidence\": {\n \"access_activity_log\": \"Vehicle checked in 2026-01-04 09:02, released 2026-01-05 16:40. Signed release on file.\",\n \"billing_address\": \"4180 Burnet Rd, Austin, TX 78756, US\",\n \"cancellation_policy_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"cancellation_policy_disclosure\": \"Shown at checkout and again in the booking confirmation email.\",\n \"customer_communication_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"customer_email_address\": \"marcus@shinetime.example\",\n \"customer_name\": \"Dana Whitfield\",\n \"notes\": \"Two-day ceramic coating completed and collected. Before and after photos attached.\",\n \"product_description\": \"Two-stage paint correction with a three-year ceramic coating.\",\n \"refund_policy_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"refund_policy_disclosure\": \"Linked from the booking page and accepted at checkout.\",\n \"refund_refusal_explanation\": \"Work was completed and the vehicle collected, so the deposit is non-refundable.\",\n \"service_date\": \"2026-01-01\",\n \"uncategorized_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n }\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.whop.com/api/v1/disputes/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"evidence\": {\n \"access_activity_log\": \"Vehicle checked in 2026-01-04 09:02, released 2026-01-05 16:40. Signed release on file.\",\n \"billing_address\": \"4180 Burnet Rd, Austin, TX 78756, US\",\n \"cancellation_policy_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"cancellation_policy_disclosure\": \"Shown at checkout and again in the booking confirmation email.\",\n \"customer_communication_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"customer_email_address\": \"marcus@shinetime.example\",\n \"customer_name\": \"Dana Whitfield\",\n \"notes\": \"Two-day ceramic coating completed and collected. Before and after photos attached.\",\n \"product_description\": \"Two-stage paint correction with a three-year ceramic coating.\",\n \"refund_policy_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"refund_policy_disclosure\": \"Linked from the booking page and accepted at checkout.\",\n \"refund_refusal_explanation\": \"Work was completed and the vehicle collected, so the deposit is non-refundable.\",\n \"service_date\": \"2026-01-01\",\n \"uncategorized_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.whop.com/api/v1/disputes/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"evidence\": {\n \"access_activity_log\": \"Vehicle checked in 2026-01-04 09:02, released 2026-01-05 16:40. Signed release on file.\",\n \"billing_address\": \"4180 Burnet Rd, Austin, TX 78756, US\",\n \"cancellation_policy_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"cancellation_policy_disclosure\": \"Shown at checkout and again in the booking confirmation email.\",\n \"customer_communication_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"customer_email_address\": \"marcus@shinetime.example\",\n \"customer_name\": \"Dana Whitfield\",\n \"notes\": \"Two-day ceramic coating completed and collected. Before and after photos attached.\",\n \"product_description\": \"Two-stage paint correction with a three-year ceramic coating.\",\n \"refund_policy_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n },\n \"refund_policy_disclosure\": \"Linked from the booking page and accepted at checkout.\",\n \"refund_refusal_explanation\": \"Work was completed and the vehicle collected, so the deposit is non-refundable.\",\n \"service_date\": \"2026-01-01\",\n \"uncategorized_attachment\": {\n \"direct_upload_id\": \"eyJfcmFpbHMiOnsiZGF0YSI6MSwicHVyIjoiYmxvYl9pZCJ9fQ==--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n \"id\": \"file_xxxxxxxxxxxxxx\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"account_id": "biz_xxxxxxxxxxxxxx",
"amount": 150,
"buyer": {
"email": "marcus@shinetime.example",
"member_id": "mber_xxxxxxxxxxxxxx",
"name": "Dana Whitfield",
"user_id": "user_xxxxxxxxxxxxxx",
"username": "danawhitfield"
},
"created_at": "2026-01-01T12:00:00.000Z",
"currency": "usd",
"evidence": {
"access_activity_log": "Vehicle checked in 2026-01-04 09:02, released 2026-01-05 16:40. Signed release on file.",
"billing_address": "4180 Burnet Rd, Austin, TX 78756, US",
"cancellation_policy_attachment": {
"content_type": "image/png",
"filename": "booking-confirmation-email.png",
"id": "file_xxxxxxxxxxxxxx",
"platform": false,
"url": "https://assets-2-rough.whop.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"cancellation_policy_disclosure": "Shown at checkout and again in the booking confirmation email.",
"customer_communication_attachment": {
"content_type": "image/png",
"filename": "booking-confirmation-email.png",
"id": "file_xxxxxxxxxxxxxx",
"platform": false,
"url": "https://assets-2-rough.whop.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"customer_email_address": "marcus@shinetime.example",
"customer_name": "Dana Whitfield",
"notes": "Two-day ceramic coating completed and collected. Before and after photos attached.",
"product_description": "Two-stage paint correction with a three-year ceramic coating.",
"refund_policy_attachment": {
"content_type": "image/png",
"filename": "booking-confirmation-email.png",
"id": "file_xxxxxxxxxxxxxx",
"platform": false,
"url": "https://assets-2-rough.whop.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"refund_policy_disclosure": "Linked from the booking page and accepted at checkout.",
"refund_refusal_explanation": "Work was completed and the vehicle collected, so the deposit is non-refundable.",
"service_date": "2026-01-01",
"uncategorized_attachment": {
"content_type": "image/png",
"filename": "booking-confirmation-email.png",
"id": "file_xxxxxxxxxxxxxx",
"platform": false,
"url": "https://assets-2-rough.whop.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
},
"evidence_due_at": "2026-01-01T12:00:00.000Z",
"evidence_editable": false,
"evidence_locked_reason": "submitted",
"evidence_submitted_at": "2026-01-01T12:00:00.000Z",
"id": "dspt_xxxxxxxxxxxxxx",
"inquiry": false,
"issuer_comments": [
{
"received_at": "2026-01-01T12:00:00.000Z",
"text": "Note: Cardholder states the ceramic coating appointment never took place\nCancellation method: By phone"
}
],
"payment": {
"amount": 249,
"card_brand": "visa",
"card_last4": "4242",
"created_at": "2026-01-01T12:00:00.000Z",
"currency": "usd",
"id": "pay_xxxxxxxxxxxxxx",
"payment_method_type": "card",
"payment_processor": "stripe"
},
"plan_id": "plan_xxxxxxxxxxxxxx",
"product_id": "prod_xxxxxxxxxxxxxx",
"rapid_dispute_resolution": false,
"reason": "other",
"reason_code": "13.1",
"status": "under_review",
"updated_at": "2026-01-01T12:00:00.000Z"
}{
"error": {
"message": "account_id is required",
"type": "bad_request",
"code": "<string>"
}
}{
"error": {
"message": "account_id is required",
"type": "bad_request",
"code": "<string>"
}
}{
"error": {
"message": "account_id is required",
"type": "bad_request",
"code": "<string>"
}
}Authorizations
An Account API key, account-scoped JWT, App API key, or user OAuth token. Prepend the key or token with Bearer, for example Bearer ***************************.
Headers
Pins the request to a dated API version.
"2026-08-13"
Path Parameters
The dispute ID (dspt_ tag).
Body
The evidence packet to send to the processor. Only the fields you provide are changed.
Show child attributes
Show child attributes
Response
dispute updated
The account the dispute was filed against, prefixed biz_.
"biz_xxxxxxxxxxxxxx"
The disputed amount, in whole units of currency.
150
The customer who filed the dispute.
Show child attributes
Show child attributes
When the dispute was opened, as an ISO 8601 timestamp.
"2026-01-01T12:00:00.000Z"
Three-letter ISO currency code of the disputed amount.
"usd"
The evidence packet sent to the processor to contest the dispute.
Show child attributes
Show child attributes
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.
"2026-01-01T12:00:00.000Z"
Whether evidence can still be changed and submitted.
false
Why evidence can no longer be edited. null while evidence_editable is true.
submitted, response_window_closed, not_contestable, null "submitted"
When the evidence was submitted to the processor, as an ISO 8601 timestamp.
"2026-01-01T12:00:00.000Z"
Dispute ID, prefixed dspt_.
"dspt_xxxxxxxxxxxxxx"
Whether this is a pre-dispute inquiry rather than a formal chargeback. Inquiries follow the same lifecycle but move no funds unless one escalates.
false
Show child attributes
Show child attributes
The payment being disputed.
Show child attributes
Show child attributes
The plan the disputed payment was made on, prefixed plan_.
"plan_xxxxxxxxxxxxxx"
The product the disputed payment was for, prefixed prod_.
"prod_xxxxxxxxxxxxxx"
Whether Visa Rapid Dispute Resolution settled this automatically. These refund the customer without an evidence round.
false
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.
fraudulent, unrecognized, declined_authorization, product_not_received, product_unacceptable, subscription_canceled, credit_not_processed, duplicate, processing_error, documentation_request, bank_cannot_process, other "other"
The raw card-network or processor reason code, such as 10.4.
"13.1"
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.
needs_response, under_review, won, lost, closed "under_review"
When the dispute was last changed, as an ISO 8601 timestamp.
"2026-01-01T12:00:00.000Z"

