Endpoints
| Method | Path | Description |
|---|---|---|
GET | /v1/bookings | List bookings |
GET | /v1/bookings/:id | Get booking |
POST | /v1/book/:username/:event_slug | Create booking (public) |
POST | /v1/bookings/:id/reschedule | Reschedule (authenticated) |
GET | /v1/bookings/:confirm_token/confirm | Confirm pending booking |
GET | /v1/bookings/:confirm_token/decline | Decline pending booking |
POST | /v1/cancel/:token/confirm | Cancel booking |
GET /v1/bookings
List your bookings. Includes past and upcoming. Query params| Param | Default | Description |
|---|---|---|
limit | 50 | Max results |
page | 1 | Page number |
POST /v1/book/:username/:event_slug
Create a booking on someone’s calendar. This endpoint is public — no API key needed if called from a booking page. URL params| Param | Description |
|---|---|
username | Host’s slug |
event_slug | Event type slug |
| Field | Required | Description |
|---|---|---|
attendee_name | yes | Full name |
attendee_email | yes | Email address |
start_time | yes | ISO 8601 UTC |
timezone | yes | IANA timezone string |
notes | no | Optional message to the host |
answers | no | Array of {question_id, answer} for custom questions |
201
requires_confirmation: true, status will be pending until the host confirms or declines.
POST /v1/bookings/:id/reschedule
Move a booking to a new time. Requires authentication (host only).Confirm / Decline (host)
Whenrequires_confirmation: true, the host receives an email with two links:
GET /v1/bookings/:confirm_token/confirm— Approves, emails attendee confirmationGET /v1/bookings/:confirm_token/decline— Rejects, emails attendee decline notice
postMessage events (SDK)
When embedded via@schedkit/react, a schedkit:booked message fires after successful booking:
status is "confirmed" or "pending" depending on the event type’s confirmation setting.