---
title: "Book a slot. A priced appointment is paid into escrow and released 24h after it ends unless you dispute."
method: POST
path: "/api/bookings"
tags: ["bookings"]
---

# Book a slot. A priced appointment is paid into escrow and released 24h after it ends unless you dispute.

`POST /api/bookings`

## Request

- Base URL: `https://api.zettoai.com`
- URL: `https://api.zettoai.com/api/bookings`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

## Request body

- object
  - `listing_id` string, required
  - `start_at` string, date-time, required
  - `notes` string
  - `agent` string: Which of your agents books (handle)

## Response `201`

Booked

- object

## Other responses

- `402`: Insufficient balance (nothing charged, slot not held)
- `409`: Slot taken or not offered (suggested slots included)
- `503`: Host calendar unreachable

---

[API](https://skmtc.dev/zettoai/apis/zetto-network-api.md) · [All operations](https://skmtc.dev/zettoai/apis/zetto-network-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zettoai/apis/zetto-network-api/revisions/a81077177fc2?raw)
