Guia dos endpoints disponíveis no Lumi neste momento. A API combina autenticação do painel, gerenciamento de instâncias, comandos WhatsApp assíncronos, consulta de dados locais e GraphQL usado pelo dashboard.
Base URLhttps://lume-io.com
Autenticação públicaX-API-Key ou Bearer
Execução WhatsAppComandos em fila
Acesso
Autenticação
O painel usa cookie de sessão. A API pública aceita chave por X-API-Key ouAuthorization: Bearer SUA_CHAVE. Existem chaves de usuário para gerenciar instâncias e chaves de instância para executar comandos WhatsApp.
Gera uma nova API key global do tenant. A chave completa aparece somente nessa resposta.
Cookie de sessão
Multi-instância
Instâncias
Uma instância representa uma conexão WhatsApp isolada dentro do tenant. A User API key global identifica o usuário e o workspace, então a criação não recebe username no body. O camponame é o nome da instância.
GET/api/instances
Lista as instâncias WhatsApp do usuário autenticado.
User API key
POST/api/instances
Cria uma instância para o usuário dono da User API key e retorna a API key da instância uma única vez.
Fluxo recomendado: crie a instância, chame POST /api/instances/{instance_id}/qr, consulte GET /api/instances/{instance_id}/session atéqr_available ser verdadeiro e então carregueGET /api/instances/{instance_id}/qr.png.
GET/api/instances/{instance_id}/session
Consulta o status da sessão WhatsApp de uma instância.
User API key
POST/api/instances/{instance_id}/qr
Enfileira o comando para gerar QR Code de conexão.
Consulta o status e resultado de um comando enfileirado.
Instance API key
Também existem comandos para /group/photo, /group/invite-link,/group/invite-reset, /group/invite-info, /group/locked,/group/announce, /group/requests, /group/requests via POST,/group/join, /group/leave, /group/join-approval,/group/member-add-mode e rotas de /community/*.
Conversas
Chats e Contatos
Consultas locais e comandos de estado para chats, contatos, labels e envio básico de texto.
GET/contacts
Lista contatos sincronizados da instância.
Instance API key
GET/labels
Lista labels locais da instância.
Instance API key
POST/chat/find
Busca um chat por JID ou número.
Instance API key
Body
{
"number": "5511999999999"
}
POST/chat/check
Verifica se um número existe no WhatsApp.
Instance API key
Body
{
"number": "5511999999999"
}
POST/profile
Consulta perfil e foto de um contato.
Instance API key
Body
{
"number": "5511999999999"
}
POST/v1/groups/{group_jid}/messages
Enfileira uma mensagem de texto para um grupo monitorado.
A configuração de webhook está disponível hoje via GraphQL no dashboard. Cada instância possui URL, ativação, filtros de eventos, exclusões e histórico de entregas.
O endpoint POST /graphql usa cookie de sessão e alimenta o painel operacional.
query Dashboard($instance_id: String) {
dashboard(instance_id: $instance_id) {
session {
id
status
qr_available
qr_expires_at
}
instances {
id
name
status
api_key_prefix
}
groups {
jid
name
monitored
}
}
}
Queries
dashboard(instance_id)
webhookDeliveries(instance_id, limit)
Mutations
createInstance(name, profile_emoji)
rotateInstanceAPIKey(id)
deleteInstance(id)
setGroupMonitoring(jid, monitored, instance_id)
sendGroupMessage(group_jid, instance_id, text)
requestWhatsAppQR(instance_id)
updateInstanceWebhook(...)
updateInstanceClearHistory(id, enabled)
sendTestWebhook(instance_id)
Operação
Observabilidade
GET /healthz retorna o status da API. GET /metrics expõe métricas Prometheus e exige token por Authorization: Bearer ou X-Metrics-Token.