Skoči na vsebino

Refunds

Refunds of booking payments

The refund object

Attributes

iduuid
booking_iduuid
bookings.id

Identifier of the related booking

invoice_iduuid
invoices.id

Identifier of the related invoice

created_atread-onlytimestamp with time zone

Creation timestamp

updated_atread-onlytimestamp with time zone

Last modification timestamp

amountinteger

Amount of the refund, in cents

commenttext

Comment about the refund

currencyCurrency

Currency of the refund

due_attimestamp with time zone

Timestamp at which the refund is due

ftsread-onlytsvector
paidinteger

Amount of the refund that was paid, in cents

policyMultiLanguageString

Localized refund policy that applies

referencetext

Reference of the refund

statusRefundStatus

Status 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(*).

bookings(*)object | null
bookings

The booking referenced by booking_id.

invoices(*)object | null
invoices

The invoice referenced by invoice_id.

The refund object
JSON
{
  "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:26:24.060Z",
  "updated_at": "2026-10-30T22:26:24.060Z",
  "amount": 0,
  "comment": "",
  "currency": "ARS",
  "due_at": "2026-10-30T22:26:24.060Z",
  "paid": 0,
  "policy": {},
  "reference": "ABC123",
  "status": "completed"
}
Including related resources
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>
booking_idFilter<uuid>
bookings.id

Identifier of the related booking

invoice_idFilter<uuid>
invoices.id

Identifier of the related invoice

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

200

A list of refunds with the selected columns

206

Partial Content

400

The request is malformed, for example an unknown column or an invalid filter.

401

The API key is missing or invalid.

Error responses have a JSON body with a code, message, details and hint. See the introduction for more on errors.
GET /refunds
curl -X GET "https://api.bookingmood.com/v1/refunds?select=*&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"
Example response
JSON
[
  {
    "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:26:24.060Z",
    "updated_at": "2026-10-30T22:26:24.060Z",
    "amount": 0,
    "comment": "",
    "currency": "ARS",
    "due_at": "2026-10-30T22:26:24.060Z",
    "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

201

The newly created refunds with the selected columns

400

The request is malformed, for example an unknown column, an invalid filter or an invalid body.

401

The API key is missing or invalid.

403

The API key has no permission for this change, for example when writing rows of another organization.

409

The change conflicts with existing data, for example a duplicate key or a reference to a row that does not exist.

Error responses have a JSON body with a code, message, details and hint. See the introduction for more on errors.
POST /refunds
curl -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:26:24.060Z",
    "invoice_id": "00000000-0000-0000-0000-000000000000",
    "paid": 0,
    "policy": {},
    "reference": "ABC123",
    "status": "completed"
  }'
Example response
JSON
[
  {
    "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:26:24.060Z",
    "updated_at": "2026-10-30T22:26:24.060Z",
    "amount": 0,
    "comment": "",
    "currency": "ARS",
    "due_at": "2026-10-30T22:26:24.060Z",
    "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>
booking_idFilter<uuid>
bookings.id

Identifier of the related booking

invoice_idFilter<uuid>
invoices.id

Identifier of the related invoice

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

200

The deleted refunds with the selected columns. Returns 204 without a body when sending the header Prefer: return=minimal.

400

The request is malformed, for example an unknown column or an invalid filter.

401

The API key is missing or invalid.

403

The API key has no permission for this change, for example when writing rows of another organization.

Error responses have a JSON body with a code, message, details and hint. See the introduction for more on errors.
DELETE /refunds
curl -X DELETE "https://api.bookingmood.com/v1/refunds?id=eq.00000000-0000-0000-0000-000000000000" \
  -H "Authorization: Bearer YOUR_API_KEY"
Example response
JSON
[
  {
    "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:26:24.060Z",
    "updated_at": "2026-10-30T22:26:24.060Z",
    "amount": 0,
    "comment": "",
    "currency": "ARS",
    "due_at": "2026-10-30T22:26:24.060Z",
    "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>
booking_idFilter<uuid>
bookings.id

Identifier of the related booking

invoice_idFilter<uuid>
invoices.id

Identifier of the related invoice

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

200

The updated refunds with the selected columns. Returns 204 without a body when sending the header Prefer: return=minimal.

400

The request is malformed, for example an unknown column, an invalid filter or an invalid body.

401

The API key is missing or invalid.

403

The API key has no permission for this change, for example when writing rows of another organization.

409

The change conflicts with existing data, for example a duplicate key or a reference to a row that does not exist.

Error responses have a JSON body with a code, message, details and hint. See the introduction for more on errors.
PATCH /refunds
curl -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
  }'
Example response
JSON
[
  {
    "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:26:24.060Z",
    "updated_at": "2026-10-30T22:26:24.060Z",
    "amount": 0,
    "comment": "",
    "currency": "ARS",
    "due_at": "2026-10-30T22:26:24.060Z",
    "paid": 0,
    "policy": {},
    "reference": "ABC123",
    "status": "completed"
  }
]

Prevzemite nadzor nad svojimi rezervacijami. Zgradite svoje podjetje.

Pridružite se več kot 1200 neodvisnim ponudnikom počitniških najemov, ki uporabljajo Bookingmood za povečanje števila neposrednih rezervacij in vzpostavitev trdnejših odnosov z gosti.

Začetek brezplačnega 14-dnevnega preizkusa