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

# Consultar saúde dos serviços

> Consulte o status atual da API, da autenticação e do banco de dados da Chargefy.

Retorna o objeto `health` com o status atual dos serviços da Chargefy e um
status geral. A consulta é pública: não exige chave de API, organização ou
parâmetros.

<RequestExample>
  ```bash cURL theme={"theme":"css-variables"}
  curl "https://api.chargefy.io/v1/health"
  ```
</RequestExample>

## Resposta

`200 OK` com o objeto `health`, inclusive quando um serviço está indisponível.
Use os campos `status` para interpretar a saúde dos serviços; o código HTTP
indica que a consulta foi respondida.

<ResponseField name="object" type="string">
  Sempre `health`.
</ResponseField>

<ResponseField name="checked_at" type="string | null">
  Data e hora da última consulta válida, em ISO 8601 com fuso UTC. É `null`
  quando não há uma consulta válida disponível. Uma resposta em cache
  conserva esse horário.
</ResponseField>

<ResponseField name="services" type="object">
  Contém sempre os três serviços, cada um com seu próprio campo `status`.

  <Expandable title="propriedades">
    <ResponseField name="api" type="object">
      Serviço de API. Exemplo: `{ "status": "operational" }`.
    </ResponseField>

    <ResponseField name="auth" type="object">
      Serviço de autenticação. Exemplo: `{ "status": "operational" }`.
    </ResponseField>

    <ResponseField name="database" type="object">
      Serviço de banco de dados. Exemplo: `{ "status": "operational" }`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="status" type="string">
  Status geral dos três serviços. Prioriza `major_outage`, `partial_outage`
  e `degraded_performance`, nessa ordem. Sem uma dessas condições, retorna
  `unknown` se algum serviço estiver sem informação; caso contrário,
  retorna `operational`.
</ResponseField>

<ResponseExample>
  ```json 200 theme={"theme":"css-variables"}
  {
    "object": "health",
    "checked_at": "2026-09-22T12:00:00.000Z",
    "services": {
      "api": {
        "status": "operational"
      },
      "auth": {
        "status": "operational"
      },
      "database": {
        "status": "operational"
      }
    },
    "status": "operational"
  }
  ```
</ResponseExample>

## Status possíveis

Os mesmos valores se aplicam a cada serviço e ao status geral.

| Status                 | Significado                | Como interpretar                                  |
| ---------------------- | -------------------------- | ------------------------------------------------- |
| `operational`          | Operacional.               | Serviço disponível.                               |
| `degraded_performance` | Desempenho degradado.      | O serviço pode apresentar lentidão.               |
| `partial_outage`       | Indisponibilidade parcial. | Parte do serviço pode estar indisponível.         |
| `major_outage`         | Indisponibilidade ampla.   | O serviço apresenta uma interrupção relevante.    |
| `unknown`              | Informação indisponível.   | Não há informação válida para confirmar o estado. |

Por exemplo, se `auth.status` for `partial_outage` e os outros dois serviços
estiverem `operational`, o `status` geral será `partial_outage`.

## Atualização

As consultas podem reutilizar a mesma observação por até 60 segundos. Quando
algum serviço está `unknown`, esse intervalo cai para até 5 segundos. Use
`checked_at` para identificar o horário da observação e consulte a cada
60 segundos para acompanhar mudanças.

Se não houver informação válida, os três serviços e o status geral retornam
`unknown`, com `checked_at: null`. O endpoint apresenta o estado atual.
