Skip to main content
Every production change to the Partner API or to webhooks gets an entry here. Entries tagged Breaking change require an action on your side; the others do not. Subscribe to the RSS feed (button above) to be notified of new entries.
Webhooks
Webhooks

Customer events and v1 event format

Backward compatible, no action required: existing endpoints keep their current format until they are migrated.Added
  • Event format v1: id, type, api_version, created, restaurant_id and data.object, which uses the Partner API representation of the reservation or customer.
  • data.previous_attributes on *.updated events.
  • EatNow-Signature signature header (t=…,v1=…); secrets prefixed with whsec_.
  • Events customer.created, customer.updated, customer.deleted and customer.merged (v1 format only).
  • /webhook-endpoints endpoints (scope WEBHOOKS_WRITE): create, retrieve, list, update, delete, rotate-secret and test. An endpoint only receives the events its API key can read.
Changed
  • Endpoints created from the dashboard use the v1 format. An existing endpoint can be migrated from Settings › Integrations › Webhooks; the migration cannot be reverted.
Webhooks reference · Migration guide
Partner API
Partner API

Customer resource

Backward compatible, no action required.Added
  • Scopes CUSTOMERS_READ and CUSTOMERS_WRITE (CUSTOMERS_WRITE also requires CUSTOMERS_READ).
  • GET /customers: cursor pagination, updated_since parameter, and email, phone, external_id and tag filters.
  • GET /customers/{id}.
  • POST /customers: matches an existing customer on external_id, phone then email; on_match sets the behaviour on a match (return_existing, update, create_new).
  • PATCH /customers/{id}.
  • GET /customer-fields: the restaurant’s custom fields.
  • POST /reservations: customer.id to link an existing customer, and customer.on_match.
  • GET /reservations: customer_id filter.
Customers reference
Webhooks
Webhooks

Webhook delivery and retries

Backward compatible: payload format, signature and event names are unchanged.Added
  • Headers X-EatNow-Attempt, X-EatNow-Delivery-Log-Id, and X-EatNow-Test: true on test deliveries.
  • Delivery history for the last 30 days, with resend, in Settings › Integrations › Webhooks.
Changed
  • RESERVATION_UPDATED is now published for changes made from the POS (NowOS, Lightspeed), through the Partner API, by staff cancellations and by automatic status transitions (finished, no-show).
  • Deliveries are retried for 3 to 5 hours after a 5xx, 408 or 429 response, a network error or a timeout. X-EatNow-Delivery is identical across retries; X-EatNow-Timestamp is the event time.
  • Any other 4xx response is final and is not retried.
  • The X-EatNow-* header prefix is reserved: custom headers using it are no longer sent.
Legacy webhook format reference