> ## 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 histórico de saúde

> Consulte o histórico diário de disponibilidade de um serviço da Chargefy.

Consulta pública, sem chave de API. Retorna um dia por item, em ordem cronológica,
com o pior estado registrado, a duração de cada condição em segundos e os IDs dos
incidentes relacionados. O histórico está disponível desde 18/05/2026.

<ParamField query="service" type="string" required>
  Serviço consultado: `api`, `auth` ou `database`.
</ParamField>

<ParamField query="date[gte]" type="string">
  Primeiro dia, inclusive, no formato `YYYY-MM-DD`. Por padrão, 89 dias antes do último dia.
</ParamField>

<ParamField query="date[lte]" type="string">
  Último dia, inclusive, no formato `YYYY-MM-DD`. Por padrão, hoje. O intervalo aceita até 180 dias e não pode terminar no futuro.
</ParamField>

<RequestExample>
  ```bash cURL theme={"theme":"css-variables"}
  curl --get "https://api.chargefy.io/v1/health/history" \
    --data-urlencode "service=database" \
    --data-urlencode "date[gte]=2026-09-10" \
    --data-urlencode "date[lte]=2026-09-10"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={"theme":"css-variables"}
  {
    "object": "health_history",
    "available_from": "2026-05-18",
    "checked_at": "2026-09-22T12:00:00.000Z",
    "days": [
      {
        "date": "2026-09-10",
        "durations": {
          "degraded_performance": 0,
          "major_outage": 0,
          "operational": 55580,
          "partial_outage": 30820,
          "unknown": 0
        },
        "incidents": [
          "hi_R7mK2pQ9xW4nT8vL"
        ],
        "status": "partial_outage"
      }
    ],
    "end_date": "2026-09-10",
    "service": "database",
    "start_date": "2026-09-10",
    "timezone": "UTC",
    "uptime": {
      "available_seconds": 55579.837,
      "percentage": 64.3285150462963,
      "unavailable_seconds": 30820.163,
      "unknown_seconds": 0
    }
  }
  ```

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

<ResponseField name="uptime" type="object">
  Resumo de disponibilidade do período: `percentage` (de 0 a 100 ou `null` quando não há informação),
  `available_seconds`, `unavailable_seconds` e `unknown_seconds`. Os tempos podem conter frações de segundo.
</ResponseField>

## Interpretação

* `checked_at` indica a última atualização disponível. Respostas em cache preservam esse horário.
* `durations` separa o tempo de cada condição; períodos sobrepostos não são contados duas vezes. Os valores são arredondados para segundos.
* O dia atual contém somente o período decorrido. Dias anteriores ao início do histórico e períodos sem informação usam `unknown`.
* `status` prioriza `major_outage`, `partial_outage`, `degraded_performance`, `unknown` e `operational`, nessa ordem.
* `incidents` contém referências `hi_`. Consulte cada uma em [Consultar incidente](/api-reference/health/incidents/get).

Um incidente em acompanhamento pode ter seu serviço já operacional. A duração considera
o estado do serviço, e não todo o tempo em que o incidente permaneceu aberto.
