Disputes
10 endpoints. Each needs an API key or OAuth token with the scope shown; the key already names its store, so paths start at /v1/store. Generated from the live contract; also in openapi.json.
Chargebacks and buyer claims in one queue
/v1/store/disputesOr name the store: GET /v1/stores/{storeId}/disputes
Parameters
tab"open" | "needs_response" | "under_review" | "won" | "lost" | "claims" | "all"queryqstring | nullquerycursorstring | nullquerylimitinteger | stringquerykind"chargeback" | "claim" | nullqueryreason"fraudulent" | "not_received" | "not_as_described" | "not_working" | "duplicate" | "unrecognized" | "credit_not_processed" | "subscription_canceled" | "wrong_item" | "general" | "other" | nullquerysort"due" | "order" | "customer" | "type" | "reason" | "amount" | "status" | "opened"querydir"asc" | "desc"query
Response ListDisputesResponse
itemsDisputeRow[]requirednextCursorCursor | nullrequiredcountsDisputeCountsrequired
Example
curl "https://api.shopfa.st/v1/store/disputes" \
-H "Authorization: Bearer $SHOPFAST_API_KEY"const res = await fetch('https://api.shopfa.st/v1/store/disputes', {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
},
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"GET",
"https://api.shopfa.st/v1/store/disputes",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("GET", "https://api.shopfa.st/v1/store/disputes", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
res, err := http.DefaultClient.Do(req)Try it with your key
A dispute with its evidence, timeline and ledger effect
/v1/store/disputes/{disputeId}Or name the store: GET /v1/stores/{storeId}/disputes/{disputeId}
Parameters
disputeIddsp_…pathrequired
Response DisputeDetail
idDisputeIdrequiredkindDisputeKindrequiredsourceDisputeSourcerequiredstatusDisputeStatusrequiredreasonDisputeReasonrequiredorderIdOrderIdrequiredorderNumberstringrequiredcustomerIdCustomerId | nullrequiredcustomerNamestringrequiredcustomerEmailstringrequired
18 more fields
amountMinorMinorUnitsrequiredfeeMinorMinorUnitsrequiredcurrencyCurrencyCoderequiredproviderGatewayProviderrequiredproviderDisputeIdstringrequireddueAtTimestamp | nullrequiredresolutionClaimResolution | nullrequiredopenedAtTimestamprequiredclosedAtTimestamp | nullrequiredstageDisputeStage | nullrequiredbuyerMessagestringrequiredevidenceDisputeEvidencerequiredeventsDisputeEvent[]requiredledgerobjectrequiredheldMinorMinorUnitsrequiredreturnedMinorMinorUnitsrequiredlostMinorMinorUnitsrequiredfeeMinorMinorUnitsrequired
orderStatusOrderStatusrequiredisTestbooleanrequiredactionsDisputeActionsrequiredbuyerBlockedbooleanrequired
Example
curl "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk" \
-H "Authorization: Bearer $SHOPFAST_API_KEY"const res = await fetch('https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk', {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
},
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"GET",
"https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("GET", "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
res, err := http.DefaultClient.Do(req)Try it with your key
Save the written part of the evidence
/v1/store/disputes/{disputeId}/evidenceOr name the store: PUT /v1/stores/{storeId}/disputes/{disputeId}/evidence
Parameters
disputeIddsp_…pathrequired
Body
textobjectrequiredproductDescriptionstringrefundPolicystringcustomerCommunicationstringrefusalExplanationstringadditionalNotesstring
Response DisputeDetail
idDisputeIdrequiredkindDisputeKindrequiredsourceDisputeSourcerequiredstatusDisputeStatusrequiredreasonDisputeReasonrequiredorderIdOrderIdrequiredorderNumberstringrequiredcustomerIdCustomerId | nullrequiredcustomerNamestringrequiredcustomerEmailstringrequired
18 more fields
amountMinorMinorUnitsrequiredfeeMinorMinorUnitsrequiredcurrencyCurrencyCoderequiredproviderGatewayProviderrequiredproviderDisputeIdstringrequireddueAtTimestamp | nullrequiredresolutionClaimResolution | nullrequiredopenedAtTimestamprequiredclosedAtTimestamp | nullrequiredstageDisputeStage | nullrequiredbuyerMessagestringrequiredevidenceDisputeEvidencerequiredeventsDisputeEvent[]requiredledgerobjectrequiredheldMinorMinorUnitsrequiredreturnedMinorMinorUnitsrequiredlostMinorMinorUnitsrequiredfeeMinorMinorUnitsrequired
orderStatusOrderStatusrequiredisTestbooleanrequiredactionsDisputeActionsrequiredbuyerBlockedbooleanrequired
Example
curl -X PUT "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/evidence" \
-H "Authorization: Bearer $SHOPFAST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": {}
}'const res = await fetch('https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/evidence', {
method: 'PUT',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"text": {}
}),
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"PUT",
"https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/evidence",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
json={
"text": {}
},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("PUT", "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/evidence", strings.NewReader(`{
"text": {}
}`))
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)Try it with your key
Send the evidence package to the processor
/v1/store/disputes/{disputeId}/submitOr name the store: POST /v1/stores/{storeId}/disputes/{disputeId}/submit
Parameters
disputeIddsp_…pathrequired
Response DisputeDetail
idDisputeIdrequiredkindDisputeKindrequiredsourceDisputeSourcerequiredstatusDisputeStatusrequiredreasonDisputeReasonrequiredorderIdOrderIdrequiredorderNumberstringrequiredcustomerIdCustomerId | nullrequiredcustomerNamestringrequiredcustomerEmailstringrequired
18 more fields
amountMinorMinorUnitsrequiredfeeMinorMinorUnitsrequiredcurrencyCurrencyCoderequiredproviderGatewayProviderrequiredproviderDisputeIdstringrequireddueAtTimestamp | nullrequiredresolutionClaimResolution | nullrequiredopenedAtTimestamprequiredclosedAtTimestamp | nullrequiredstageDisputeStage | nullrequiredbuyerMessagestringrequiredevidenceDisputeEvidencerequiredeventsDisputeEvent[]requiredledgerobjectrequiredheldMinorMinorUnitsrequiredreturnedMinorMinorUnitsrequiredlostMinorMinorUnitsrequiredfeeMinorMinorUnitsrequired
orderStatusOrderStatusrequiredisTestbooleanrequiredactionsDisputeActionsrequiredbuyerBlockedbooleanrequired
Example
curl -X POST "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/submit" \
-H "Authorization: Bearer $SHOPFAST_API_KEY"const res = await fetch('https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/submit', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
},
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"POST",
"https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/submit",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("POST", "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/submit", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
res, err := http.DefaultClient.Do(req)Try it with your key
Accept a chargeback (counts as lost)
/v1/store/disputes/{disputeId}/acceptOr name the store: POST /v1/stores/{storeId}/disputes/{disputeId}/accept
Parameters
disputeIddsp_…pathrequired
Response DisputeDetail
idDisputeIdrequiredkindDisputeKindrequiredsourceDisputeSourcerequiredstatusDisputeStatusrequiredreasonDisputeReasonrequiredorderIdOrderIdrequiredorderNumberstringrequiredcustomerIdCustomerId | nullrequiredcustomerNamestringrequiredcustomerEmailstringrequired
18 more fields
amountMinorMinorUnitsrequiredfeeMinorMinorUnitsrequiredcurrencyCurrencyCoderequiredproviderGatewayProviderrequiredproviderDisputeIdstringrequireddueAtTimestamp | nullrequiredresolutionClaimResolution | nullrequiredopenedAtTimestamprequiredclosedAtTimestamp | nullrequiredstageDisputeStage | nullrequiredbuyerMessagestringrequiredevidenceDisputeEvidencerequiredeventsDisputeEvent[]requiredledgerobjectrequiredheldMinorMinorUnitsrequiredreturnedMinorMinorUnitsrequiredlostMinorMinorUnitsrequiredfeeMinorMinorUnitsrequired
orderStatusOrderStatusrequiredisTestbooleanrequiredactionsDisputeActionsrequiredbuyerBlockedbooleanrequired
Example
curl -X POST "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/accept" \
-H "Authorization: Bearer $SHOPFAST_API_KEY"const res = await fetch('https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/accept', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
},
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"POST",
"https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/accept",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("POST", "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/accept", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
res, err := http.DefaultClient.Do(req)Try it with your key
Reply to the buyer of a claim (emailed) or add a private note
/v1/store/disputes/{disputeId}/replyOr name the store: POST /v1/stores/{storeId}/disputes/{disputeId}/reply
Parameters
disputeIddsp_…pathrequired
Body
bodystringrequiredinternalboolean
Response DisputeDetail
idDisputeIdrequiredkindDisputeKindrequiredsourceDisputeSourcerequiredstatusDisputeStatusrequiredreasonDisputeReasonrequiredorderIdOrderIdrequiredorderNumberstringrequiredcustomerIdCustomerId | nullrequiredcustomerNamestringrequiredcustomerEmailstringrequired
18 more fields
amountMinorMinorUnitsrequiredfeeMinorMinorUnitsrequiredcurrencyCurrencyCoderequiredproviderGatewayProviderrequiredproviderDisputeIdstringrequireddueAtTimestamp | nullrequiredresolutionClaimResolution | nullrequiredopenedAtTimestamprequiredclosedAtTimestamp | nullrequiredstageDisputeStage | nullrequiredbuyerMessagestringrequiredevidenceDisputeEvidencerequiredeventsDisputeEvent[]requiredledgerobjectrequiredheldMinorMinorUnitsrequiredreturnedMinorMinorUnitsrequiredlostMinorMinorUnitsrequiredfeeMinorMinorUnitsrequired
orderStatusOrderStatusrequiredisTestbooleanrequiredactionsDisputeActionsrequiredbuyerBlockedbooleanrequired
Example
curl -X POST "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/reply" \
-H "Authorization: Bearer $SHOPFAST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"body": "string",
"internal": false
}'const res = await fetch('https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/reply', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"body": "string",
"internal": false
}),
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"POST",
"https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/reply",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
json={
"body": "string",
"internal": False
},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("POST", "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/reply", strings.NewReader(`{
"body": "string",
"internal": false
}`))
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)Try it with your key
Close a claim: refund, replace or reject
/v1/store/disputes/{disputeId}/resolveOr name the store: POST /v1/stores/{storeId}/disputes/{disputeId}/resolve
Parameters
disputeIddsp_…pathrequired
Body
resolution"refunded" | "replaced" | "rejected" | "withdrawn"requirednotestring
Response DisputeDetail
idDisputeIdrequiredkindDisputeKindrequiredsourceDisputeSourcerequiredstatusDisputeStatusrequiredreasonDisputeReasonrequiredorderIdOrderIdrequiredorderNumberstringrequiredcustomerIdCustomerId | nullrequiredcustomerNamestringrequiredcustomerEmailstringrequired
18 more fields
amountMinorMinorUnitsrequiredfeeMinorMinorUnitsrequiredcurrencyCurrencyCoderequiredproviderGatewayProviderrequiredproviderDisputeIdstringrequireddueAtTimestamp | nullrequiredresolutionClaimResolution | nullrequiredopenedAtTimestamprequiredclosedAtTimestamp | nullrequiredstageDisputeStage | nullrequiredbuyerMessagestringrequiredevidenceDisputeEvidencerequiredeventsDisputeEvent[]requiredledgerobjectrequiredheldMinorMinorUnitsrequiredreturnedMinorMinorUnitsrequiredlostMinorMinorUnitsrequiredfeeMinorMinorUnitsrequired
orderStatusOrderStatusrequiredisTestbooleanrequiredactionsDisputeActionsrequiredbuyerBlockedbooleanrequired
Example
curl -X POST "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/resolve" \
-H "Authorization: Bearer $SHOPFAST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"resolution": "refunded",
"note": ""
}'const res = await fetch('https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/resolve', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"resolution": "refunded",
"note": ""
}),
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"POST",
"https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/resolve",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
json={
"resolution": "refunded",
"note": ""
},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("POST", "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/resolve", strings.NewReader(`{
"resolution": "refunded",
"note": ""
}`))
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)Try it with your key
Sandbox disputes only: the processor decides the dispute
/v1/store/disputes/{disputeId}/simulate-outcomeOr name the store: POST /v1/stores/{storeId}/disputes/{disputeId}/simulate-outcome
Parameters
disputeIddsp_…pathrequired
Body
outcome"won" | "lost"required
Response DisputeDetail
idDisputeIdrequiredkindDisputeKindrequiredsourceDisputeSourcerequiredstatusDisputeStatusrequiredreasonDisputeReasonrequiredorderIdOrderIdrequiredorderNumberstringrequiredcustomerIdCustomerId | nullrequiredcustomerNamestringrequiredcustomerEmailstringrequired
18 more fields
amountMinorMinorUnitsrequiredfeeMinorMinorUnitsrequiredcurrencyCurrencyCoderequiredproviderGatewayProviderrequiredproviderDisputeIdstringrequireddueAtTimestamp | nullrequiredresolutionClaimResolution | nullrequiredopenedAtTimestamprequiredclosedAtTimestamp | nullrequiredstageDisputeStage | nullrequiredbuyerMessagestringrequiredevidenceDisputeEvidencerequiredeventsDisputeEvent[]requiredledgerobjectrequiredheldMinorMinorUnitsrequiredreturnedMinorMinorUnitsrequiredlostMinorMinorUnitsrequiredfeeMinorMinorUnitsrequired
orderStatusOrderStatusrequiredisTestbooleanrequiredactionsDisputeActionsrequiredbuyerBlockedbooleanrequired
Example
curl -X POST "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/simulate-outcome" \
-H "Authorization: Bearer $SHOPFAST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"outcome": "won"
}'const res = await fetch('https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/simulate-outcome', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"outcome": "won"
}),
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"POST",
"https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/simulate-outcome",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
json={
"outcome": "won"
},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("POST", "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/simulate-outcome", strings.NewReader(`{
"outcome": "won"
}`))
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)Try it with your key
Ask PayPal to decide an inquiry; it becomes a claim
/v1/store/disputes/{disputeId}/escalateOr name the store: POST /v1/stores/{storeId}/disputes/{disputeId}/escalate
Parameters
disputeIddsp_…pathrequired
Body
notestringrequired
Response DisputeDetail
idDisputeIdrequiredkindDisputeKindrequiredsourceDisputeSourcerequiredstatusDisputeStatusrequiredreasonDisputeReasonrequiredorderIdOrderIdrequiredorderNumberstringrequiredcustomerIdCustomerId | nullrequiredcustomerNamestringrequiredcustomerEmailstringrequired
18 more fields
amountMinorMinorUnitsrequiredfeeMinorMinorUnitsrequiredcurrencyCurrencyCoderequiredproviderGatewayProviderrequiredproviderDisputeIdstringrequireddueAtTimestamp | nullrequiredresolutionClaimResolution | nullrequiredopenedAtTimestamprequiredclosedAtTimestamp | nullrequiredstageDisputeStage | nullrequiredbuyerMessagestringrequiredevidenceDisputeEvidencerequiredeventsDisputeEvent[]requiredledgerobjectrequiredheldMinorMinorUnitsrequiredreturnedMinorMinorUnitsrequiredlostMinorMinorUnitsrequiredfeeMinorMinorUnitsrequired
orderStatusOrderStatusrequiredisTestbooleanrequiredactionsDisputeActionsrequiredbuyerBlockedbooleanrequired
Example
curl -X POST "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/escalate" \
-H "Authorization: Bearer $SHOPFAST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"note": "string"
}'const res = await fetch('https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/escalate', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"note": "string"
}),
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"POST",
"https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/escalate",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
json={
"note": "string"
},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("POST", "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/escalate", strings.NewReader(`{
"note": "string"
}`))
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)Try it with your key
Pull the case, its stage and its messages from PayPal again
/v1/store/disputes/{disputeId}/refreshOr name the store: POST /v1/stores/{storeId}/disputes/{disputeId}/refresh
Parameters
disputeIddsp_…pathrequired
Response DisputeDetail
idDisputeIdrequiredkindDisputeKindrequiredsourceDisputeSourcerequiredstatusDisputeStatusrequiredreasonDisputeReasonrequiredorderIdOrderIdrequiredorderNumberstringrequiredcustomerIdCustomerId | nullrequiredcustomerNamestringrequiredcustomerEmailstringrequired
18 more fields
amountMinorMinorUnitsrequiredfeeMinorMinorUnitsrequiredcurrencyCurrencyCoderequiredproviderGatewayProviderrequiredproviderDisputeIdstringrequireddueAtTimestamp | nullrequiredresolutionClaimResolution | nullrequiredopenedAtTimestamprequiredclosedAtTimestamp | nullrequiredstageDisputeStage | nullrequiredbuyerMessagestringrequiredevidenceDisputeEvidencerequiredeventsDisputeEvent[]requiredledgerobjectrequiredheldMinorMinorUnitsrequiredreturnedMinorMinorUnitsrequiredlostMinorMinorUnitsrequiredfeeMinorMinorUnitsrequired
orderStatusOrderStatusrequiredisTestbooleanrequiredactionsDisputeActionsrequiredbuyerBlockedbooleanrequired
Example
curl -X POST "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/refresh" \
-H "Authorization: Bearer $SHOPFAST_API_KEY"const res = await fetch('https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/refresh', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
},
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"POST",
"https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/refresh",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("POST", "https://api.shopfa.st/v1/store/disputes/dsp_0123456789abcdefghjk/refresh", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
res, err := http.DefaultClient.Do(req)