Booking Pro API
API ReferenceBookings

Create a booking

Books an appointment. Enforces the location's booking rules and hard-blocks any time conflict (staff or room), exactly like the public booking page. A conflicting request returns `409`.

POST
/bookings

Authorization

ApiKeyAuth
AuthorizationBearer <token>

Send your API key as a bearer token: Authorization: Bearer bp_sk_live_.... Mint and revoke keys in your dashboard under Settings -> Developers.

In: header

Header Parameters

Idempotency-Key?string

A unique key you generate per logical create. Retrying with the same key returns the original result instead of creating a duplicate.

Lengthlength <= 255

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/bookings" \  -H "Content-Type: application/json" \  -d '{    "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",    "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",    "start": "2019-08-24T14:15:22Z"  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",  "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",  "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",  "technician_id": "557e6e8c-3c29-4825-b73f-0884ad39f2d9",  "start": "2019-08-24T14:15:22Z",  "end": "2019-08-24T14:15:22Z",  "status": "booked",  "source": "string",  "created_at": "2019-08-24T14:15:22Z"}