Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

Find the next bookable slot

GET
/v1/availability/next

Searches in thirty day windows up to a ninety day horizon, stopping at the first window that contains a slot.

service_id
required

Identifier of a service, prefixed with svc_.

string
/^svc_[0-9a-f]{32}$/
Example
svc_0198f0c2a1b47e2e9a1c0f4d5e6a7b8c
from

ISO 8601 instant with an explicit offset. Any offset is accepted on input; every instant is returned in UTC.

string format: date-time
Example
2026-09-08T07:00:00Z
quantity
string
/^[1-9]\d{0,5}$/
timezone

IANA time zone name.

string
Example
Europe/Rome
Bookrail-Version

The dated API version to speak. Defaults to 2026-09-01; an unsupported value is a 400.

string
Example
2026-09-01
Bookrail-Actor

Which Bookrail tool the caller is, recorded as actor.via on every event the request writes. A closed list: an unknown value is a 400. Absent means the request declared no tool.

string
Allowed values: mcp cli sdk dashboard

Success.

object
object
required
string
Allowed values: availability_next
service_id
required

Identifier of a service, prefixed with svc_.

string
/^svc_[0-9a-f]{32}$/
Example
svc_0198f0c2a1b47e2e9a1c0f4d5e6a7b8c
timezone
required
string
next_available
required

ISO 8601 instant in UTC.

string | null format: date-time
Example
2026-09-08T07:00:00Z
slot
required
object
object
required
string
Allowed values: availability_slot
start
required

ISO 8601 instant in UTC.

string format: date-time
Example
2026-09-08T07:00:00Z
end
required

ISO 8601 instant in UTC.

string format: date-time
Example
2026-09-08T07:00:00Z
duration_minutes
required

null for a ranges entry.

integer | null
available_capacity
required
integer
price
required

Amount in the minor unit of the currency (cents for EUR).

object
amount
required
integer
currency
required
string
price_rule
required

Which service.pricing_rules entry produced price. null when the flat service price applied. For a ranges entry it is the rule of the shortest booking starting at start.

object
index
required

Position in service.pricing_rules.

integer
label
required

The rule label, when it has one.

string | null
resource_options
required
Array<object>
object
resources
required
Array<object>
object
resource_id
required

Identifier of a resource, prefixed with res_.

string
/^res_[0-9a-f]{32}$/
Example
res_0198f0c2a1b47e2e9a1c0f4d5e6a7b8c
role
required
string | null
capacity_used
required
integer
min_duration_minutes

ranges only: shortest bookable length inside the interval.

integer
max_duration_minutes

ranges only: longest bookable length; may exceed end - start.

integer
searched_through
required

ISO 8601 instant in UTC.

string format: date-time
Example
2026-09-08T07:00:00Z
Bookrail-Request-Id
required

Identifier of this request. Quote it to support.

string
Bookrail-Version
required

The API version this response was produced with.

string

Error codes: invalid_range, parameter_invalid, parameter_missing, range_too_large, service_without_duration, timezone_missing, unsupported_api_version.

object
error
required
object
type
required
string
Allowed values: invalid_request authentication permission not_found conflict rate_limit policy_violation payment_required internal
code
required

Machine readable code. The set is per operation; each response below lists the ones it can produce.

string
message
required
string
param

The field or header the error is about, when there is one.

string
doc_url
required
string
request_id
required
string
Bookrail-Request-Id
required

Identifier of this request. Quote it to support.

string
Bookrail-Version
required

The API version this response was produced with.

string

Error codes: invalid_api_key, invalid_authorization_header, missing_api_key, revoked_api_key.

object
error
required
object
type
required
string
Allowed values: invalid_request authentication permission not_found conflict rate_limit policy_violation payment_required internal
code
required

Machine readable code. The set is per operation; each response below lists the ones it can produce.

string
message
required
string
param

The field or header the error is about, when there is one.

string
doc_url
required
string
request_id
required
string
Bookrail-Request-Id
required

Identifier of this request. Quote it to support.

string
Bookrail-Version
required

The API version this response was produced with.

string

Error codes: resource_missing.

object
error
required
object
type
required
string
Allowed values: invalid_request authentication permission not_found conflict rate_limit policy_violation payment_required internal
code
required

Machine readable code. The set is per operation; each response below lists the ones it can produce.

string
message
required
string
param

The field or header the error is about, when there is one.

string
doc_url
required
string
request_id
required
string
Bookrail-Request-Id
required

Identifier of this request. Quote it to support.

string
Bookrail-Version
required

The API version this response was produced with.

string

Error codes: internal_error.

object
error
required
object
type
required
string
Allowed values: invalid_request authentication permission not_found conflict rate_limit policy_violation payment_required internal
code
required

Machine readable code. The set is per operation; each response below lists the ones it can produce.

string
message
required
string
param

The field or header the error is about, when there is one.

string
doc_url
required
string
request_id
required
string
Bookrail-Request-Id
required

Identifier of this request. Quote it to support.

string
Bookrail-Version
required

The API version this response was produced with.

string