Chave API

Instâncias

Gerencie suas sessões do WhatsApp. Cada instância representa um número de telefone conectado.

POST

Criar Instância

/instance/create

Cria uma nova instância com configuração completa: webhook, comportamento (rejeição de chamada, marcar como lido, sincronização de histórico) e opcionalmente proxy (Enterprise). O 'instanceName' que você escolher será o identificador usado em todas as outras chamadas — não existe mais ObjectID separado.

instanceNamestringObrigatório

Identificador único da instância dentro da sua conta. Será usado como :name em todos os outros endpoints, então não pode ser alterado depois. Aceita letras sem acento, números, ponto, hífen e underline, até 40 caracteres, com pelo menos uma letra ou número. Nomes fora dessa regra são recusados com status 400.

rejectCallbooleanOpcional

Rejeita automaticamente chamadas recebidas.

msgCallstringOpcional

Mensagem enviada automaticamente ao rejeitar uma chamada.

groupsIgnorebooleanOpcional

Ignora eventos de grupos no webhook.

alwaysOnlinebooleanOpcional

Mantém a conta sempre online no WhatsApp.

readMessagesbooleanOpcional

Marca automaticamente as mensagens como lidas.

syncFullHistorybooleanOpcional

Sincroniza o histórico completo do WhatsApp ao conectar.

saveMediabooleanOpcional

Se false, a mídia recebida não é armazenada (o webhook fica sem mediaUrl). Default: true (armazena).

webhook.enabledbooleanOpcional

Ativa o webhook na criação. O webhook só é configurado se uma URL válida também for fornecida.

webhook.urlstringOpcional

URL HTTPS pública que receberá os eventos. Bloqueado: localhost, IPs privados e redes internas (proteção SSRF).

webhook.headersobjectOpcional

Headers HTTP enviados junto com cada evento (ex: Authorization). Aceita até 20, nomes únicos ignorando maiúsculas, e exige URL https.

webhook.eventsstring[]Opcional

Lista de eventos para filtrar. Se omitida, nenhum evento é entregue

webhook.base64booleanOpcional

Se true, mídias nos eventos vêm codificadas em base64.

proxyHoststringOpcional

Proxy: host público (Enterprise).

proxyPortstringOpcional

Proxy: porta (Enterprise).

proxyProtocolstringOpcional

Proxy: "http", "https" ou "socks5" (Enterprise).

proxyUsernamestringOpcional

Proxy: usuário (Enterprise).

proxyPasswordstringOpcional

Proxy: senha (Enterprise).

migrationobjectOpcional

Migração de sessão Baileys já autenticada. Restrito ao plano Enterprise. Estrutura: { creds: object, preKeys: array }. Resposta inclui migration: { jid, preKeysImported, connected }.

curl -X POST https://api.whatsmiau.dev/v2/instance/create \
  -H "apikey: SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
  "instanceName": "Marketing01"
}'
GET

Listar Instâncias

/instance/fetchInstances

Retorna todas as instâncias da sua conta com o estado atual. Uma suspensão nunca é causada apenas por exceder o limite do plano. Itens suspensos vêm com state: 'closed', suspended: true e suspension_reason.

curl -X GET https://api.whatsmiau.dev/v2/instance/fetchInstances \
  -H "apikey: SUA_CHAVE"
GET

Conectar Instância

/instance/connect/:name

Inicia a conexão e retorna o QR Code (base64) + pairing code quando disponível. Se o acesso estiver suspenso, retorna HTTP 423 com suspension_reason; uma decisão administrativa só pode ser revertida no painel Admin.

namestringObrigatório

Nome da instância (o mesmo "instanceName" usado ao criar).

numberstringOpcional

Número de telefone com DDI para receber pairing code em vez de QR Code (ex: 5511999998888).

curl -X GET https://api.whatsmiau.dev/v2/instance/connect/Marketing01 \
  -H "apikey: SUA_CHAVE"
GET

QR Code como PNG

/instance/connect/:name/image

Retorna o QR Code como imagem PNG pura (Content-Type: image/png). Útil para incorporar em páginas HTML via <img />. Retorna 204 No Content se a instância já estiver conectada.

