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

# Health

> Probe combinado, processo, banco de dados e dependências opcionais

**Auth:** Nenhuma • **Rate-limit:** Bypass (fora do limite global) • **Idempotente:** sim

## Descrição

Endpoint **aberto** (sem token) que devolve um snapshot do estado da API a partir de checks de dependências (DB sempre, mais probes opcionais como S3 quando configurado). Bypassa rate-limit e CORS para que monitores externos possam consultá-lo sem credenciais.

## Exemplo

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://ryzeapi.cloud/health"
  ```
</RequestExample>

## Resposta, saudável

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "status": "ok",
    "service": "RyzeAPI",
    "uptime": "12h34m56s",
    "timestamp": "2026-04-28T14:35:21Z",
    "checks": {
      "db": "ok"
    }
  }
  ```
</ResponseExample>

## Resposta, degradado

```json 503 Service Unavailable theme={null}
{
  "status": "degraded",
  "service": "RyzeAPI",
  "uptime": "12h34m56s",
  "timestamp": "2026-04-28T14:35:21Z",
  "checks": {
    "db": "fail: connection refused"
  }
}
```

## Campos

| Campo       | Descrição                                                                                |
| ----------- | ---------------------------------------------------------------------------------------- |
| `status`    | `"ok"` quando todos os checks passam, `"degraded"` quando algum falha.                   |
| `service`   | Sempre `"RyzeAPI"`.                                                                      |
| `uptime`    | Tempo desde o boot do processo, no formato Go duration (ex.: `12h34m56s`, `1h2m3.456s`). |
| `timestamp` | Momento da resposta em RFC 3339 (UTC).                                                   |
| `checks`    | Mapa `nome → "ok" \| "fail: <motivo>"` para cada dependência verificada.                 |

<Note>
  Entradas em `checks` aparecem condicionalmente: `db` está sempre presente; outras dependências (ex.: `s3`) só aparecem quando configuradas no servidor.
</Note>

## Uso em uptime monitors

Aponte um serviço de monitoramento (UptimeRobot, Better Stack, Pingdom, etc.) para `GET /health`:

* `200` → API saudável.
* `503` → API degradada, dispare o alerta.

## Notas

* Não é necessário enviar header `token`. Tokens enviados são ignorados.
* O endpoint **não conta** para o limite global de `100 req/min`, pode ser chamado sem restrição por probes externas.

## Relacionados

<CardGroup cols={2}>
  <Card title="Visão geral" icon="heart-pulse" href="/pt/api/observability/overview">
    Posicionamento do endpoint dentro do ciclo de vida da API.
  </Card>

  <Card title="Tipos de erro" icon="triangle-exclamation" href="/pt/guide/errors">
    Tabela de status HTTP usados pela RyzeAPI.
  </Card>
</CardGroup>
