Skip to main content
POST
Create refund with restock_all_items accounting for existing partial refunds

Authorizations

Authorization
string
header
required

Bearer token authentication

Body

application/json
order_id
integer
required

ID of the order to refund.

type
enum<string>
required

Which portion of the order to refund.

Available options:
all,
tax,
shipping,
product_price,
cv,
qv,
partial
reason
string

Optional human-readable reason for the refund.

amount
number<float>

Amount to refund (used with partial/custom types).

shipping
number<float>

Shipping amount to refund.

tax
number<float>

Tax amount to refund.

cv

CV (commissionable volume) to deduct with the refund.

qv

QV (qualifying volume) to deduct with the refund.

restock_all_items
boolean

When true, restock every remaining (not-yet-refunded) order item.

restock_items
object[]

Specific items to restock; ignored when restock_all_items is true.

refund_points
boolean

When true and the order was paid with a split card+points payment, refund all redeemed points back to the customer. No-op if the order has no points portion or points have already been refunded.

cancel_order
boolean

Whether this refund also ends the sale. When true and the refund leaves the order fully refunded and still unshipped, the order is cancelled. Omit the field to take the company default; send false to refund without cancelling, as for a goodwill refund on an order that should still ship.

Response

string | number | boolean | null | any[] | object

Refund created

Any valid JSON value for provider, integration, theme, metadata, or other dynamic payloads whose keys are not fixed by the API contract.