> ## 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 intervalos de saúde

> Consulte as últimas 24 horas de status da API, Auth e banco de dados.

Consulta pública, sem chave de API e sem parâmetros. Retorna os três serviços na mesma
resposta, com 96 intervalos de 15 minutos por serviço, em ordem cronológica.
A janela termina no último intervalo completo. Para o estado atual, consulte
[Saúde dos serviços](/api-reference/health/get).

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

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

<ResponseField name="checked_at" type="string | null">
  Horário da última atualização disponível. Respostas em cache conservam esse horário.
</ResponseField>

<ResponseField name="started_at" type="string">
  Início da janela de 24 horas, inclusive, em ISO 8601 UTC.
</ResponseField>

<ResponseField name="ended_at" type="string">
  Fim da janela, exclusivo, em ISO 8601 UTC.
</ResponseField>

<ResponseField name="interval_seconds" type="integer">
  Duração de cada intervalo: `900` segundos.
</ResponseField>

<ResponseField name="services" type="object">
  Sempre contém `api`, `auth` e `database`. Cada serviço contém `intervals` e `uptime`.

  <Expandable title="propriedades de cada serviço">
    <ResponseField name="intervals" type="array">
      96 itens, cada um com `started_at`, `ended_at` e `status`.
      O status representa a pior condição registrada no intervalo e usa os
      [mesmos valores do status atual](/api-reference/health/get#status-possiveis).
    </ResponseField>

    <ResponseField name="uptime" type="object">
      Resumo da janela: `available_seconds`, `percentage`, `unavailable_seconds`
      e `unknown_seconds`. O percentual varia de 0 a 100 e é `null` quando não
      há informação suficiente. Os tempos podem conter frações de segundo.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="timezone" type="string">
  Sempre `UTC`. A aplicação pode apresentar os horários no fuso escolhido pelo usuário.
</ResponseField>

## Exemplo de leitura

O objeto de um intervalo de API com performance reduzida é:

```json theme={"theme":"css-variables"}
{
  "ended_at": "2026-09-22T09:15:00.000Z",
  "started_at": "2026-09-22T09:00:00.000Z",
  "status": "degraded_performance"
}
```

Para montar três barras de histórico, leia `services.api.intervals`,
`services.auth.intervals` e `services.database.intervals`.
O percentual de cada barra está no `uptime.percentage` do respectivo serviço.

Quando não é possível carregar o histórico, a API responde `503`:

```json theme={"theme":"css-variables"}
{
  "error": {
    "code": "health_history_unavailable",
    "message": "Health history is temporarily unavailable. Please try again later.",
    "type": "api_error"
  }
}
```
