Consultar status do servidor
GET /status
Saúde do servidor: a versão em execução e quantas inboxes há em cada estado. Sem token.
Responde 200 mesmo com o banco fora do ar: nesse caso vem status.database_status, e as contagens são as da última leitura boa. As contagens são atualizadas a cada, no máximo, 60 segundos. Não tem resposta de erro: com problema, o 200 traz o estado em status.
Autenticação
[]
{}
Respostas
{
"200": {
"description": "Status atual do servidor",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"info",
"build",
"instance_counts",
"status"
],
"properties": {
"info": {
"type": "string",
"example": "Server health check completed",
"description": "Resumo em texto (em inglês): `Server health check completed`, `Server is up but no instances connected` ou, com o banco degradado, `Server is accepting HTTP requests; database health check degraded`."
},
"build": {
"type": "object",
"required": [
"version",
"revision",
"date"
],
"properties": {
"version": {
"type": "string",
"example": "2.2.2",
"description": "Versão (ex.: `2.6.8`)."
},
"revision": {
"type": "string",
"example": "a1b2c3d4e",
"description": "Commit do build."
},
"date": {
"type": "string",
"example": "2026-08-31",
"description": "Data do build."
}
},
"description": "A versão da api em execução."
},
"instance_counts": {
"type": "object",
"required": [
"total",
"connected",
"reconnecting",
"connecting",
"queued_reconnect",
"disconnected",
"hibernated",
"other",
"observed_at"
],
"properties": {
"total": {
"type": "integer",
"format": "int64",
"description": "Todas as inboxes do servidor."
},
"connected": {
"type": "integer",
"format": "int64",
"description": "Conectadas ao WhatsApp."
},
"reconnecting": {
"type": "integer",
"format": "int64",
"description": "Caíram e estão reconectando sozinhas. Já saem da contagem dos outros estados."
},
"connecting": {
"type": "integer",
"format": "int64",
"description": "Conectando ou esperando a leitura do QR code ou do código de pareamento."
},
"queued_reconnect": {
"type": "integer",
"format": "int64",
"description": "Na fila para reconectar (por exemplo, logo depois de um reinício)."
},
"disconnected": {
"type": "integer",
"format": "int64",
"description": "Desconectadas."
},
"hibernated": {
"type": "integer",
"format": "int64",
"description": "Pausadas pelo servidor."
},
"other": {
"type": "integer",
"format": "int64",
"description": "Em qualquer outro estado."
},
"observed_at": {
"type": "string",
"format": "date-time",
"description": "Quando as contagens foram lidas. ISO 8601 em UTC, sem milissegundos."
}
},
"description": "Quantas inboxes há em cada estado."
},
"status": {
"type": "object",
"required": [
"server_status",
"total_instances",
"last_check",
"dc",
"node"
],
"properties": {
"server_status": {
"type": "string",
"example": "running",
"description": "Sempre `running` quando o servidor responde."
},
"total_instances": {
"type": "integer",
"format": "int64",
"description": "Inboxes **conectadas** (o mesmo que `instance_counts.connected`), não o total. O total está em `instance_counts.total`."
},
"last_check": {
"type": "string",
"format": "date-time",
"description": "Quando as contagens foram atualizadas. ISO 8601, sem milissegundos."
},
"dc": {
"type": "string",
"description": "Datacenter onde o servidor roda."
},
"node": {
"type": "string",
"description": "Máquina (nó) onde o servidor roda."
},
"database_status": {
"type": "string",
"description": "Só quando a leitura do banco falhou: `timeout`, `database_error` ou `database_unavailable`."
},
"database_error": {
"type": "string",
"description": "Detalhe do erro do banco, quando há."
},
"checked_instance": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id da inbox verificada."
},
"is_healthy": {
"type": "boolean",
"description": "`true` se a sessão dela está pronta."
},
"connection_status": {
"type": "string",
"description": "O estado dela agora (`connected`, `disconnected`...)."
},
"message": {
"type": "string",
"description": "`Instance is healthy` ou `Instance health check failed`."
}
},
"description": "Uma inbox conectada, escolhida em rodízio, para conferir se as conexões respondem. Ausente quando não há inbox conectada ou o banco falhou."
},
"reconnecting_instances": {
"type": "integer",
"format": "int64",
"description": "Inboxes que caíram e estão reconectando sozinhas. Ausente com o banco degradado."
},
"reconnecting_instances_oldest": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "Quando começou a reconexão mais antiga em andamento (ISO 8601 em UTC), ou `null` se nenhuma. Ausente com o banco degradado."
}
},
"description": "O servidor e a última verificação."
}
}
}
}
}
}
}
Estado: Disponível
Formato: o mesmo da API v1 (caminho, campos e erros no padrão antigo).
Compatibilidade de canais
| Canal | Compatível | Observação |
|---|---|---|
| WhatsApp (Web) | Sim | |
| WhatsApp (API oficial) | Sim | |
| Sim | ||
| Messenger | Sim | |
| Telegram | Sim |
Eventos que esta rota gera
Nenhum. Esta rota não gera evento no webhook (nem em GET /events): o resultado vem só na resposta.
Antes e depois (uazapi → Orkesio)
Na uazapi: GET /status.
- Sem mudança: a mesma rota e o mesmo formato da uazapi (é a mesma rota nas duas).
Guias relacionados
Visão geral · O que funciona em cada canal · O que muda da uazapi