Responses and Errors

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:




Bad Request -- Your request is invalid.


Unauthorized -- Your client_id, client_secret, or access_token is invalid.


Forbidden -- You do not have the permissions to access the requested resource.


Not Found -- The specified resource could not be found.


Method Not Allowed -- You tried to access a resource with an invalid method.


Conflict -- Could not be completed due to a conflict with the target resource.


Internal Server Error -- We had a problem with our server. Try again later.


Service Unavailable -- We're temporarily offline for maintenance. Please try again later.


You have reached the request rate limit. Try your request again later.


The object is still being updated (locked). Try your request again later.