Error Handling

General Error Handling

Any “operational” error will return either HTTP status code 200 (for success) or 422 (for failure). Any response with these HTTP status codes should be parsable in the standard response format:

For Success (HTTP 200)

{  
    "messages": [],  
    "success": true,  
    "value": { .. response payload.. }  
}

For Failure (HTTP 422)

{  
    "code": "ERROR_CODE",  
    "messages": [  
"Friendly display message.",  
"Friendly display message 2.",  
	“...”  
    ],  
    "success": false  
}

Other Errors

Any other HTTP status code you receive will indicate a non-operational error and you shouldn't attempt to parse the response as JSON. These HTTP status codes will have the traditional meaning but some of the notable ones:

HTTP Status CodeMeaning
400Corrupted message format.

This will only occur if the server can’t parse / interpret the request. If the request is parsable (i.e. valid JSON) but a logical validation failure occurs - these failures are returned in the standard format with a 422 response code.
401Invalid authorization header.

The key supplied in the authorization header is missing or invalid.
403Insufficient access.

Your API key doesn't has sufficient access to make the request.
404Invalid route.

This will only occur if the route you are requesting does not exist. In the event the route exists but the target record is missing / not found - that will be returned in the standard format with a 422 response code.
500Unhandled server error.

This will only occur if an unhandled server error occurs. Any other internal exception that is caught will be returned in the standard format with a 422 response code.