Skip to main content
POST
/
bookable-services
cURL
curl -X POST https://api.neuraldraft.io/v1/bookable-services \
  -H "Authorization: Bearer ndsk_live_yourkey" \
  -H "Content-Type: application/json" \
  -d '{"name":"60-minute private yoga","price":7500,"currency":"gbp","duration_minutes":60}'
{
  "id": 12,
  "name": "60-minute private yoga",
  "slug": "60-minute-private-yoga",
  "price": 7500,
  "currency": "gbp",
  "status": "active",
  "description": "<string>",
  "short_description": "<string>",
  "booking_type": "time_slot",
  "duration_minutes": 60,
  "buffer_before_minutes": 5,
  "buffer_after_minutes": 10,
  "max_bookings_per_slot": 1,
  "min_notice_hours": 1,
  "max_advance_days": 90,
  "cancellation_hours": 24,
  "min_nights": 123,
  "max_nights": 123,
  "color": "<string>",
  "images": [
    "<string>"
  ],
  "sort_order": 0,
  "metadata": {},
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.neuraldraft.io/llms.txt

Use this file to discover all available pages before exploring further.

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.

Body

application/json
name
string
slug
string
description
string
short_description
string
Maximum string length: 500
price
integer
currency
string
booking_type
enum<string>
Available options:
time_slot,
date_range
duration_minutes
integer
buffer_before_minutes
integer
buffer_after_minutes
integer
max_bookings_per_slot
integer
min_notice_hours
integer
max_advance_days
integer
cancellation_hours
integer
min_nights
integer
max_nights
integer
status
enum<string>
Available options:
active,
inactive
color
string
Pattern: ^#([0-9A-Fa-f]{6})$
images
string<uri>[]
metadata
object

Response

Created.

id
integer
required
Example:

12

name
string
required
Example:

"60-minute private yoga"

slug
string
required
Example:

"60-minute-private-yoga"

price
integer
required

Price in the smallest currency unit (cents/pence).

Example:

7500

currency
string
required
Required string length: 3
Example:

"gbp"

status
enum<string>
required
Available options:
active,
inactive
description
string | null
short_description
string | null
Maximum string length: 500
booking_type
enum<string>
default:time_slot
  • time_slot — discrete-duration appointments (default).
  • date_range — multi-night rentals (min_nights/max_nights apply).
Available options:
time_slot,
date_range
duration_minutes
integer
Example:

60

buffer_before_minutes
integer
Example:

5

buffer_after_minutes
integer
Example:

10

max_bookings_per_slot
integer
default:1
min_notice_hours
integer
default:1
max_advance_days
integer
default:90
cancellation_hours
integer
default:24
min_nights
integer | null
max_nights
integer | null
color
string | null
Pattern: ^#([0-9A-Fa-f]{6})$
images
string<uri>[]
sort_order
integer
default:0
metadata
object
created_at
string<date-time>
updated_at
string<date-time>