Skip to main content
POST
Refund an Invoice

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

x-user-id
string | null

Optional external entity identifier that performed the action

Path Parameters

business_id
string<biz_string>
required

The id of the business

Example:

"biz_GA6EG2qFxA97NZHtxeLPUy"

Body

application/json
amount
required

The amount to refund.

Required range: x > 0
Example:

100

refund_external_id
string
required

The external ID of the refund.

Maximum string length: 255
Example:

"ref_ext_001"

refunded_at
string<date-time>
required

The date and time of the refund.

Example:

"2025-01-15T14:30:00Z"

method
enum<string>
required

The method of the refund.

Available options:
cash,
check,
credit_card,
ach,
credit_balance,
other
Examples:

"cash"

"check"

"credit_card"

"ach"

"credit_balance"

"other"

invoices_to_refund
InvoicesToRefundRequest · object[]
required

The invoices to refund.

Required array length: 1 - 100 elements
memo
string | null

The memo for the refund.

Maximum string length: 255
Example:

"Customer returned defective item"

processor
string | null

The name of the person who processed the refund.

Maximum string length: 255
Example:

"John Doe"

is_return
boolean
default:false

Whether the refund is for a return.

tags
Tags · object | null

Inline tag input. Each field maps to either a single value (string, e.g. 'NYC') or a list of {value, amount} objects to allocate the refund across multiple values. The tag field must already exist; values are created automatically if missing. Per-field sum of amounts must not exceed the refund amount.

Example:

Response

Successful Response

data
RefundPublic · object
required