namestringObrigatório

Nome da instância.

curl -X GET https://api.whatsmiau.dev/v2/instance/connect/Marketing01/image \
  -H "apikey: SUA_CHAVE" \
  -o qr.png
GET

Estado da Conexão

/instance/connectionState/:name

Retorna o estado atual da instância. Valores: 'open', 'closed', 'connecting' e 'qr-code'. Quando suspensa, retorna 'closed', suspended: true e suspension_reason: administrative, billing_past_due, billing_ended ou billing.

namestringObrigatório

Nome da instância.

curl -X GET https://api.whatsmiau.dev/v2/instance/connectionState/Marketing01 \
  -H "apikey: SUA_CHAVE"
PUT

Atualizar Instância

/instance/update/:name

Atualiza webhook, comportamento e/ou proxy de uma instância existente. Todos os campos são opcionais: envie apenas os que deseja alterar, os demais permanecem inalterados. 'syncFullHistory' não é alterável por este endpoint. Campos de proxy são restritos ao plano Enterprise.

namestringObrigatório

Nome da instância (path param).

rejectCallbooleanOpcional

Rejeita automaticamente chamadas recebidas.

msgCallstringOpcional

Mensagem enviada automaticamente ao rejeitar uma chamada. Envie "" para remover a mensagem.

groupsIgnorebooleanOpcional

Ignora eventos de grupos no webhook.

alwaysOnlinebooleanOpcional

Mantém a conta sempre online no WhatsApp.

readMessagesbooleanOpcional

Marca automaticamente as mensagens como lidas.

saveMediabooleanOpcional

Se false, a mídia recebida não é armazenada (o webhook fica sem mediaUrl). Default: true (armazena).

webhook.enabledbooleanOpcional

Ativa/desativa o webhook.

webhook.urlstringOpcional

URL HTTPS que receberá os eventos. Bloqueado: localhost, IPs privados e redes internas.

webhook.headersobjectOpcional

Headers HTTP enviados junto com cada evento (ex: Authorization). Aceita até 20, nomes únicos ignorando maiúsculas, e exige URL https.

webhook.eventsstring[]Opcional

Filtro de eventos (ex: messages.upsert, connection.update).

webhook.base64booleanOpcional

Se true, mídias nos eventos vêm codificadas em base64.

proxyHoststringOpcional

Host público do proxy (Enterprise).

proxyPortstringOpcional

Porta do proxy (Enterprise).

proxyProtocolstringOpcional

"http", "https" ou "socks5" (Enterprise).

proxyUsernamestringOpcional

Usuário do proxy (Enterprise).

proxyPasswordstringOpcional

Senha do proxy (Enterprise).

curl -X PUT https://api.whatsmiau.dev/v2/instance/update/Marketing01 \
  -H "apikey: SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
  "rejectCall": true,
  "msgCall": "Não atendemos ligações neste número.",
  "alwaysOnline": true,
  "readMessages": true
}'
DELETE

Desconectar (Logout)

/instance/logout/:name

Encerra a sessão WhatsApp mas mantém a instância criada. Para reconectar depois, basta chamar /instance/connect/:name novamente. Para remover permanentemente, use Deletar Instância.

namestringObrigatório

Nome da instância.

curl -X DELETE https://api.whatsmiau.dev/v2/instance/logout/Marketing01 \
  -H "apikey: SUA_CHAVE"
DELETE

Deletar Instância

/instance/delete/:name

Remove permanentemente a instância no Core e, somente após essa confirmação, no Manager. Aceita o nome público, o ID completo do Core ou o ID interno retornado pelas APIs legadas. Pode responder 404 (não encontrada), 409 (exclusão já em andamento) ou 502 (Core não confirmou; o registro foi preservado para nova tentativa).

namestringObrigatório

Nome da instância (o mesmo "instanceName" usado ao criar).

curl -X DELETE https://api.whatsmiau.dev/v2/instance/delete/Marketing01 -H "apikey: SUA_CHAVE"

© 2026 Whatsmiau Cloud API Reference.