cURL
curl -X DELETE https://api.neuraldraft.io/v1/bookings/503 \
-H "Authorization: Bearer ndsk_live_yourkey"await nd.bookings.cancel(503);
requests.delete("https://api.neuraldraft.io/v1/bookings/503",
headers={"Authorization": f"Bearer {key}"})
<?php
$client->delete('bookings/503', ['headers' => ['Authorization' => 'Bearer '.$key]]);
{
"id": 503,
"booking_reference": "BK-20260419-AB12",
"customer_name": "<string>",
"customer_email": "jsmith@example.com",
"starts_at": "2023-11-07T05:31:56Z",
"status": "pending",
"service": {
"id": 12,
"name": "60-minute private yoga",
"slug": "60-minute-private-yoga"
},
"customer_phone": "<string>",
"ends_at": "2023-11-07T05:31:56Z",
"payment_status": "not_required",
"price_charged": 123,
"currency": "<string>",
"customer_notes": "<string>",
"admin_notes": "<string>",
"cancellation_reason": "<string>",
"cancelled_at": "2023-11-07T05:31:56Z",
"confirmed_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"type": "https://api.neuraldraft.io/errors/unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "API key missing or invalid.",
"code": "unauthorized",
"instance": "req_2Nh4PqRsTuVw"
}{
"type": "https://api.neuraldraft.io/errors/not_found",
"title": "Not found",
"status": 404,
"detail": "No such resource.",
"code": "not_found",
"instance": "req_2Nh4PqRsTuVw"
}Booking
Cancel a booking
Permanently cancels (soft delete + sets status cancelled). Fires booking.cancelled webhook.
DELETE
/
bookings
/
{id}
cURL
curl -X DELETE https://api.neuraldraft.io/v1/bookings/503 \
-H "Authorization: Bearer ndsk_live_yourkey"await nd.bookings.cancel(503);
requests.delete("https://api.neuraldraft.io/v1/bookings/503",
headers={"Authorization": f"Bearer {key}"})
<?php
$client->delete('bookings/503', ['headers' => ['Authorization' => 'Bearer '.$key]]);
{
"id": 503,
"booking_reference": "BK-20260419-AB12",
"customer_name": "<string>",
"customer_email": "jsmith@example.com",
"starts_at": "2023-11-07T05:31:56Z",
"status": "pending",
"service": {
"id": 12,
"name": "60-minute private yoga",
"slug": "60-minute-private-yoga"
},
"customer_phone": "<string>",
"ends_at": "2023-11-07T05:31:56Z",
"payment_status": "not_required",
"price_charged": 123,
"currency": "<string>",
"customer_notes": "<string>",
"admin_notes": "<string>",
"cancellation_reason": "<string>",
"cancelled_at": "2023-11-07T05:31:56Z",
"confirmed_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"type": "https://api.neuraldraft.io/errors/unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "API key missing or invalid.",
"code": "unauthorized",
"instance": "req_2Nh4PqRsTuVw"
}{
"type": "https://api.neuraldraft.io/errors/not_found",
"title": "Not found",
"status": 404,
"detail": "No such resource.",
"code": "not_found",
"instance": "req_2Nh4PqRsTuVw"
}Authorizations
Project API key. Pass as Authorization: Bearer ndsk_live_.... Manage
keys via /projects/me/api-keys. Test-mode keys use
the ndsk_test_ prefix.
Path Parameters
Example:
503
Response
Cancelled.
Example:
503
Example:
"BK-20260419-AB12"
Available options:
pending, confirmed, cancelled, completed, no_show Show child attributes
Show child attributes
Available options:
not_required, unpaid, paid, refunded Hidden in public lookups.