---
title: "Bookable times — slots and counts only, never busy blocks or emails"
method: POST
path: "/api/public/{handle}/{slug}/slots"
tags: ["Public booking"]
---

# Bookable times — slots and counts only, never busy blocks or emails

`POST /api/public/{handle}/{slug}/slots`

## Request

- Base URL: `https://whenmeet.me`
- URL: `https://whenmeet.me/api/public/{handle}/{slug}/slots`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Host-session`
  - none

Host side: the owner’s calendars (all of them, read strictly) + existing bookings; painted (manual) availability is ignored for booking links; team links compose members per mode, each teammate inside their OWN working hours (slots sit on a step grid from midnight in the link zone). Signed-in visitors (session or PAT) also get othersFree/othersTotal from THEIR own calendar and their guests — "times that suit both sides". Anonymous visitors: guests are ignored.

## Path parameters

- `handle` string, required
- `slug` string, required

## Request body

- object
  - `from` integer, required: unix ms
  - `to` integer, required: unix ms; to − from ≤ 62 days.
  - `tz` string
  - `guests` string[]

## Response `200`

Slots.

- SlotsResponse
  - `slots` BookableSlot[]
    - `start` integer: unix ms
    - `end` integer: unix ms
    - `othersFree` integer: Visitor side (signed-in visitor + guests) free at this time.
    - `othersTotal` integer: Visitor-side people checked (0 for anonymous visitors).
  - `hostTimezone` string
  - `window` object
    - `from` integer: unix ms
    - `to` integer: unix ms
  - `viewer` object, nullable
    - `email` string
    - `name` string, nullable
  - `participants` object[]: Visitor side only — never the host or team.
    - `email` string
    - `source` 'self' | 'manual' | 'host'

## Other responses

- `400`: bad_window | invalid_guests | too_many_guests.
- `404`: not_found.
- `409`: host_unavailable (no calendar connected, or no checkable team member).

---

[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)
