API Changelog
Track all API updates, new features, breaking changes, and deprecations. Subscribe to our developer newsletter for release notifications.
June 25, 2026
Outbound webhooks: new reservation.checked_in / reservation.checked_out events, plus a security + signing hardening pass. Note the breaking signature-verification change below.
Breaking Changes
Webhook signature now covers the timestamp
X-Webhook-Signature is now HMAC-SHA256 over (X-Webhook-Timestamp + "." + raw body), previously the raw body only. This makes deliveries replay-resistant.
Migration Guide
Update your verifier to sign timestamp + "." + rawBody instead of just the body, and reject deliveries whose X-Webhook-Timestamp is more than ±5 minutes from your clock (dedup on X-Webhook-Delivery). See the updated verification recipe in the docs.
New Features
reservation.checked_in / reservation.checked_out events
Subscribe to guest check-in / check-out. These fire from a daily date-scan when the reservation's check-in/check-out date is reached (not real time). Each delivery carries the reservation, the guest contact, and a scheduled_for object with the guest's expected LOCAL check-in/out time (defaults 15:00 / 12:00 in the hotel timezone, configurable per account) so you can schedule downstream actions on your side.
Improvements
Security hardening
Webhook delivery now enforces HTTPS and SSRF protection (internal / cloud-metadata / private targets are blocked), signing secrets are encrypted at rest and never returned by the API, and tenant-supplied custom headers can no longer override platform / security headers.
May 30, 2026
Loyalty API hardened for at-scale auto-ingest: idempotent retries, auto-fulfilled status, and a new bulk-batch endpoint built for nightly reconciliation across 100-property groups.
New Features
Idempotent Retries on Loyalty Endpoints
POST /api/v1/loyalty/redeem and POST /api/v1/loyalty/points now accept external_reference_id (or an Idempotency-Key header). Same id arriving twice is a no-op — the response carries idempotent_replay: true and points_deducted: 0 (no second debit, ever). For redemptions this is enforced by a partial unique index at the database layer, so concurrent racing retries are handled atomically.
Auto-fulfilled Status on Redeem
POST /api/v1/loyalty/redeem now accepts an optional status field. Set status: "fulfilled" when the guest already consumed the reward at the moment of redemption (front desk, POS, booking engine) — lands directly in the final state and skips the team-fulfillment alert. Defaults to "pending" so dashboard-initiated redemptions still go through approval.
Bulk Redemption Batch Endpoint
New POST /api/v1/loyalty/redemptions/batch accepts up to 100 redemption items per call. Each item is processed independently and independently idempotent. Failures on one item never roll back the others — per-item status: "ok" | "error" carries success/failure detail. Designed for nightly reconciliation jobs at a 100-property hotel group.
redeemReward SDK Update
GuestMaker.js loyalty.redeemReward(email, rewardId, options) now accepts options { externalReferenceId, status, notes }. Existing two-argument call sites continue to work unchanged.
May 27, 2026
Per-guest online check-in (pre-checkin) tracking on the Reservations and Guests APIs.
New Features
Pre-checkin Fields on Guests
New optional fields on the guest object: pre_checkin_completed_at (ISO 8601 timestamp with offset) and pre_checkin_source (e.g., "mews", "cloudbeds", "apaleo", "self_service"). Accepted on POST /api/v1/reservations (guests[]), POST /api/v1/guests (top-level holder), and the nested booking.guests[] array. Stored per-pax on reservation_guests so the AI can nudge only the paxes that haven't completed online check-in yet.
February 19, 2026
Anonymous web visitor tracking, GuestMaker.js unified SDK, and visitor identification API.
New Features
Visitor Tracking API
New POST /api/v1/cdp/events endpoint for ingesting batched visitor tracking events from hotel websites. Supports page views, scroll depth, clicks, and form interactions with automatic PII stripping.
Visitor Identification API
New POST /api/v1/cdp/identify endpoint to link anonymous visitors to known identities (email, phone, name). Automatically creates or links CDP profiles.
GuestMaker.js Unified SDK
New drop-in JavaScript SDK (guestmaker.js) for hotel websites. Auto-tracks page views, scroll depth, clicks, and forms. Includes loyalty and conversion modules. Persistent visitor ID via 13-month cookie.
Domain Restrictions
CDP event ingestion now supports domain allow-lists. When configured, the Origin header is validated against allowed domains to prevent unauthorized tracking.
Improvements
SDK Backward Compatibility
Existing loyalty-sdk.js and conversion-tracker.js are now thin wrappers around guestmaker.js. All existing integrations continue to work without changes.
February 15, 2026
Customer Data Platform (CDP) with 3-stage identity resolution, profile consolidation, and auto-promotion to CRM.
New Features
CDP Reservation Ingestion API
Three new endpoints for CDP data ingestion: POST /api/v1/cdp/reservations (single), /batch (up to 100), and /bulk (up to 5,000 async). Designed for post-checkout PMS data sync.
CDP Batch Status API
New GET /api/v1/cdp/batches/{id} endpoint to check the status of async bulk ingestion batches.
Identity Resolution Engine
3-stage matching pipeline: deterministic (exact email/phone/document), fuzzy (Jaro-Winkler name matching), and AI (Claude Haiku for ambiguous cases). Automatically consolidates fragmented guest profiles across hotels.
February 1, 2026
Loyalty Program API with 9 endpoints for points, tiers, rewards, and member management.
New Features
Loyalty API
9 new endpoints: check membership, enroll members, get/award points, list rewards, list tiers, get transactions, redeem rewards, and calculate points. All require X-API-Key and X-Tenant-Slug headers.
Loyalty JavaScript SDK
New loyalty-sdk.js with 9 methods matching all loyalty API endpoints. Promise-based with structured error handling.
January 31, 2026
Custom Fields API, expanded segment builder with 16 new filterable fields, and improved reservation data coverage.
New Features
Custom Fields API
Integration partners can now define custom data fields via POST /api/v1/fields. Custom fields automatically appear in the segment builder for targeted audience creation.
Expanded Segment Builder
Added 7 new contact fields (date of birth, gender, nationality, document type, document number, timezone, subscription status) and 9 new reservation fields (board type, booking channel, rate plan, nights, currency, room number, extras value, comments, external booking ID).
Dynamic Custom Fields in Segments
Custom fields defined by integration partners now appear in the segment builder under the "Custom Fields" category, enabling hotel staff to build segments using partner-specific data.
Bug Fixes
Reservation Date Filters
Fixed reservation check-in/check-out date filters using incorrect database column names, which caused segment queries to fail silently.
January 15, 2026
Enhanced booking management with reservation extras and additional guests support
New Features
Reservation Extras
Track add-on services like spa treatments, room upgrades, and special requests via the new reservation_extras field.
Additional Guests
Support for multiple guests per reservation with the reservation_guests array, including individual contact details.
Guest Stage Lifecycle
Automatic guest stage tracking (pre_stay, during_stay, post_stay) based on booking dates for contextual AI responses.
Webhook Delivery Improvements
Enhanced webhook delivery with configurable retry policies and exponential backoff.
Improvements
API Response Times
Optimized database queries resulting in 40% faster API response times for guest lookups.
Rate Limit Headers
Added X-RateLimit-Remaining and X-RateLimit-Reset headers to all API responses.
December 1, 2025
Outbound webhooks and event-driven automation capabilities
New Features
Outbound Webhooks
Configure webhooks to receive real-time notifications when events occur in the platform (contact.created, message.received, journey.completed, etc.).
Event-Driven Journeys
Trigger automated journeys based on custom events sent via the Events API.
Idempotency Support
Added idempotency_key parameter to Events API to prevent duplicate event processing.
Improvements
Error Messages
More descriptive error messages with specific field-level validation details.
Phone Number Validation
Improved E.164 phone number validation with support for more country formats.
Bug Fixes
Timezone Handling
Fixed an issue where booking dates were incorrectly interpreted in some timezones.
October 15, 2025
Initial public release of the WhatsApp Automation API
New Features
Guests API
Create and update guest profiles with booking information via POST /api/v1/guests.
Events API
Trigger journey automations with custom events via POST /api/v1/events.
API Key Authentication
Secure API access with scoped API keys and configurable rate limits.
Webhook Signature Verification
HMAC-SHA256 signatures for secure webhook payload verification.
Features and improvements planned for future releases.
JavaScript/TypeScript SDK
Official SDK for Node.js applications with TypeScript support.
Python SDK
Official SDK for Python applications with async support.
Bulk Operations
Create or update multiple guests in a single API call.
GraphQL API
Alternative GraphQL endpoint for flexible data querying.