---
title: "Book a session through a public booking link (MED-1319)"
method: POST
path: "/api/public/booking/{token}/book"
tags: ["Public Booking"]
---

# Book a session through a public booking link (MED-1319)

`POST /api/public/booking/{token}/book`

## Request

- Base URL: `https://api.production.yourmedley.com`
- URL: `https://api.production.yourmedley.com/api/public/booking/{token}/book`
- Auth: none declared

Anybody with the link can book, with any name and email. When the email identifies an active member of the group with a free session row, the booking fills that row. Books at once through Calendly. The response never says whether the email matched.

## Path parameters

- `token` string, required

## Request body

- object
  - `name` string, required
  - `email` string, required
  - `scheduled_start` string, date-time, required
  - `timezone` string, required

## Response `201`

Booked

## Other responses

- `400`: validation_error
- `404`: link_not_found
- `409`: booking_unavailable, slot_unavailable, or booking_blocked (the coach's Calendly refused: a free plan, the trial limit, or a required question)
- `429`: rate_limited (30 per hour per IP, 30 per day per link, 5 per hour per email)
- `502`: booking_failed

---

[API](https://skmtc.dev/withmedley/apis/medley-api.md) - [All operations](https://skmtc.dev/withmedley/apis/medley-api/llms.txt) - [OpenAPI document](https://skmtc.dev/withmedley/apis/medley-api/revisions/40aaac5ca6bd?raw)
