Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

Project API key. Pass as Authorization: Bearer ndsk_live_.... Manage keys via /projects/me/api-keys. Test-mode keys use the ndsk_test_ prefix.

Headers

Idempotency-Key
string

Unique key (any string up to 255 chars; UUID recommended). Retries with the same key within 24 hours return the original response without re-executing side effects.

Maximum string length: 255

Body

application/json
service_id
integer
required
customer_name
string
required
customer_email
string<email>
required
starts_at
string<date-time>
required
customer_phone
string
ends_at
string<date-time>

Required for booking_type: date_range services.

customer_notes
string
admin_notes
string
force
boolean
default:false

Bypass availability checks (admin only).

Response

Booking created.

id
integer
required
Example:

503

booking_reference
string
required
Example:

"BK-20260419-AB12"

customer_name
string
required
customer_email
string<email>
required
starts_at
string<date-time>
required
status
enum<string>
required
Available options:
pending,
confirmed,
cancelled,
completed,
no_show
service
object
customer_phone
string | null
ends_at
string<date-time> | null
payment_status
enum<string>
Available options:
not_required,
unpaid,
paid,
refunded
price_charged
integer | null
currency
string
customer_notes
string | null
admin_notes
string | null

Hidden in public lookups.

cancellation_reason
string | null
cancelled_at
string<date-time> | null
confirmed_at
string<date-time> | null
created_at
string<date-time>
updated_at
string<date-time>