API reference

Webhooks

Subscribe an HTTPS endpoint to events. See the Webhooks guide for payloads and how to verify signatures.

Create a webhook

POST/api/v1/webhooks

Subscribes a public HTTPS URL to one or more events. The signing secret is returned only in this response; store it securely.

Scope: manage:webhooks

Body

urlstringrequired

A public HTTPS URL. Private and internal addresses are rejected.

eventsstring[]required

Events to receive. See the Webhooks guide for the list.

curl -X POST "https://calendeur.com/api/v1/webhooks" \
  -H "Authorization: Bearer $CALENDEUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://api.example.com/calendeur",
  "events": [
    "booking.created",
    "booking.cancelled"
  ]
}'
Response · 201
{
  "id": "wh_3k2",
  "object": "webhook",
  "url": "https://api.example.com/calendeur",
  "events": [
    "booking.created",
    "booking.cancelled"
  ],
  "active": true,
  "last_delivery": null,
  "created_at": "2026-10-05T18:30:00.000Z",
  "secret": "whsec_…"
}

List webhooks

GET/api/v1/webhooks

Your webhook subscriptions and the events available.

Scope: manage:webhooks

curl "https://calendeur.com/api/v1/webhooks" \
  -H "Authorization: Bearer $CALENDEUR_API_KEY"
Response · 200
{
  "object": "list",
  "data": [
    {
      "id": "wh_3k2",
      "object": "webhook",
      "url": "https://api.example.com/calendeur",
      "active": true
    }
  ],
  "available_events": [
    "booking.created",
    "…"
  ]
}

Delete a webhook

DELETE/api/v1/webhooks/{id}

Stops deliveries to that endpoint.

Scope: manage:webhooks

Path parameters

idstringrequired

The webhook ID.

curl -X DELETE "https://calendeur.com/api/v1/webhooks/ID" \
  -H "Authorization: Bearer $CALENDEUR_API_KEY"
Response · 200
{
  "id": "wh_3k2",
  "object": "webhook",
  "deleted": true
}