Refunds
Refunds of booking payments
The refund object
Attributes
iduuidcreated_atread-onlytimestamp with time zoneCreation timestamp
updated_atread-onlytimestamp with time zoneLast modification timestamp
amountintegerAmount of the refund, in cents
commenttextComment about the refund
currencyCurrencyCurrency of the refund
due_attimestamp with time zoneTimestamp at which the refund is due
ftsread-onlytsvectorpaidintegerAmount of the refund that was paid, in cents
policyMultiLanguageStringLocalized refund policy that applies
referencetextReference of the refund
statusRefundStatusStatus of the refund, either pending or completed
Related resources
Embed related resources in the response with the select parameter, for example select=*,bookings(*). Resources related through more than one column need the column as a hint, like table!column(*).
{
"id": "00000000-0000-0000-0000-000000000000",
"booking_id": "00000000-0000-0000-0000-000000000000",
"invoice_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2026-10-30T22:27:57.051Z",
"updated_at": "2026-10-30T22:27:57.051Z",
"amount": 0,
"comment": "",
"currency": "ARS",
"due_at": "2026-10-30T22:27:57.051Z",
"paid": 0,
"policy": {},
"reference": "ABC123",
"status": "completed"
}curl -X GET "https://api.bookingmood.com/v1/refunds?limit=10&select=*,bookings(*),invoices(*)" \
-H "Authorization: Bearer YOUR_API_KEY"List refunds
Filters
idFilter<uuid>created_atFilter<timestamp with time zone>Creation timestamp
updated_atFilter<timestamp with time zone>Last modification timestamp
amountFilter<integer>Amount of the refund, in cents
commentFilter<text>Comment about the refund
currencyFilter<Currency>Currency of the refund
due_atFilter<timestamp with time zone>Timestamp at which the refund is due
ftsFilter<tsvector>paidFilter<integer>Amount of the refund that was paid, in cents
policyFilter<MultiLanguageString>Localized refund policy that applies
referenceFilter<text>Reference of the refund
statusFilter<RefundStatus>Status of the refund, either pending or completed
Responses
200A list of refunds with the selected columns
206Partial Content
400The request is malformed, for example an unknown column or an invalid filter.
401The API key is missing or invalid.
code, message, details and hint. See the introduction for more on errors.GET /refundscurl -X GET "https://api.bookingmood.com/v1/refunds?select=*&limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"[
{
"id": "00000000-0000-0000-0000-000000000000",
"booking_id": "00000000-0000-0000-0000-000000000000",
"invoice_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2026-10-30T22:27:57.051Z",
"updated_at": "2026-10-30T22:27:57.051Z",
"amount": 0,
"comment": "",
"currency": "ARS",
"due_at": "2026-10-30T22:27:57.051Z",
"paid": 0,
"policy": {},
"reference": "ABC123",
"status": "completed"
}
]Create refunds
Body
Partial<Refund> | Array<Partial<Refund>>Read-only attributes are set by the database and can't be written.
Responses
201The newly created refunds with the selected columns
400The request is malformed, for example an unknown column, an invalid filter or an invalid body.
401The API key is missing or invalid.
403The API key has no permission for this change, for example when writing rows of another organization.
409The change conflicts with existing data, for example a duplicate key or a reference to a row that does not exist.
code, message, details and hint. See the introduction for more on errors.POST /refundscurl -X POST "https://api.bookingmood.com/v1/refunds" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 0,
"booking_id": "00000000-0000-0000-0000-000000000000",
"comment": "",
"currency": "ARS",
"due_at": "2026-10-30T22:27:57.051Z",
"invoice_id": "00000000-0000-0000-0000-000000000000",
"paid": 0,
"policy": {},
"reference": "ABC123",
"status": "completed"
}'[
{
"id": "00000000-0000-0000-0000-000000000000",
"booking_id": "00000000-0000-0000-0000-000000000000",
"invoice_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2026-10-30T22:27:57.051Z",
"updated_at": "2026-10-30T22:27:57.051Z",
"amount": 0,
"comment": "",
"currency": "ARS",
"due_at": "2026-10-30T22:27:57.051Z",
"paid": 0,
"policy": {},
"reference": "ABC123",
"status": "completed"
}
]Delete refunds
Filters
Without filters, this request deletes all refunds you have access to. Always filter on at least one column, e.g. id=eq.{id}.
idFilter<uuid>created_atFilter<timestamp with time zone>Creation timestamp
updated_atFilter<timestamp with time zone>Last modification timestamp
amountFilter<integer>Amount of the refund, in cents
commentFilter<text>Comment about the refund
currencyFilter<Currency>Currency of the refund
due_atFilter<timestamp with time zone>Timestamp at which the refund is due
ftsFilter<tsvector>paidFilter<integer>Amount of the refund that was paid, in cents
policyFilter<MultiLanguageString>Localized refund policy that applies
referenceFilter<text>Reference of the refund
statusFilter<RefundStatus>Status of the refund, either pending or completed
Responses
200The deleted refunds with the selected columns. Returns 204 without a body when sending the header Prefer: return=minimal.
400The request is malformed, for example an unknown column or an invalid filter.
401The API key is missing or invalid.
403The API key has no permission for this change, for example when writing rows of another organization.
code, message, details and hint. See the introduction for more on errors.DELETE /refundscurl -X DELETE "https://api.bookingmood.com/v1/refunds?id=eq.00000000-0000-0000-0000-000000000000" \
-H "Authorization: Bearer YOUR_API_KEY"[
{
"id": "00000000-0000-0000-0000-000000000000",
"booking_id": "00000000-0000-0000-0000-000000000000",
"invoice_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2026-10-30T22:27:57.051Z",
"updated_at": "2026-10-30T22:27:57.051Z",
"amount": 0,
"comment": "",
"currency": "ARS",
"due_at": "2026-10-30T22:27:57.051Z",
"paid": 0,
"policy": {},
"reference": "ABC123",
"status": "completed"
}
]Update refunds
Filters
Without filters, this request updates all refunds you have access to. Always filter on at least one column, e.g. id=eq.{id}.
idFilter<uuid>created_atFilter<timestamp with time zone>Creation timestamp
updated_atFilter<timestamp with time zone>Last modification timestamp
amountFilter<integer>Amount of the refund, in cents
commentFilter<text>Comment about the refund
currencyFilter<Currency>Currency of the refund
due_atFilter<timestamp with time zone>Timestamp at which the refund is due
ftsFilter<tsvector>paidFilter<integer>Amount of the refund that was paid, in cents
policyFilter<MultiLanguageString>Localized refund policy that applies
referenceFilter<text>Reference of the refund
statusFilter<RefundStatus>Status of the refund, either pending or completed
Body
Partial<Refund>Read-only attributes are set by the database and can't be written.
Responses
200The updated refunds with the selected columns. Returns 204 without a body when sending the header Prefer: return=minimal.
400The request is malformed, for example an unknown column, an invalid filter or an invalid body.
401The API key is missing or invalid.
403The API key has no permission for this change, for example when writing rows of another organization.
409The change conflicts with existing data, for example a duplicate key or a reference to a row that does not exist.
code, message, details and hint. See the introduction for more on errors.PATCH /refundscurl -X PATCH "https://api.bookingmood.com/v1/refunds?id=eq.00000000-0000-0000-0000-000000000000" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 0
}'[
{
"id": "00000000-0000-0000-0000-000000000000",
"booking_id": "00000000-0000-0000-0000-000000000000",
"invoice_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2026-10-30T22:27:57.051Z",
"updated_at": "2026-10-30T22:27:57.051Z",
"amount": 0,
"comment": "",
"currency": "ARS",
"due_at": "2026-10-30T22:27:57.051Z",
"paid": 0,
"policy": {},
"reference": "ABC123",
"status": "completed"
}
]