Retrieve a refund
Operation ID: getRefund
Group: Accounting › Refunds
Open in the interactive reference
GET /accounting/refunds/{id}
Read-only: Reads and returns; changes nothing.
Retrieves a refund. Use the refund's id, not its refundNumber.
GET accounting/refunds and POST accounting/refunds/search return the same fields for each refund.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Api-Version |
header | string · v1 | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1. |
id |
path | string | yes | The unique identifier of the refund you want to retrieve. Example: "3b7d5e9c-1a24-4f80-9c6d-2e8f70b13a45". |
Response
200 Success
Under data (getRefundOutput):
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes | The unique identifier for the refund. Example: "3b7d5e9c-1a24-4f80-9c6d-2e8f70b13a45". |
refundNumber |
string | no | The refund number, unique within the tenant, for example 'REF-1042'. Assigned on create. Example: "REF-1042". |
refundDate |
date | yes | The date the refund was issued. Format YYYY-MM-DD. Example: "2026-08-01". |
approvalStatus |
string | no | The approval status. Possible values: 'draft', 'pendingApproval', 'revise', 'approved', 'rejected'. A refund created through POST accounting/refunds is approved immediately. Example: "approved". |
refundType |
string | yes | The payment method used for the refund. Possible values: 'check', 'ach', 'wire', 'creditCard', 'directDebit', 'sepaCreditTransfer'. Example: "ach". |
currency |
string | yes | The currency of the refund. Every amount on it is in this currency. Format ISO 4217, for example 'USD'. Example: "USD". |
amount |
decimal | yes | The refund amount, in the refund currency. Example: "150.00". |
unappliedAmount |
decimal | no | The unapplied balance remaining on the source payment, in the refund currency. Example: "0.00". |
refundNote |
string | no | A free-form note attached to the refund. Absent when none was set. |
customerId |
string | yes | The customer receiving the refund. See id on GET accounting/customers/:id. Example: "9c2a6a10-7d34-4c8e-9b21-5a0f3e6d81b7". |
customerName |
string | no | The name of the customer receiving the refund. Example: "Northwind Traders". |
entityId |
string | yes | The legal entity issuing the refund. See id on GET base/entities. Example: "1a24d5e9-3b7d-4f80-9c6d-2e8f70b13a45". |
paymentId |
string | yes | The source payment being refunded. See id on GET accounting/payments/:id. Example: "5a0f3e6d-81b7-4c8e-9b21-9c2a6a107d34". |
paymentNumber |
string | no | The number of the source payment being refunded. Example: "PMT-7781". |
lastModifiedDate |
date-time | yes | The date and time the refund last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Example: "2026-08-01T09:12:44.000Z". |
{
"data": {
"id": "3b7d5e9c-1a24-4f80-9c6d-2e8f70b13a45",
"refundNumber": "REF-1042",
"refundDate": "2026-08-01",
"approvalStatus": "approved",
"refundType": "ach",
"currency": "USD",
"amount": "150.00",
"unappliedAmount": "0.00",
"refundNote": "<refundNote>",
"customerId": "9c2a6a10-7d34-4c8e-9b21-5a0f3e6d81b7",
"customerName": "Northwind Traders",
"entityId": "1a24d5e9-3b7d-4f80-9c6d-2e8f70b13a45",
"paymentId": "5a0f3e6d-81b7-4c8e-9b21-9c2a6a107d34",
"paymentNumber": "PMT-7781",
"lastModifiedDate": "2026-08-01T09:12:44.000Z"
},
"diagnostics": [
{
"code": "<code>",
"message": "<message>",
"severity": "error",
"path": [
"<path>"
],
"details": "<details>"
}
]
}
Errors
| Code | Status |
|---|---|
NOT_FOUND |
400 |
Statuses
400— Invalid request or business failure. Codes: NOT_FOUND401— The request carries no valid access token.403— Not authorized404— Not found429— Too many requests from this client address. The response has no body and noRetry-Afterheader.500— Internal server error