We use standard HTTP status codes to indicate the success or failure of a request to our API.
Successful requests to our API will have a 200 HTTP status code; the “status” and “content” key-value pairs will detail the status message and the content of the response.
{ "status": "success", "content": "... API response goes here ..." }
Unsuccessful requests to our API will have a non-200 HTTP status code and will contain "code", "message" and "status" fields. The "message" field will contain any further information about the unsuccessful request.
{ "code": 500, "message": "Internal Server Error", "status": "failure" }
Note that the message may have more details about the error.
{ "code": 400, "message": {"error_code":"invalid_input","message":["'offset' is a required property"]}}
One notable code is the 423 exception which typically occurs when you attempt to modify an object or run a verification workflow on an object that is busy. A 423 HTTP status code means you should try your API call again in a few seconds. To avoid this code, you should:
- Always run workflows inside an object creation call
- Not run back-to-back create <-> update calls on the same object
Error Codes:
ERROR CODE | DESCRIPTION |
---|---|
400 | Bad Request -- Your request is invalid. |
401 | Unauthorized -- Your client_id , client_secret , or access_token is invalid. |
403 | Forbidden -- You do not have the permissions to access the requested resource. |
404 | Not Found -- The specified resource could not be found. |
405 | Method Not Allowed -- You tried to access a resource with an invalid method. |
409 | Conflict -- Could not be completed due to a conflict with the target resource. |
500 | Internal Server Error -- We had a problem with our server. Try again later. |
503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |
429 | You have reached the request rate limit. Try your request again later. |
423 | The object is still being updated (locked). Try your request again later. |