Health check da aplicação

O health check chama uma rota GET da sua aplicação HTTP a cada 1 minuto e reinicia a instância quando uma falha é confirmada. Estas rotas permitem consultar e alterar a configuração e listar as falhas registradas. O comportamento completo do recurso está em Health checks para projetos HTTP.

Autenticação e permissões

As rotas aceitam uma API Key da organização (x-api-key: znf_... ou Authorization: Bearer znf_...) ou um token de usuário com x-organization-id.

RotaScope em project:<project-id>Limite
GET /v1/project/:id/healthcheckproject.read100 por minuto
PATCH /v1/project/:id/healthcheckproject.instances.update20 a cada 5 minutos
GET /v1/project/:id/healthcheck/failuresproject.metrics.read100 por minuto

owner tem acesso completo; assistant, member e API Keys precisam do scope da ação. As rotas valem apenas para projetos HTTP; para outros tipos a resposta é 400 com healthcheck is available only for HTTP projects.

Consultar a configuração

GET /v1/project/:id/healthcheck
{
  "status": "success",
  "data": {
    "available": true,
    "healthcheck": { "enabled": true, "path": "/health" },
    "interval_seconds": 60,
    "retention_days": 30
  }
}
CampoDescrição
availabletrue quando o plano do projeto inclui health check. É o mesmo valor de capabilities.healthcheck em GET /v1/project/plans
healthcheck.enabledSe a verificação está ativa
healthcheck.pathRota verificada. Projetos que nunca configuraram o recurso retornam { "enabled": false, "path": "/health" }
interval_secondsIntervalo entre verificações (fixo em 60)
retention_daysPeríodo em que as falhas ficam disponíveis (fixo em 30)

Ativar, alterar ou desativar

PATCH /v1/project/:id/healthcheck
CampoTipoObrigatórioDescrição
healthcheck.enabledbooleanSimtrue ativa; false desativa
healthcheck.pathstringCom enabled: trueCaminho absoluto de 1 a 256 caracteres, começando com uma única /, sem domínio, query string ou fragmento
{
  "healthcheck": {
    "enabled": true,
    "path": "/health"
  }
}

A resposta confirma a configuração aplicada:

{
  "status": "success",
  "data": {
    "healthcheck": { "enabled": true, "path": "/health" },
    "interval_seconds": 60,
    "retention_days": 30
  }
}

Para desativar, envie { "healthcheck": { "enabled": false } }. A última rota configurada é preservada e o histórico de falhas continua disponível. Desativar é permitido em qualquer plano; ativar exige um plano com o recurso.

CódigoSituação
400Corpo inválido, caminho fora do formato, projeto que não é HTTP ou plano não encontrado
403Plano sem health check (HEALTHCHECK_NOT_AVAILABLE_FOR_PLAN) ou scope insuficiente
404Projeto não encontrado (project not exists)
429Limite de requisições excedido

Listar falhas

GET /v1/project/:id/healthcheck/failures?page=1&limit=50
ParâmetroTipoPadrãoDescrição
pageinteiro1Página, a partir de 1
limitinteiro50Itens por página, de 1 a 100
{
  "status": "success",
  "data": {
    "failures": [
      { "occurred_at": "2026-10-08T12:03:00.000Z", "status_code": 503 }
    ],
    "pagination": { "page": 1, "limit": 50, "total": 1, "total_pages": 1 },
    "retention_days": 30
  }
}

As falhas vêm da mais recente para a mais antiga e cobrem apenas os últimos 30 dias. status_code é o status HTTP devolvido pela aplicação e fica ausente quando não houve resposta, como em timeout ou falha de conexão.

Exemplo

curl -X PATCH "https://api.zenifra.com/v1/project/6650f1a2b3c4d5e6f7a8b9c0/healthcheck" \
  -H "x-api-key: znf_..." \
  -H "Content-Type: application/json" \
  -d '{"healthcheck": {"enabled": true, "path": "/health"}}'

Próximos passos

Última atualização em

Nessa página