---
title: "Book a Sitefire demo"
method: POST
path: "/api/book-demo"
---

# Book a Sitefire demo

`POST /api/book-demo`

Books a 30-minute Sitefire intro demo at a start time returned by listDemoSlots. The attendee receives a calendar invitation by email. No API key required.

## Request body

- object
  - `name` string, required — Attendee's full name.
  - `email` string, email, required — Attendee's email address; the calendar invitation is sent here.
  - `time` string, date-time, required — A start time returned by listDemoSlots.
  - `timezone` string — IANA timezone of the attendee.

## Response `201`

The demo is booked.

- object
  - `booked` true, required
  - `start` string, date-time, required
  - `timezone` string
  - `attendee` object, required
    - `name` string
    - `email` string, email
  - `reference` string, nullable — Booking reference, when the scheduler returns one.
  - `message` string

## Other responses

- `400` — A request parameter is missing or malformed; the error body says which and how to fix it.
- `409` — The slot is no longer available; list slots again and retry.
- `502` — The scheduling provider is unavailable; retry shortly or book at https://pulse.cal.com/sitefire/intro.

---

[API](https://skmtc.dev/sitefire/apis/sitefire-public-api.md) · [All operations](https://skmtc.dev/sitefire/apis/sitefire-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sitefire/sitefire-public-api/revisions/3edc40c8aa31/schema)
