---
updatedAt: 2026-04-28T15:13:21.000Z
agentTools:
  projectIndex: https://developer.alloy.com/public/llms.txt
---

# Error Codes

## Error Format

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

```json
{
  "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
}
```

| Attribute                | Description                                                                                                                                                                             |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| status\_code             | Same as HTTP status code but included for easy access and debugging                                                                                                                     |
| error                    | The main error object                                                                                                                                                                   |
| error.minor\_code        | Minor 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.type               | High level description of error                                                                                                                                                         |
| error.message            | More detailed error message                                                                                                                                                             |
| error.details            | Object possibly containing information to make it easier to debug the cause of the error                                                                                                |
| timestamp                | Unix timestamp of error                                                                                                                                                                 |
| evaluation\_token        | Evaluation token for this request if it has been set (otherwise null)                                                                                                                   |
| entity\_token            | Entity token for this request if it has been set (otherwise null)                                                                                                                       |
| application\_token       | Application token for this request if it has been set (otherwise null)                                                                                                                  |
| application\_version\_id | Application version ID for this request if it has been set (otherwise null)                                                                                                             |

| HTTP code | Minor Code | Description                                                                                                                                                                                                                                                        |
| --------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 200       |            | Waiting Data Request- please PATCH the missing params                                                                                                                                                                                                              |
| 201       |            | **Created** - this will be the result of all HTTP POST requests, we just successfully "created" the entity on our system                                                                                                                                           |
| 202       |            | **Pending Webhook**                                                                                                                                                                                                                                                |
| 206       |            | **Partial 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 `PATCH https://sandbox.alloy.co/v1/evaluations/<evaluation_token>` |
| 400       | 4000       | **Bad Request** - Custom Error Occurred                                                                                                                                                                                                                            |
| 400       | 4001       | **Bad Request** - Header Validation Failure                                                                                                                                                                                                                        |
| 400       | 4002       | **Bad Request** - Request Body Validation Failure                                                                                                                                                                                                                  |
| 400       | 4003       | **Bad Request** - Invalid Request Body                                                                                                                                                                                                                             |
| 400       | 4005       | **Bad Request** - Supplied Token Not Associated With Entity                                                                                                                                                                                                        |
| 400       | 4039       | **Bad Request** - Transaction Not Found                                                                                                                                                                                                                            |
| 400       | 4043       | **Bad Request** - Validation Error                                                                                                                                                                                                                                 |
| 401       | 4011       | **Unauthorized**                                                                                                                                                                                                                                                   |
| 401       | 4012       | **Unauthorized** - Credentials Expired                                                                                                                                                                                                                             |
| 401       | 4013       | **Unauthorized** - API Authentication Failure *or* the object you tried to get does not exist.                                                                                                                                                                     |
| 401       | 4014       | **Unauthorized** - Bearer token refresh unauthorized                                                                                                                                                                                                               |
| 401       | 4015       | **Unauthorized** - Production mode disabled                                                                                                                                                                                                                        |
| 401       | 4016       | **Unauthorized** - Client IP not in allowlist                                                                                                                                                                                                                      |
| 401       | 4017       | **Unauthorized** - Invalid auth mechanism                                                                                                                                                                                                                          |
| 401       | 4018       | **Unauthorized** - You must use "Basic" or "Bearer" header auth                                                                                                                                                                                                    |
| 401       | 4019       | **Unauthorized** - Basic token must be Base64 encoded                                                                                                                                                                                                              |
| 401       | 4020       | **Unauthorized** - Revoked API Key                                                                                                                                                                                                                                 |
| 403       | 4031       | **Forbidden** - Entity token not valid                                                                                                                                                                                                                             |
| 403       | 4032       | **Forbidden** - Environment mismatch - can not switch between sandbox and live                                                                                                                                                                                     |
| 403       | 4033       | **Forbidden** - You are not allowed to perform this action                                                                                                                                                                                                         |
| 404       | 4004       | **Not Found** - The specified document has not yet been uploaded                                                                                                                                                                                                   |
| 404       | 4041       | **Not Found** - Evaluation Not Found                                                                                                                                                                                                                               |
| 404       | 4042       | **Not Found** - The specified list does not exist                                                                                                                                                                                                                  |
| 405       | 4050       | **Method Not Allowed** - Method not allowed for the resource identified                                                                                                                                                                                            |
| 409       | 4091       | **Conflict** - The specified resource already exists or conflicts with an existing resource                                                                                                                                                                        |
| 409       | 4092       | **Conflict** - Attribute type mismatch                                                                                                                                                                                                                             |
| 410       | 4101       | **Gone** - Unable to supply additional fields to an expired evaluation                                                                                                                                                                                             |
| 412       | 4121       | **Precondition Failed** - App disabled                                                                                                                                                                                                                             |
| 418       | 4180       | **I'm a teapot**                                                                                                                                                                                                                                                   |
| 426       | 4261       | **Upgrade Required** - Upgrade to new endpoint required                                                                                                                                                                                                            |
| 429       | 4033       | **Rate Limit Exceeded** - You have reached the maximum rate                                                                                                                                                                                                        |
| 500       | 5000       | **Unhandled Server Error**                                                                                                                                                                                                                                         |
| 500       | 5001       | **Unhandled Server Error** - Service(s) disabled                                                                                                                                                                                                                   |
| 500       | 5002       | **Unhandled Server Error** - Response body validation failure                                                                                                                                                                                                      |
| 500       | 5003       | **Unhandled Server Error** - Error running what-if analysis                                                                                                                                                                                                        |
| 503       | 5031       | **Service Unavailable** - We're temporarily offline for maintenance. We're probably looking over Peter's shoulder while he configures NGINX.                                                                                                                       |
| 511       | 5111       | **Network Authentication Required** - Missing network authentication for proxying to service                                                                                                                                                                       |