Error Format

All errors will return with the same base format. Look to the right to see an example.

  "status_code": 401,
  "error": {
    "minor_code": 4012,
    "type": "API Authentication Failure",
    "message": "The supplied bearer token has expired.  Please obtain a new one.",
    "details": {
      "bearer_token": "7GimeNYhwD3fs0xoTtLXdZIox53eSttzrRf71ENA"
    "error_token": "54ae20da-a2d3-47a1-ac29-f9b7569ca652"
  "timestamp": 1472052254031,
  "evaluation_token": null,
  "entity_token": null,
  "application_token": null,
  "application_version_id": null
status_codeSame as HTTP status code but included for easy access and debugging
errorThe main error object
error.minor_codeMinor code indicating the exact type of the error. Every type of handled error in the Alloy system gets a unique minor error code. See below for the list of possible minor error codes
error.typeHigh level description of error
error.messageMore detailed error message
error.detailsObject possibly containing information to make it easier to debug the cause of the error
timestampUnix timestamp of error
evaluation_tokenEvaluation token for this request if it has been set (otherwise null)
entity_tokenEntity token for this request if it has been set (otherwise null)
application_tokenApplication token for this request if it has been set (otherwise null)
application_version_idApplication version ID for this request if it has been set (otherwise null)
HTTP codeMinor CodeDescription
200Waiting Data Request- please PATCH the missing params
201Created - this will be the result of all HTTP POST requests, we just successfully "created" the entity on our system
202Pending Webhook
206Partial Response - if the request executed but some upstream services failed to execute, we will return as much data as we can. You can resume this evaluation where it left off by running POST<evaluation_token>
4004001Bad Request - Header Validation Failure
4004002Bad Request - Request Body Validation Failure
4004003Bad Request - Invalid Request Body
4014012Unauthorized - Credentials Expired
4014013Unauthorized - API Authentication Failure
4014014Unauthorized - Bearer token refresh unauthorized
4014015Unauthorized - Production mode disabled
4034031Forbidden - Entity token not valid
4034032Forbidden - Environment mismatch - can not switch between sandbox and live
4044041Not Found - Evaluation Not Found
4094091Conflict - Evaluation already resolved
4124121Precondition Failed - App disabled
4184180I'm a teapot
5005000Unhanded Server Error
5005001Unhanded Server Error - Service(s) disabled
5005002Unhanded Server Error - Response body validation failure
5035031Service Unavailable - We're temporarily offline for maintenance. We're probably looking over Peter's shoulder while he configures NGINX.