HAL uses conventional HTTP response codes to indicate the success or failure of an API request.
In general: Codes in the 2xx range indicate success.
Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, input failed validation, etc.).
Codes in the 5xx range indicate an error with Hal's servers (these are rare).
HTTP status code summary
Status Reason example 200 OK Everything worked as expected 400 Bad Request The request was unacceptable, often due to missing a required parameter 401 Unauthorized No valid API key provided 404 Not Found The requested resource doesn't exist 429 Too Many Requests Too many requests hit the API too quickly. We recommend an exponential backoff of your requests 500, 502, 503, 504 Server Errors Something went wrong on Hal's end. (These are rare.)