# service_unavailable

Source: https://capacms.com/docs/errors/service_unavailable

503 api_error. The API was busy with other projects' reads for the whole database budget, or had no database connection free in time.

| HTTP status | `type`      | Surfaces      |
| ----------- | ----------- | ------------- |
| 503         | `api_error` | REST, GraphQL |

## What it means

The API was busy with other projects' reads for the whole database budget, or had no database connection free in time. Nothing in the request is wrong.

| When                                                                                                                                                                                  | What the `hint` tells you                                  |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| the API process was full of other projects' reads for the whole database budget, the last slot being kept for a project with none running, or had no database connection free in time | nothing in the request is wrong: retry after `Retry-After` |

## What to do

Retry after the `Retry-After` seconds.

## The response

HTTP 503:

```json
{
  "error": {
    "type": "api_error",
    "code": "service_unavailable",
    "message": "The API is busy with other reads.",
    "docs": "https://docs.capacms.com/errors/service_unavailable"
  },
  "meta": {
    "version": "2026-10-01",
    "contract": 1,
    "requestId": "req_0f3c…"
  }
}
```

## On GraphQL

`/api/graphql` answers the same `code` inside `errors[].extensions`. The status depends on the `Accept` header you send ([status codes](https://capacms.com/docs/api/graphql#status-codes)):

| `application/json` | `graphql-response+json` | When                                                                                                                                                                                                                                                                      |
| ------------------ | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 503                | 503                     | the API process was full of other projects' reads for the whole database budget, the last slot being kept for a project with none running, or the database had no connection free in time. Nothing in the request is wrong: retry after `Retry-After`. There is no `data` |

## See also

* [Limits](https://capacms.com/docs/api/limits)
