Flipdish events (v3) overview

A catalog of every Flipdish Webhooks (v3) event type, what triggers it, and when to use it, with links to the full schema for each.

This page lists every event type available through Flipdish Webhooks (v3). For how to create a subscription, verify requests, and handle delivery, see Subscribe to Flipdish Events (v3). For the exact JSON payload of any event, follow the Definition link in the table.


Event catalog

Event typeCategoryFires whenStatusDefinition
menu.published.v1Menu PublishingAn org publishes a menu (new or updated), making it available to sales channels and integrations.Generally availablemenu.published.v1
menu.validation.failed.v1Menu ValidationA menu fails validation after a publish attempt.Generally availablemenu.validation.failed.v1
menu.item.snoozed.v1SnoozesA menu item (category item or option set item) is snoozed (temporarily hidden).Generally availablemenu.item.snoozed.v1
menu.item.unsnoozed.v1SnoozesA previously snoozed menu item becomes available again.Generally availablemenu.item.unsnoozed.v1
sales_channel.snoozed.v1SnoozesA sales channel is snoozed (temporarily taken offline).Generally availablesales_channel.snoozed.v1
sales_channel.unsnoozed.v1SnoozesA previously snoozed sales channel is brought back online.Generally availablesales_channel.unsnoozed.v1
sale.created.v1Sale CreatedAny sale is ingested by Flipdish, on any channel (POS, kiosk, web, marketplace, or API). Carries the full sale payload inline.Betasale.created.v1
sale.updated.v1Sale UpdatedA sale ingested by Flipdish is materially updated (items, charges, or discounts changed).Betasale.updated.v1
sale.status.updated.v1Sale Status UpdatedAny sale transitions to a new lifecycle status, on any channel. Unifies POS and delivery status into one event.Betasale.status.updated.v1

When to use which event

Menu events

  • menu.published.v1 — subscribe to keep a downstream system (POS, aggregator, cache) in sync whenever a menu is published.
  • menu.validation.failed.v1 — subscribe alongside menu.published.v1 to alert on publish attempts that failed validation, instead of only detecting the absence of a publish.
  • menu.item.snoozed.v1 / menu.item.unsnoozed.v1 — use to reflect an item's temporarily-unavailable/available state in an external menu display or POS.
  • sales_channel.snoozed.v1 / sales_channel.unsnoozed.v1 — use to reflect a whole channel going offline/online (e.g. store paused on a marketplace).

Sale events

The sale.* family is the canonical set of sale webhook events. It fires for sales on any channel (POS, kiosk, web, marketplace, API) and carries the full sale payload inline, so no follow-up API call is needed — see Sale webhook events for full details. Use sale.updated.v1 to track mid-lifecycle changes to items, charges, and discounts.

📘

The legacy sales.* family has been retired from the webhook catalog

The legacy sales.* events (sales.created.v1, sales.cancelled.v1, sales.pos.status.updated.v1, sales.delivery.status.updated.v1) are no longer offered as Flipdish webhooks and have been removed from this catalog. Build all integrations against the sale.* family instead.

sales.*sale.* mapping

If you previously integrated against a legacy sales.* event, use the canonical sale.* replacement:

Legacy (sales.*, retired)Canonical (sale.*)
sales.created.v1sale.created.v1
sales.pos.status.updated.v1 + sales.delivery.status.updated.v1sale.status.updated.v1 (single unified status event covering both)
sales.cancelled.v1sale.status.updated.v1 with status SALE_CANCELLED — there's no separate cancelled event in the new family
(no equivalent)sale.updated.v1 — tracks mid-lifecycle changes to items, charges, and discounts

sale.* also drops the follow-up API call: the full sale payload is inline, and brandId is included where the legacy sales.* payloads didn't carry it.


Related


What’s Next

Explore the Flipdish menu hierarchy and structure.