BLUE HERONBook direct · No platform fees

Developer API

Everything on this site is available over a REST API — properties, live availability, quotes, and bookings. Wire it into your own automations (Home Assistant, AI agents, channel sync). The machine-readable spec lives at /api/openapi.json.

Authentication

Create an API key in the admin dashboard (/admin/api-keys), then send it on every request. Keys carry read and/or write scopes. All money values are integer USD cents; all dates are YYYY-MM-DD.

curl https://yourdomain.com/api/v1/properties \
  -H "Authorization: Bearer dbk_your_key_here"

Endpoints

GET/api/v1/propertiesList active properties
GET/api/v1/properties/{slug}Property detail + seasonal rates
GET/api/v1/properties/{slug}/availabilityPer-night availability & pricing
POST/api/v1/quotesPrice a stay and check availability
GET/api/v1/bookingsList bookings (filter by status/property/date)
POST/api/v1/bookingsCreate a booking (write scope)
GET/api/v1/bookings/{code}Look up a booking
PATCH/api/v1/bookings/{code}Confirm / cancel / annotate (write scope)
GET/api/v1/rate-categoriesDemand-pricing rate card
POST/api/v1/sync/icalPull external iCal feeds now (write scope)
GET/api/v1/calendar/{slug}.icsPublic iCal feed for Airbnb/VRBO import

Create a booking

curl -X POST https://yourdomain.com/api/v1/bookings \
  -H "Authorization: Bearer dbk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "property": "blue-heron-cottage",
    "checkIn": "2026-07-10",
    "checkOut": "2026-07-13",
    "guestName": "Jane Smith",
    "guestEmail": "jane@example.com",
    "guests": 4
  }'

Webhooks & automations

Register a webhook in the admin to receive booking.created / booking.confirmed / booking.cancelled events the moment they happen — each POST is signed with an HMAC-SHA256 X-Webhook-Signature header you can verify with the webhook's secret. Point them at Home Assistant, n8n, or any endpoint to drive door codes, climate, and arrival lighting.