Create a booking
POST/v1/bookings
Books an appointment for a customer, as if your team entered it in the planner (source: PLANNER). It is confirmed at once and the customer gets the usual confirmation email. No payment is taken: a paid appointment type stays UNPAID until you mark it paid (POST /v1/bookings/{id}/mark-paid). startsAt must be a free time of that type; otherwise the call answers 409 slot_unavailable. Requires the write:bookings scope.
Request
Responses
- 201
- 400
- 401
- 403
- 404
- 409
- 502
The new booking.
validation_error: the body, a path or a query parameter is not valid. message names each problem, e.g. firstName: Required.
missing_api_key or invalid_api_key: no API key was sent, or it is wrong, expired or revoked.
insufficient_scope: the API key does not have the scope this endpoint needs. required names it.
not_found: there is no appointment type with this typeSlug.
slot_unavailable: the time is not free. payment_not_configured: the appointment type costs money, but your company has no Stripe connection.
booking_failed: the booking service could not do it; message has the details.