Getting Started
Errors
The API uses conventional HTTP status codes and returns a consistent error body so you can handle failures programmatically.
Error envelope
Errors share a predictable shape:
json
{
"statusCode": 400,
"error": "Bad Request",
"code": "VALIDATION_ERROR",
"message": "startTime must be a valid HH:mm value"
}statusCode mirrors the HTTP status. error is the status text. code is a stable machine-readable identifier you should branch on. message is human-readable and may change.
Branch on code, log message
Always switch on the stable
code field. The message is for humans and is not guaranteed to be stable across releases.HTTP status codes
Error codes
Common code values you may encounter:
Validation errors
Validation failures return 400 with a list of field-level messages:
json
{
"statusCode": 400,
"error": "Bad Request",
"code": "VALIDATION_ERROR",
"message": [
"serviceIds should not be empty",
"date must be a valid ISO 8601 date string"
]
}For 429 handling, see Rate Limits.