Errors
OCTO will respond to every request with either a 200 OK
if everything went ok or 400 Bad Request
if it didn't. In the case of the 400 Bad Request
the response body will look like this:
You will always receive error
and errorMessage
which is defined as:
error
The error code. A table of possible error codes is shown below.
errorMessage
A human-readable error message will be translated depending on the language provided by the Accept-Language
header.
Depending on the error code we also may pass additional fields which can make it easier to understand what's wrong with your request. In the example above we provide productId
and pass the value that was sent in the request, indicating that the productId of 123
is not valid.
List of Error Codes
Below is a list of the error codes and a description of what each means. Further down this page we also provide an example request body for all the error codes that provide additional attributes.
INVALID_PRODUCT_ID
Missing or invalid productId
in the request
INVALID_OPTION_ID
Missing or invalid optionId
in the request
INVALID_UNIT_ID
Missing or invalid unitId
in the request
INVALID_AVAILABILITY_ID
Missing or invalid availabilityId
in the request
INVALID_BOOKING_UUID
Missing or invalid booking UUID, or if you're confirming the booking the booking may have expired already.
BAD_REQUEST
If your request body is not formatted correctly, you have missing required fields or any of the data types are incorrect.
UNPROCESSABLE_ENTITY
If your request body is technically correct but cannot be processed for other reasons. e.g. you tried to cancel a booking after the cancellation cutoff had elapsed.
INTERNAL_SERVER_ERROR
Hopefully this never happens, but if the backend server is down or there's a network outage.
UNAUTHORIZED
You didn't send the API Key in the Authorization
header to an endpoint that requires authentication.
FORBIDDEN
You sent an API Key that was invalid or has been revoked by the backend system. Or you're trying to access an endpoint/resource that you do not have access to.
As explained above it's also possible for specific error codes to have additional attributes that help you diagnose what is wrong with your request. Below are all the specific errors that contain these attributes:
INVALID_PRODUCT_ID
INVALID_OPTION_ID
INVALID_UNIT_ID
INVALID_AVAILABILIY_ID
Last updated