Skoči na vsebino

Webhooks

Endpoints that are notified as soon as certain events happen in Bookingmood. See our documentation for how webhooks work

The webhook object

Attributes

iduuid

Unique identifier

organization_iduuid
organizations.id

Identifier of the organization this webhook is defined in

created_atread-onlytimestamp with time zone

Creation timestamp

updated_atread-onlytimestamp with time zone

Last modification timestamp

descriptiontext

Description of the webhook

endpointtext

URL notifications are sent to

eventsArray<WebhookEvent>

Events the webhook is subscribed to. See the complete list

signing_secrettext

Secret used to sign notifications, so their validity can be verified

sourcetext

Where the webhook was registered: in the admin, through the API, or by an external tool such as Zapier

Related resources

Embed related resources in the response with the select parameter, for example select=*,organizations(*). Resources related through more than one column need the column as a hint, like table!column(*).

organizations(*)object | null
organizations

The organization referenced by organization_id.

webhook_notifications(*)array
webhook_notifications

The webhook notifications referencing this webhook through webhook_notifications.webhook_id.

The webhook object
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "organization_id": "00000000-0000-0000-0000-000000000000",
  "created_at": "2026-10-30T22:26:24.999Z",
  "updated_at": "2026-10-30T22:26:24.999Z",
  "description": "A short description.",
  "endpoint": "",
  "events": [
    "bookings.created"
  ],
  "signing_secret": "md5((random())::text)",
  "source": ""
}
Including related resources
curl -X GET "https://api.bookingmood.com/v1/webhooks?limit=10&select=*,organizations(*),webhook_notifications(*)" \
  -H "Authorization: Bearer YOUR_API_KEY"

List webhooks

Filters

idFilter<uuid>

Unique identifier

organization_idFilter<uuid>
organizations.id

Identifier of the organization this webhook is defined in

created_atFilter<timestamp with time zone>

Creation timestamp

updated_atFilter<timestamp with time zone>

Last modification timestamp

descriptionFilter<text>

Description of the webhook

endpointFilter<text>

URL notifications are sent to

eventsFilter<Array<WebhookEvent>>

Events the webhook is subscribed to. See the complete list

signing_secretFilter<text>

Secret used to sign notifications, so their validity can be verified

sourceFilter<text>

Where the webhook was registered: in the admin, through the API, or by an external tool such as Zapier

Responses

200

A list of webhooks 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 /webhooks
curl -X GET "https://api.bookingmood.com/v1/webhooks?select=*&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2026-10-30T22:26:24.999Z",
    "updated_at": "2026-10-30T22:26:24.999Z",
    "description": "A short description.",
    "endpoint": "",
    "events": [
      "bookings.created"
    ],
    "signing_secret": "md5((random())::text)",
    "source": ""
  }
]

Create webhooks

Body

Partial<Webhook> | Array<Partial<Webhook>>

Read-only attributes are set by the database and can't be written.

Responses

201

The newly created webhooks 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 /webhooks
curl -X POST "https://api.bookingmood.com/v1/webhooks" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "A short description.",
    "endpoint": "",
    "events": [
      "bookings.created"
    ],
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "signing_secret": "md5((random())::text)",
    "source": ""
  }'
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2026-10-30T22:26:24.999Z",
    "updated_at": "2026-10-30T22:26:24.999Z",
    "description": "A short description.",
    "endpoint": "",
    "events": [
      "bookings.created"
    ],
    "signing_secret": "md5((random())::text)",
    "source": ""
  }
]

Delete webhooks

Filters

Without filters, this request deletes all webhooks you have access to. Always filter on at least one column, e.g. id=eq.{id}.

idFilter<uuid>

Unique identifier

organization_idFilter<uuid>
organizations.id

Identifier of the organization this webhook is defined in

created_atFilter<timestamp with time zone>

Creation timestamp

updated_atFilter<timestamp with time zone>

Last modification timestamp

descriptionFilter<text>

Description of the webhook

endpointFilter<text>

URL notifications are sent to

eventsFilter<Array<WebhookEvent>>

Events the webhook is subscribed to. See the complete list

signing_secretFilter<text>

Secret used to sign notifications, so their validity can be verified

sourceFilter<text>

Where the webhook was registered: in the admin, through the API, or by an external tool such as Zapier

Responses

200

The deleted webhooks 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 /webhooks
curl -X DELETE "https://api.bookingmood.com/v1/webhooks?id=eq.00000000-0000-0000-0000-000000000000" \
  -H "Authorization: Bearer YOUR_API_KEY"
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2026-10-30T22:26:24.999Z",
    "updated_at": "2026-10-30T22:26:24.999Z",
    "description": "A short description.",
    "endpoint": "",
    "events": [
      "bookings.created"
    ],
    "signing_secret": "md5((random())::text)",
    "source": ""
  }
]

Update webhooks

Filters

Without filters, this request updates all webhooks you have access to. Always filter on at least one column, e.g. id=eq.{id}.

idFilter<uuid>

Unique identifier

organization_idFilter<uuid>
organizations.id

Identifier of the organization this webhook is defined in

created_atFilter<timestamp with time zone>

Creation timestamp

updated_atFilter<timestamp with time zone>

Last modification timestamp

descriptionFilter<text>

Description of the webhook

endpointFilter<text>

URL notifications are sent to

eventsFilter<Array<WebhookEvent>>

Events the webhook is subscribed to. See the complete list

signing_secretFilter<text>

Secret used to sign notifications, so their validity can be verified

sourceFilter<text>

Where the webhook was registered: in the admin, through the API, or by an external tool such as Zapier

Body

Partial<Webhook>

Read-only attributes are set by the database and can't be written.

Responses

200

The updated webhooks 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 /webhooks
curl -X PATCH "https://api.bookingmood.com/v1/webhooks?id=eq.00000000-0000-0000-0000-000000000000" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "A short description."
  }'
Example response
JSON
[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "created_at": "2026-10-30T22:26:24.999Z",
    "updated_at": "2026-10-30T22:26:24.999Z",
    "description": "A short description.",
    "endpoint": "",
    "events": [
      "bookings.created"
    ],
    "signing_secret": "md5((random())::text)",
    "source": ""
  }
]

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