Refunds
The Refunds API provides CRUD access to refunds plus tags.New to the API? Start with Getting started (base URL, response envelope, errors, pagination) and Authentication (API keys).
Identifier note: refunds are addressed by their numeric refund_id.
A refund belongs to a payment. You supplyrefund_paymentid; the amount, client and invoice are derived from that payment (a refund is for the full payment amount — there are no partials, and one refund per payment). Creating a refund marks the paymentrefunded; deleting it marks the paymentpaidagain.
Same flow as Payments. A refund can also be created/removed from the payment directly viaPOST/DELETE /payments/{id}/refund— both paths behave identically.
The refund object
| Field | Type | Notes |
|---|---|---|
id | integer | Refund id. |
formatted_id | string | Display id (e.g. #000013). |
amount | numeric | The full payment amount. Read-only (derived from the payment). |
date / notes | date/string | Editable. |
payment | object | The refunded payment (id). |
invoice_id | int | Derived from the payment. |
client | object | Derived from the payment. |
creator_id | int | The API admin. |
tags | array | Tag titles. |
List / search refunds
payment_id, client_id, invoice_id, date_start, date_end, search,
tags[], sort (refund_date,refund_amount,refund_created), order, limit, page.
Get a refund
Create a refund
409 otherwise).
| Parameter | Type | Required | Notes |
|---|---|---|---|
refund_paymentid | integer | yes | The payment to refund. |
refund_date | date | yes | |
refund_notes | string | no |
201); the payment is marked refunded.
Update a refund
| Parameter | Type | Required |
|---|---|---|
refund_date | date | yes |
refund_notes | string | no |
Delete a refund
paid again.
Set tags
Errors
See Getting started. Refund-specific:| Status | Meaning |
|---|---|
404 Not Found | The refund (or payment) id does not exist. |
409 Conflict | The payment already has a refund. |
422 Unprocessable Entity | Validation failed (missing/invalid payment, missing date). |