Errors
A refused request answers with an RFC 9457 problem,Content-Type: application/problem+json:
A validation failure (
invalid_parameters) adds errors, one entry per failed rule, each with a detail, the rule’s code (max, date_format, url_not_allowed, max_nights, …) and where it failed: parameter, header or pointer (an RFC 6901 JSON Pointer into the request body).
Like every enum here, the list of codes is open: treat a code you do not know by its status. 405 and 503 are answered the same way on every path.
Rate limits
Your channel’s limit is a number of requests per minute, at least 600;GET /channel gives yours in rate_limit.per_minute. Every authenticated response counts against it, refusals included, and carries how much is left:
A page of
GET /availability costs max(1, ceil(nights / 1000)) units instead of one. Over the limit, the answer is 429 with a Retry-After header, the seconds to wait before trying again. Repeated failed authentication from one address is answered 429 the same way.