> ## Documentation Index
> Fetch the complete documentation index at: https://docs.safely.bio/llms.txt
> Use this file to discover all available pages before exploring further.

# Errors and versions

> One error format, stable error codes and how the API changes.

Every error has the same shape:

```json theme={null}
{
  "error": {
    "code": "invalid_request",
    "message": "customer.email: String should match pattern ...",
    "field": "customer.email",
    "request_id": "req_01JBX4T2Q8"
  }
}
```

| HTTP status | `code` | When |
| - | - | - |
| 400 | `invalid_request` | The body or a parameter is malformed, missing or unknown. `field` names the problem. |
| 400 | `unknown_policy` | No screening policy with this name is available to you. |
| 401 | `unauthenticated` | The key is missing, invalid or revoked. |
| 404 | `not_found` | No screening with this ID exists for this key. |
| 409 | `request_key_conflict` | The `request_key` was already used with a different body. |
| 413 | `request_too_large` | The body exceeds 64 KB. |
| 429 | `rate_limited` | Too many requests in the last minute; wait for `Retry-After` seconds. |
| 429 | `daily_limit_reached` | Your account started its daily number of new screenings. Retries with a used `request_key`, polling and decisions still work. `Retry-After` gives the seconds until midnight UTC. |
| 500 | `internal_error` | An unexpected error. Retry with the same `request_key`. |
| 503 | `unavailable` | A required service is down. Retry with the same `request_key`. |

Codes are stable; messages may change and never contain customer data. Every
response has a `Request-Id` header; include it when you contact us.

A screening that started but could not finish has `"status": "failed"` and an
`error` object. That is not an HTTP error.

## Versions

The path carries the major version, `/v1`. Within `v1` we only add optional
request fields, response fields, reason codes and values. A breaking change
needs `/v2`, with notice before `v1` stops.

The `API-Version` request header, such as `API-Version: v1.1`, is reserved for
optional minor versions. Requests without it get `v1.0`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.