---
title: "Outbound booking event (booking.created / .cancelled / .rescheduled, or test from POST /api/integrations/webhook/test)"
method: POST
path: "bookingEvent"
tags: ["Integrations"]
---

# Outbound booking event (booking.created / .cancelled / .rescheduled, or test from POST /api/integrations/webhook/test)

`POST bookingEvent` (webhook)

POSTed to the URL set with PUT /api/integrations/webhook. Verify x-whenmeet-signature: t=<unix seconds>,v1=<hex HMAC-SHA256(secret, "<t>.<raw body>")>. 10 s timeout; a non-2xx answer is logged in the sync log, not retried.

## Headers

- `x-whenmeet-event` 'booking.created' | 'booking.cancelled' | 'booking.rescheduled' | 'test', required
- `x-whenmeet-signature` string, required
- `x-whenmeet-delivery` string, uuid, required

## Payload

- BookingEventPayload: Body of every outbound booking webhook (and what the HubSpot / Salesforce / Pipedrive / Slack adapters receive). Never contains the invitee manage token.
  - `event` 'booking.created' | 'booking.cancelled' | 'booking.rescheduled' | 'test'
  - `occurredAt` integer: unix ms
  - `booking` object
    - `id` string
    - `status` 'confirmed' | 'cancelled'
    - `startsAt` integer: unix ms
    - `endsAt` integer: unix ms
    - `timezone` string
    - `title` string
    - `eventType` object
      - `id` string, nullable
      - `slug` string, nullable
      - `title` string
      - `durationMin` integer
    - `invitee` object
      - `name` string
      - `email` string
    - `guests` string[]
    - `answers` object[]
      - `id` string
      - `label` string
      - `answer` string
    - `notes` string, nullable
    - `conferenceUrl` string, nullable
    - `meetingUrl` string, nullable
    - `utm` object
    - `cancelReason` string, nullable
    - `cancelledBy` 'invitee' | 'host' | 'null', nullable
    - `previousStartsAt` integer, nullable
    - `team` object, nullable
      - `mode` 'all' | 'any'
      - `members` object[]
        - `email` string
        - `name` string, nullable
    - `assignedTo` object, nullable
      - `email` string
      - `name` string, nullable
  - `host` object
    - `id` string
    - `email` string
    - `name` string, nullable

## Acknowledgement `200`

Any 2xx acknowledges the delivery.

---

[API](https://skmtc.dev/whenmeet/apis/whenmeet-me-api.md) · [All operations](https://skmtc.dev/whenmeet/apis/whenmeet-me-api/llms.txt) · [OpenAPI document](https://skmtc.dev/whenmeet/apis/whenmeet-me-api/revisions/202b80022215?raw)
