cURL
curl "https://api.neuraldraft.io/v1/availability?service_id=12&from=2026-04-19&to=2026-04-26" \
-H "Authorization: Bearer ndsk_live_yourkey"const slots = await nd.availability.lookup({ serviceId: 12, from: "2026-04-19", to: "2026-04-26" });
slots = requests.get("https://api.neuraldraft.io/v1/availability",
params={"service_id": 12, "from":"2026-04-19", "to":"2026-04-26"},
headers={"Authorization": f"Bearer {key}"}).json()
<?php
$slots = json_decode((string) $client->get('availability', [
'query' => ['service_id' => 12, 'from' => '2026-04-19', 'to' => '2026-04-26'],
'headers' => ['Authorization' => 'Bearer '.$key],
])->getBody(), true);
{
"data": {
"2026-04-19": [
{
"start": "2026-04-19T09:00:00Z",
"end": "2026-04-19T10:00:00Z",
"capacity_remaining": 1
},
{
"start": "2026-04-19T10:30:00Z",
"end": "2026-04-19T11:30:00Z",
"capacity_remaining": 1
}
],
"2026-04-20": [
{
"start": "2026-04-20T18:00:00Z",
"end": "2026-04-20T19:00:00Z",
"capacity_remaining": 1
}
]
}
}{
"type": "https://api.neuraldraft.io/errors/bad_request",
"title": "Bad request",
"status": 400,
"detail": "Request body could not be parsed.",
"code": "bad_request",
"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
Look up available slots
Returns available slots for a given service over a date range. Same
endpoint also exposed unauthenticated at /public/availability with
identical query parameters.
Read-only. Does not consume credits.
GET
/
availability
cURL
curl "https://api.neuraldraft.io/v1/availability?service_id=12&from=2026-04-19&to=2026-04-26" \
-H "Authorization: Bearer ndsk_live_yourkey"const slots = await nd.availability.lookup({ serviceId: 12, from: "2026-04-19", to: "2026-04-26" });
slots = requests.get("https://api.neuraldraft.io/v1/availability",
params={"service_id": 12, "from":"2026-04-19", "to":"2026-04-26"},
headers={"Authorization": f"Bearer {key}"}).json()
<?php
$slots = json_decode((string) $client->get('availability', [
'query' => ['service_id' => 12, 'from' => '2026-04-19', 'to' => '2026-04-26'],
'headers' => ['Authorization' => 'Bearer '.$key],
])->getBody(), true);
{
"data": {
"2026-04-19": [
{
"start": "2026-04-19T09:00:00Z",
"end": "2026-04-19T10:00:00Z",
"capacity_remaining": 1
},
{
"start": "2026-04-19T10:30:00Z",
"end": "2026-04-19T11:30:00Z",
"capacity_remaining": 1
}
],
"2026-04-20": [
{
"start": "2026-04-20T18:00:00Z",
"end": "2026-04-20T19:00:00Z",
"capacity_remaining": 1
}
]
}
}{
"type": "https://api.neuraldraft.io/errors/bad_request",
"title": "Bad request",
"status": 400,
"detail": "Request body could not be parsed.",
"code": "bad_request",
"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.
Response
Available slots, grouped by date.
Show child attributes
Show child attributes