> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fire.rest/llms.txt
> Use this file to discover all available pages before exploring further.

# Events overview

> All webhook events that Fire emits, organized by entity.

Fire notifies your system of changes in real time via webhooks — HTTP `POST` requests sent to your registered endpoint whenever something relevant happens. You subscribe to the events you care about and act on them however your integration requires.

## Channel events

Channel events notify your system when the sales channel catalog changes. Use them to keep your local channel mapping in sync — channel IDs are required when injecting orders and when processing publication events.

<CardGroup cols={3}>
  <Card title="channel.updated" icon="plug" href="/en/webhook-reference/channel-updated">
    A channel was created or its configuration changed.
  </Card>

  <Card title="channel.deleted" icon="plug-circle-xmark" href="/en/webhook-reference/channel-deleted">
    A channel was removed from Fire.
  </Card>

  <Card title="channels.sync" icon="arrows-rotate" href="/en/webhook-reference/channels-sync">
    Bulk sync — full channel catalog in batches of up to 50.
  </Card>
</CardGroup>

## Store events

Store events notify your system when store configurations change. Fire supports single-store updates, explicit deletions, and bulk syncs for onboarding or mass changes.

<CardGroup cols={3}>
  <Card title="store.updated" icon="store" href="/en/webhook-reference/store-updated">
    A store was created or its configuration changed.
  </Card>

  <Card title="store.deleted" icon="trash" href="/en/webhook-reference/store-deleted">
    A store was removed from Fire.
  </Card>

  <Card title="stores.sync" icon="arrows-rotate" href="/en/webhook-reference/stores-sync">
    Bulk sync — up to 50 stores per batch.
  </Card>
</CardGroup>

## Menu events

Menu events carry the full catalog definition for a specific store and channel — categories, products, modifier groups, and schedules. The payload is ready to be forwarded to downstream systems.

<CardGroup cols={2}>
  <Card title="menu.updated" icon="book-open" href="/en/webhook-reference/menu-updated">
    A menu was created or updated. Also used to signal menu removal (empty payload).
  </Card>

  <Card title="menus.sync" icon="arrows-rotate" href="/en/webhook-reference/menus-sync">
    Bulk sync — menus for multiple stores in batches of up to 50.
  </Card>
</CardGroup>

## Product events

<CardGroup cols={2}>
  <Card title="product.updated" icon="tag" href="/en/webhook-reference/product-updated">
    One or more products were updated across all stores where they appear.
  </Card>

  <Card title="product.availability_changed" icon="circle-dot" href="/en/webhook-reference/product-availability-changed">
    A product was activated or deactivated in one or more stores.
  </Card>
</CardGroup>

## Order events

<CardGroup cols={1}>
  <Card title="order.status_changed" icon="receipt" href="/en/webhook-reference/order-status-changed">
    An order's status changed inside Fire.
  </Card>
</CardGroup>

***

## Event envelope

All events share the same top-level structure:

```json theme={null}
{
  "event": {
    "id": "evt_abc123",
    "type": "event.type",
    "createdAt": "2025-01-15T14:30:00Z",
    "timezone": "America/Guayaquil"
  },
  "data": {}
}
```

| Field             | Type   | Description                                   |
| ----------------- | ------ | --------------------------------------------- |
| `event`           | object | Event metadata                                |
| `event.id`        | string | Unique event ID — use for deduplication       |
| `event.type`      | string | Event type identifier                         |
| `event.createdAt` | string | ISO 8601 timestamp when the event was emitted |
| `event.timezone`  | string | Timezone of the originating account           |
| `data`            | object | Event-specific payload                        |

## Request headers

| Header             | Description                                                      |
| ------------------ | ---------------------------------------------------------------- |
| `Content-Type`     | `application/json`                                               |
| `X-Fire-Event`     | Event type (e.g. `menu.updated`)                                 |
| `X-Fire-Signature` | HMAC-SHA256 signature — see [Authentication](/en/authentication) |
| `X-Fire-Delivery`  | Unique delivery attempt ID                                       |

## Deduplication

Use the `event.id` field to detect and discard duplicate deliveries. Fire may deliver the same event more than once in case of retries.

## Responding

Return any `2xx` within 10 seconds to acknowledge receipt. Process asynchronously to avoid timeouts.
