{"openapi":"3.1.0","info":{"title":"Vértice API","version":"0.2.0","description":"API REST multi-tenant do Vértice para WhatsApp: instâncias, mensagens, fila durável, grupos, webhooks e faturamento. Autentique com cookie de sessão (painel) ou API key do workspace.","contact":{"email":"suporte@vertice.app"}},"servers":[{"url":"/","description":"Mesma origem"}],"tags":[{"name":"Público"},{"name":"Autenticação"},{"name":"Workspace"},{"name":"Instâncias"},{"name":"Configurações"},{"name":"Privacidade"},{"name":"Contatos"},{"name":"Mensagens"},{"name":"Fila"},{"name":"Grupos"},{"name":"Comunidades"},{"name":"Canais"},{"name":"Conversas"},{"name":"Ligações"},{"name":"WhatsApp Business"},{"name":"Status"},{"name":"Campanhas"},{"name":"Webhooks"},{"name":"MCP"},{"name":"Faturamento"},{"name":"Admin"},{"name":"Compatibilidade"},{"name":"Parceiros"},{"name":"Mobile"}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"Chave do workspace (`vtc_live_...`)"},"BearerAuth":{"type":"http","scheme":"bearer","description":"A mesma API key no header Authorization"},"SessionCookie":{"type":"apiKey","in":"cookie","name":"vertice_session","description":"Sessão do painel; mutações exigem x-csrf-token"}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}},"responses":{"BadRequest":{"description":"Requisição inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Não autenticado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"x-vertice-websockets":[{"path":"/instances/{id}/calls/{callId}/media/live","description":"Canal PCM bidirecional do softphone. Exige upgrade WebSocket; não é uma operação REST.","authentication":"Sessão ou API key write, origem válida e primeiro frame JSON {type:auth,token:MEDIA_TOKEN}. Token emitido pelo POST media-token; nunca colocar token na URL.","formats":"Servidor envia JSON type=format com capture/playback e PCM f32le binário. Cliente envia exatamente um quadro no formato capture. Payload máximo 32 KiB; buffers limitados; credencial renovada pelo canal a cada 20s e revogada ao emitir token externo.","lifecycle":"Um canal de áudio ativo por chamada. Desconexão sem substituição encerra a chamada após 10s. Chamada/microfone encerram ao sair de Conversas."}],"paths":{"/health":{"get":{"tags":["Público"],"summary":"Status da API e do Postgres","x-vertice-status":"implemented","description":"Retorna o status do processo e do Postgres. Não exige autenticação.","operationId":"gethealth","security":[],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/public/plans":{"get":{"tags":["Público"],"summary":"Planos e preços públicos","x-vertice-status":"implemented","description":"Lista os planos públicos, preços e limites usados na landing e no checkout.","operationId":"getpublic_plans","security":[],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/public/config":{"get":{"tags":["Público"],"summary":"Configuração pública (cadastro/Stripe)","x-vertice-status":"implemented","description":"Expõe apenas configuração pública: cadastro habilitado e Stripe configurado.","operationId":"getpublic_config","security":[],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/openapi.json":{"get":{"tags":["Público"],"summary":"Especificação OpenAPI 3.1","x-vertice-status":"implemented","description":"Serve a especificação OpenAPI 3.1 completa da API.","operationId":"getopenapi_json","security":[],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/docs/vertice.postman_collection.json":{"get":{"tags":["Público"],"summary":"Coleção Postman para importar","x-vertice-status":"implemented","description":"Serve a coleção Postman v2.1 gerada a partir do catálogo de rotas.","operationId":"getdocs_vertice_postman_collection_json","security":[],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/auth/signup":{"post":{"tags":["Autenticação"],"summary":"Cria workspace e conta proprietária","x-vertice-status":"implemented","description":"Retorna cookies de sessão + CSRF. O primeiro cadastro pode adotar instâncias órfãs de instalações antigas.","operationId":"postauth_signup","security":[],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"workspace":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"password":{"type":"string"}},"additionalProperties":true,"example":{"workspace":"Nimbus Labs","name":"Isaias Silva","email":"voce@empresa.com","password":"uma-senha-forte"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/auth/login":{"post":{"tags":["Autenticação"],"summary":"Login por e-mail e senha","x-vertice-status":"implemented","description":"Se o 2FA estiver ativo, responde `requires2fa: true` com um desafio para /auth/2fa/verify.","operationId":"postauth_login","security":[],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"password":{"type":"string"}},"additionalProperties":true,"example":{"email":"voce@empresa.com","password":"uma-senha-forte"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/auth/logout":{"post":{"tags":["Autenticação"],"summary":"Encerra a sessão e limpa cookies","x-vertice-status":"implemented","description":"Encerra a sessão atual, remove o registro do banco e limpa os cookies de sessão e CSRF.","operationId":"postauth_logout","security":[],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/auth/me":{"get":{"tags":["Autenticação"],"summary":"Usuário, workspace, limites e uso","x-vertice-status":"implemented","description":"Retorna o usuário autenticado, o workspace, os limites do plano, o uso atual e se o 2FA está ativo.","operationId":"getauth_me","security":[{"SessionCookie":[]}],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/auth/2fa/setup":{"post":{"tags":["Autenticação"],"summary":"Gera segredo TOTP e QR code","x-vertice-status":"implemented","description":"Gera um segredo TOTP novo e devolve o QR code e a URL otpauth para configurar o app autenticador. Só funciona antes de ativar o 2FA.","operationId":"postauth_2fa_setup","security":[{"SessionCookie":[]}],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/auth/2fa/enable":{"post":{"tags":["Autenticação"],"summary":"Confirma código e ativa 2FA","x-vertice-status":"implemented","description":"Confere o código do app autenticador e ativa o 2FA. Devolve oito códigos de recuperação de uso único, exibidos apenas uma vez.","operationId":"postauth_2fa_enable","security":[{"SessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"}},"additionalProperties":true,"example":{"code":"123456"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/auth/2fa/verify":{"post":{"tags":["Autenticação"],"summary":"Troca desafio + código por sessão","x-vertice-status":"implemented","description":"Troca o desafio emitido pelo login por uma sessão válida. Aceita o código TOTP atual ou um código de recuperação ainda não utilizado.","operationId":"postauth_2fa_verify","security":[],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"challengeToken":{"type":"string"},"code":{"type":"string"}},"additionalProperties":true,"example":{"challengeToken":"...","code":"123456"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/auth/2fa/disable":{"post":{"tags":["Autenticação"],"summary":"Desativa 2FA com a senha atual","x-vertice-status":"implemented","description":"Desativa o 2FA do usuário após confirmar a senha atual. O segredo e os códigos de recuperação são apagados.","operationId":"postauth_2fa_disable","security":[{"SessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"password":{"type":"string"}},"additionalProperties":true,"example":{"password":"..."}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/auth/2fa/recovery-codes":{"post":{"tags":["Autenticação"],"summary":"Regenera códigos de recuperação","x-vertice-status":"implemented","description":"Gera um novo conjunto de códigos de recuperação e invalida os anteriores. Exige a senha atual e o 2FA ativo.","operationId":"postauth_2fa_recovery_codes","security":[{"SessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"password":{"type":"string"}},"additionalProperties":true,"example":{"password":"..."}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/auth/profile":{"patch":{"tags":["Autenticação"],"summary":"Atualiza o nome do usuário","x-vertice-status":"implemented","description":"Atualiza o nome exibido do usuário autenticado.","operationId":"patchauth_profile","security":[{"SessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"additionalProperties":true,"example":{"name":"Novo nome"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/auth/password":{"post":{"tags":["Autenticação"],"summary":"Troca a senha e encerra outras sessões","x-vertice-status":"implemented","description":"Troca a senha após confirmar a senha atual e encerra as outras sessões do usuário.","operationId":"postauth_password","security":[{"SessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"currentPassword":{"type":"string"},"newPassword":{"type":"string"}},"additionalProperties":true,"example":{"currentPassword":"...","newPassword":"..."}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/invitations/{token}":{"get":{"tags":["Autenticação"],"summary":"Informações públicas de um convite","x-vertice-status":"implemented","description":"Retorna informações públicas de um convite válido.","operationId":"getinvitations_token","security":[],"parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/invitations/{token}/accept":{"post":{"tags":["Autenticação"],"summary":"Aceita convite e cria a conta","x-vertice-status":"implemented","description":"Aceita o convite, cria a conta com o papel definido e inicia a sessão.","operationId":"postinvitations_token_accept","security":[],"parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"password":{"type":"string"}},"additionalProperties":true,"example":{"name":"Pessoa","password":"uma-senha-forte"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/tenant":{"get":{"tags":["Workspace"],"summary":"Workspace, limites e uso","x-vertice-status":"implemented","description":"Retorna o workspace, plano, limites, uso de números e membros e a assinatura quando existir.","operationId":"gettenant","security":[{"SessionCookie":[]}],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"patch":{"tags":["Workspace"],"summary":"Renomeia o workspace (admin)","x-vertice-status":"implemented","description":"Renomeia o workspace. Exige papel de administrador ou proprietário.","operationId":"patchtenant","security":[{"SessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"additionalProperties":true,"example":{"name":"Novo nome"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/tenant/members":{"get":{"tags":["Workspace"],"summary":"Equipe e convites pendentes","x-vertice-status":"implemented","description":"Lista os membros ativos e os convites pendentes do workspace.","operationId":"gettenant_members","security":[{"SessionCookie":[]}],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/tenant/invitations":{"post":{"tags":["Workspace"],"summary":"Cria convite por link","x-vertice-status":"implemented","description":"Cria um convite por link para entrar no workspace. Não há envio de e-mail nesta versão; o link é retornado para o admin compartilhar.","operationId":"posttenant_invitations","security":[{"SessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"role":{"type":"string"}},"additionalProperties":true,"example":{"email":"pessoa@empresa.com","role":"member"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/tenant/invitations/{id}/resend":{"post":{"tags":["Workspace"],"summary":"Gera novo link para o convite","x-vertice-status":"implemented","description":"Gera um novo token e link para um convite pendente, invalidando o link anterior.","operationId":"posttenant_invitations_id_resend","security":[{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/tenant/invitations/{id}":{"delete":{"tags":["Workspace"],"summary":"Revoga um convite","x-vertice-status":"implemented","description":"Revoga um convite pendente.","operationId":"deletetenant_invitations_id","security":[{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/tenant/members/{id}":{"patch":{"tags":["Workspace"],"summary":"Altera papel do membro (owner)","x-vertice-status":"implemented","description":"Altera o papel de um membro entre member, admin e owner. Apenas o proprietário pode executar.","operationId":"patchtenant_members_id","security":[{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"string"}},"additionalProperties":true,"example":{"role":"admin"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Workspace"],"summary":"Remove um membro","x-vertice-status":"implemented","description":"Remove um membro do workspace e revoga as sessões daquela pessoa.","operationId":"deletetenant_members_id","security":[{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/tenant/api-keys":{"get":{"tags":["Workspace"],"summary":"Lista chaves de API ativas","x-vertice-status":"implemented","description":"Lista as chaves de API ativas do workspace, sem revelar o segredo.","operationId":"gettenant_api_keys","security":[{"SessionCookie":[]}],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"post":{"tags":["Workspace"],"summary":"Cria chave de API (mostrada uma vez)","x-vertice-status":"implemented","description":"Cria uma chave de API com escopos e allowlist de IP opcional. O valor completo é retornado uma única vez.","operationId":"posttenant_api_keys","security":[{"SessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"allowedIps":{"type":"array","items":{"type":"string"}}},"additionalProperties":true,"example":{"name":"Integração CRM","scopes":["read","write"],"allowedIps":[]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/tenant/api-keys/{id}":{"delete":{"tags":["Workspace"],"summary":"Revoga uma chave de API","x-vertice-status":"implemented","description":"Revoga imediatamente uma chave de API do workspace.","operationId":"deletetenant_api_keys_id","security":[{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/tenant/audit":{"get":{"tags":["Workspace"],"summary":"Trilha de auditoria do workspace","x-vertice-status":"implemented","description":"Retorna as últimas ações administrativas do workspace: login, convites, chaves, instâncias, planos e alterações de configuração.","operationId":"gettenant_audit","security":[{"SessionCookie":[]}],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/metrics/overview":{"get":{"tags":["Workspace"],"summary":"Métricas agregadas do painel","x-vertice-status":"implemented","description":"Agrega instâncias por status, mensagens dos últimos sete dias, mensagens enviadas no mês, saúde dos webhooks e uso do plano.","operationId":"getmetrics_overview","security":[{"SessionCookie":[]}],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances":{"get":{"tags":["Instâncias"],"summary":"Lista instâncias do workspace","x-vertice-status":"implemented","description":"Lista os números do workspace com status, telefone, webhook e filtros configurados. Com a chave mestra, pode listar todas as instâncias.","operationId":"getinstances","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"post":{"tags":["Instâncias"],"summary":"Cria uma instância","x-vertice-status":"implemented","description":"O webhookSecret só é retornado na criação. Guarde-o para validar a assinatura HMAC.","operationId":"postinstances","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"webhookUrl":{"type":"string"}},"additionalProperties":true,"example":{"name":"Atendimento","webhookUrl":"https://seu-sistema.com/hooks/whatsapp"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}":{"get":{"tags":["Instâncias"],"summary":"Detalhe da instância","x-vertice-status":"implemented","description":"Retorna o detalhe de uma instância e sua configuração atual.","operationId":"getinstances_id","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"patch":{"tags":["Instâncias"],"summary":"Edita nome, webhook e filtros","x-vertice-status":"implemented","description":"Edita nome, URL de webhook, eventos assinados e a opção de incluir mensagens enviadas por você. A URL passa por validação SSRF.","operationId":"patchinstances_id","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"webhookEvents":{"type":"array","items":{"type":"string"}},"webhookNotifyFromMe":{"type":"boolean"}},"additionalProperties":true,"example":{"name":"Comercial","webhookEvents":["message.received","message.sent"],"webhookNotifyFromMe":false}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Instâncias"],"summary":"Remove a instância e a sessão","x-vertice-status":"implemented","description":"Remove a instância, encerra o socket, apaga a sessão Baileys e descarta o histórico local.","operationId":"deleteinstances_id","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/webhook-secret":{"get":{"tags":["Instâncias"],"summary":"Revela o segredo HMAC (admin)","x-vertice-status":"implemented","description":"Revela o segredo HMAC da instância para validar assinaturas. Restrito a administradores quando autenticado por sessão.","operationId":"getinstances_id_webhook_secret","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/connect-link":{"post":{"tags":["Instâncias"],"summary":"Gera link/iframe temporário de conexão","x-vertice-status":"implemented","description":"Gera um link HMAC de 15 minutos para uma página pública de conexão, além do trecho de iframe para incorporar em sites de clientes.","operationId":"postinstances_id_connect_link","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/connect":{"post":{"tags":["Instâncias"],"summary":"Abre o socket (QR ou sessão salva)","x-vertice-status":"implemented","description":"Abre o socket da instância. Se houver sessão salva, reconecta sem QR; caso contrário, gera um novo QR code.","operationId":"postinstances_id_connect","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/disconnect":{"post":{"tags":["Instâncias"],"summary":"Desconecta mantendo a sessão","x-vertice-status":"implemented","description":"Fecha o socket mantendo as credenciais salvas. Um próximo connect reconecta sem novo QR.","operationId":"postinstances_id_disconnect","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/logout":{"post":{"tags":["Instâncias"],"summary":"Desvincula o aparelho e apaga a sessão","x-vertice-status":"implemented","description":"Desvincula o aparelho no WhatsApp e apaga a sessão local. É necessário escanear um novo QR para voltar.","operationId":"postinstances_id_logout","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/qr":{"get":{"tags":["Instâncias"],"summary":"Status e QR code atual","x-vertice-status":"implemented","description":"Retorna o status atual e, quando a instância aguarda conexão, o QR code em data URL pronta para exibir.","operationId":"getinstances_id_qr","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/pair":{"post":{"tags":["Instâncias"],"summary":"Pareamento por código","x-vertice-status":"implemented","description":"Solicita um código de pareamento por telefone para conectar sem câmera. O código é usado no WhatsApp em Aparelhos conectados.","operationId":"postinstances_id_pair","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"phoneNumber":{"type":"string"}},"additionalProperties":true,"example":{"phoneNumber":"5511999999999"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/on-whatsapp":{"post":{"tags":["Instâncias"],"summary":"Verifica números no WhatsApp","x-vertice-status":"implemented","description":"Verifica até 50 números e informa quais possuem conta no WhatsApp.","operationId":"postinstances_id_on_whatsapp","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"numbers":{"type":"array","items":{"type":"string"}}},"additionalProperties":true,"example":{"numbers":["5511999999999"]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages":{"post":{"tags":["Mensagens"],"summary":"Envia texto (síncrono ou fila)","x-vertice-status":"implemented","description":"Com `queue`, `delayMessage`, `delayTyping` ou `idempotencyKey`, responde 202 com um job. Caso contrário envia na hora.","operationId":"postinstances_id_messages","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"text":{"type":"string"},"replyTo":{"type":"string"},"queue":{"type":"boolean"},"delayMessage":{"type":"number"},"delayTyping":{"type":"number"},"idempotencyKey":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","text":"Olá!","replyTo":"opcional","queue":false,"delayMessage":3,"delayTyping":2,"idempotencyKey":"pedido-123"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"202":{"description":"Mensagem enfileirada","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"zaapId":{"type":"string"},"status":{"type":"string","const":"queued"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/media":{"post":{"tags":["Mensagens"],"summary":"Envia imagem, vídeo, áudio ou documento","x-vertice-status":"implemented","description":"Envia imagem, vídeo, áudio ou documento por URL HTTPS ou base64. No envio pela fila, informe a mídia por URL.","operationId":"postinstances_id_media","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"kind":{"type":"string"},"url":{"type":"string"},"caption":{"type":"string"},"ptt":{"type":"boolean"}},"additionalProperties":true,"example":{"to":"5511999999999","kind":"image","url":"https://bucket.supabase.co/...","caption":"Legenda","ptt":false}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"202":{"description":"Mensagem enfileirada","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"zaapId":{"type":"string"},"status":{"type":"string","const":"queued"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Instâncias"],"summary":"Limpa cache de mídia da instância","x-vertice-status":"implemented","description":"Restrito a gestor/máquina; confirm=true obrigatório. Preserva instância, histórico e credenciais.","operationId":"deleteinstances_id_media","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"confirm":{"type":"boolean"}},"additionalProperties":true,"example":{"confirm":true}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/media/{messageId}":{"get":{"tags":["Mensagens"],"summary":"Baixa mídia recebida (cache)","x-vertice-status":"implemented","description":"Baixa a mídia recebida que ainda está no cache local da instância, com content-type seguro e disposição inline quando possível.","operationId":"getinstances_id_media_messageId","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"messageId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/{messageId}/reaction":{"post":{"tags":["Mensagens"],"summary":"Reage a uma mensagem","x-vertice-status":"implemented","description":"Adiciona uma reação de emoji a uma mensagem recente. Informe jid quando a mensagem não estiver mais no cache.","operationId":"postinstances_id_messages_messageId_reaction","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"messageId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"emoji":{"type":"string"},"jid":{"type":"string"}},"additionalProperties":true,"example":{"emoji":"👍","jid":"opcional"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Mensagens"],"summary":"Remove a reação","x-vertice-status":"implemented","description":"Remove a reação atual de uma mensagem.","operationId":"deleteinstances_id_messages_messageId_reaction","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"messageId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/{messageId}":{"patch":{"tags":["Mensagens"],"summary":"Edita o texto de uma mensagem","x-vertice-status":"implemented","description":"Edita o texto de uma mensagem enviada por você. Informe jid se a mensagem não estiver no cache.","operationId":"patchinstances_id_messages_messageId","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"messageId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string"},"jid":{"type":"string"}},"additionalProperties":true,"example":{"text":"Novo texto","jid":"opcional"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Mensagens"],"summary":"Apaga uma mensagem para todos","x-vertice-status":"implemented","description":"Apaga uma mensagem para todos. A operação depende das permissões da conta no WhatsApp.","operationId":"deleteinstances_id_messages_messageId","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"messageId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/{messageId}/forward":{"post":{"tags":["Mensagens"],"summary":"Reencaminha uma mensagem","x-vertice-status":"implemented","description":"Reencaminha uma mensagem recente para outro contato ou grupo.","operationId":"postinstances_id_messages_messageId_forward","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"messageId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511888888888"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/poll":{"post":{"tags":["Mensagens"],"summary":"Envia uma enquete","x-vertice-status":"implemented","description":"Envia uma enquete com 2 a 12 opções e define quantas podem ser selecionadas.","operationId":"postinstances_id_messages_poll","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"name":{"type":"string"},"options":{"type":"array","items":{"type":"string"}},"selectableCount":{"type":"number"}},"additionalProperties":true,"example":{"to":"5511999999999","name":"Qual o melhor horário?","options":["Manhã","Tarde"],"selectableCount":1}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/location":{"post":{"tags":["Mensagens"],"summary":"Envia uma localização","x-vertice-status":"implemented","description":"Envia uma localização com latitude, longitude, nome e endereço opcionais.","operationId":"postinstances_id_messages_location","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"name":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","latitude":-23.55,"longitude":-46.63,"name":"Escritório"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/contact":{"post":{"tags":["Mensagens"],"summary":"Envia um contato (vCard)","x-vertice-status":"implemented","description":"Envia um contato em formato vCard com nome, telefone e organização opcional.","operationId":"postinstances_id_messages_contact","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"name":{"type":"string"},"phone":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","name":"Fulano","phone":"5511888888888"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/sticker":{"post":{"tags":["Mensagens"],"summary":"Envia uma figurinha","x-vertice-status":"implemented","description":"Envia uma figurinha a partir de uma URL HTTPS ou base64. O arquivo precisa ser compatível com o WhatsApp.","operationId":"postinstances_id_messages_sticker","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","url":"https://.../sticker.webp"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats/read":{"post":{"tags":["Mensagens"],"summary":"Marca mensagens como lidas","x-vertice-status":"implemented","description":"Marca mensagens de uma conversa como lidas. Sem ids, usa as mensagens recebidas mais recentes do histórico local.","operationId":"postinstances_id_chats_read","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jid":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":true,"example":{"jid":"5511999999999@s.whatsapp.net","ids":["opcional"]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/presence":{"post":{"tags":["Mensagens"],"summary":"Atualiza presença (digitando…)","x-vertice-status":"implemented","description":"Atualiza a presença do número: digitando, pausado, disponível ou indisponível.","operationId":"postinstances_id_presence","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jid":{"type":"string"},"state":{"type":"string"}},"additionalProperties":true,"example":{"jid":"5511999999999@s.whatsapp.net","state":"composing"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/queue":{"get":{"tags":["Fila"],"summary":"Lista jobs da fila","x-vertice-status":"implemented","description":"Lista os jobs da fila da instância e permite filtrar por status: queued, sending, sent, delivered, read, failed ou canceled.","operationId":"getinstances_id_queue","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"status=queued|sending|sent|delivered|read|failed|canceled"}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Fila"],"summary":"Limpa todos os jobs pendentes","x-vertice-status":"implemented","description":"Remove todos os jobs pendentes da instância.","operationId":"deleteinstances_id_queue","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/queue/{jobId}":{"get":{"tags":["Fila"],"summary":"Detalhe de um job","x-vertice-status":"implemented","description":"Retorna o detalhe de um job da fila.","operationId":"getinstances_id_queue_jobId","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Fila"],"summary":"Cancela um job pendente","x-vertice-status":"implemented","description":"Cancela um job que ainda está pendente. Jobs já enviados não são afetados.","operationId":"deleteinstances_id_queue_jobId","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/groups":{"get":{"tags":["Grupos"],"summary":"Lista grupos da instância","x-vertice-status":"implemented","description":"Lista os grupos dos quais o número participa, com tamanho, dono e configurações.","operationId":"getinstances_id_groups","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"post":{"tags":["Grupos"],"summary":"Cria um grupo","x-vertice-status":"implemented","description":"Cria um grupo com nome e lista inicial de participantes.","operationId":"postinstances_id_groups","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"type":"string"},"participants":{"type":"array","items":{"type":"string"}}},"additionalProperties":true,"example":{"subject":"Time Comercial","participants":["5511999999999"]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/groups/{jid}":{"get":{"tags":["Grupos"],"summary":"Metadados e participantes do grupo","x-vertice-status":"implemented","description":"Inclui ephemeralDuration (segundos), memberAddMode, joinApprovalMode, addressingMode, ownerPn e phoneNumber/lid dos participantes quando fornecidos pelo WhatsApp. Campos nativos ausentes retornam null; zero e false são preservados.","operationId":"getinstances_id_groups_jid","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"patch":{"tags":["Grupos"],"summary":"Atualiza nome e descrição","x-vertice-status":"implemented","description":"Atualiza o nome e/ou a descrição de um grupo.","operationId":"patchinstances_id_groups_jid","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"type":"string"},"description":{"type":"string"}},"additionalProperties":true,"example":{"subject":"Novo nome","description":"Nova descrição"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/groups/{jid}/participants":{"post":{"tags":["Grupos"],"summary":"Adiciona/remove/promove/rebaixa participantes","x-vertice-status":"implemented","description":"Adiciona, remove, promove ou rebaixa participantes do grupo em uma única chamada.","operationId":"postinstances_id_groups_jid_participants","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"participants":{"type":"array","items":{"type":"string"}},"action":{"type":"string"}},"additionalProperties":true,"example":{"participants":["5511888888888"],"action":"add"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/groups/{jid}/picture":{"put":{"tags":["Grupos"],"summary":"Atualiza a foto do grupo","x-vertice-status":"implemented","description":"Atualiza a foto do grupo.","operationId":"putinstances_id_groups_jid_picture","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}},"additionalProperties":true,"example":{"url":"https://.../grupo.jpg"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Grupos"],"summary":"Remove a foto do grupo","x-vertice-status":"implemented","description":"Remove a foto do grupo.","operationId":"deleteinstances_id_groups_jid_picture","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/groups/{jid}/requests":{"get":{"tags":["Grupos"],"summary":"Lista solicitações de entrada","x-vertice-status":"implemented","description":"Lista solicitações de entrada.","operationId":"getinstances_id_groups_jid_requests","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"post":{"tags":["Grupos"],"summary":"Aprova/rejeita solicitações de entrada","x-vertice-status":"implemented","description":"Aprova/rejeita solicitações de entrada.","operationId":"postinstances_id_groups_jid_requests","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"participants":{"type":"array","items":{"type":"string"}},"action":{"type":"string"}},"additionalProperties":true,"example":{"participants":["5511888888888"],"action":"approve"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/groups/{jid}/ephemeral":{"post":{"tags":["Grupos"],"summary":"Define mensagens temporárias do grupo","x-vertice-status":"implemented","description":"Define mensagens temporárias do grupo.","operationId":"postinstances_id_groups_jid_ephemeral","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"seconds":{"type":"number"}},"additionalProperties":true,"example":{"seconds":86400}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/groups/{jid}/invite":{"get":{"tags":["Grupos"],"summary":"Consulta o link de convite","x-vertice-status":"implemented","description":"Retorna o código e o link de convite atual do grupo.","operationId":"getinstances_id_groups_jid_invite","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/groups/{jid}/invite/revoke":{"post":{"tags":["Grupos"],"summary":"Revoga e gera um novo link","x-vertice-status":"implemented","description":"Revoga o link atual e gera um novo código de convite.","operationId":"postinstances_id_groups_jid_invite_revoke","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/groups/join":{"post":{"tags":["Grupos"],"summary":"Entra em um grupo por código","x-vertice-status":"implemented","description":"Entra em um grupo a partir do código de convite.","operationId":"postinstances_id_groups_join","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"}},"additionalProperties":true,"example":{"code":"ABC123"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/groups/invite/{code}":{"get":{"tags":["Grupos"],"summary":"Metadados de um convite","x-vertice-status":"implemented","description":"Consulta os metadados públicos de um convite de grupo antes de entrar.","operationId":"getinstances_id_groups_invite_code","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"code","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/groups/{jid}/leave":{"post":{"tags":["Grupos"],"summary":"Sai do grupo","x-vertice-status":"implemented","description":"Faz o número conectado sair do grupo.","operationId":"postinstances_id_groups_jid_leave","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/groups/{jid}/settings":{"patch":{"tags":["Grupos"],"summary":"Restringe mensagens/edição e modo de entrada","x-vertice-status":"implemented","description":"Restringe quem pode falar (announcement) ou quem pode editar as informações do grupo (locked).","operationId":"patchinstances_id_groups_jid_settings","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"setting":{"type":"string"},"memberAddMode":{"type":"string"},"joinApprovalMode":{"type":"string"}},"additionalProperties":true,"example":{"setting":"announcement","memberAddMode":"admin_add","joinApprovalMode":"on"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/campaigns":{"post":{"tags":["Campanhas"],"summary":"Cria campanha e enfileira os envios","x-vertice-status":"implemented","description":"Cria uma campanha e transforma cada destinatário em um job na fila da instância. Aceita agendamento e intervalo entre mensagens.","operationId":"postcampaigns","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"instanceId":{"type":"string"},"name":{"type":"string"},"numbers":{"type":"array","items":{"type":"string"}},"text":{"type":"string"},"delayMessage":{"type":"number"},"scheduledAt":{"type":"string"}},"additionalProperties":true,"example":{"instanceId":"uuid","name":"Black Friday","numbers":["5511999999999"],"text":"Olá!","delayMessage":3,"scheduledAt":"2026-11-27T12:00:00.000Z"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"get":{"tags":["Campanhas"],"summary":"Lista campanhas com progresso","x-vertice-status":"implemented","description":"Lista campanhas do workspace com progresso por status.","operationId":"getcampaigns","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/campaigns/{id}":{"get":{"tags":["Campanhas"],"summary":"Detalhe e estatísticas da campanha","x-vertice-status":"implemented","description":"Retorna o detalhe da campanha, estatísticas e agendamento.","operationId":"getcampaigns_id","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Campanhas"],"summary":"Cancela os jobs pendentes da campanha","x-vertice-status":"implemented","description":"Cancela os jobs ainda pendentes da campanha. Mensagens já enviadas não são desfeitas.","operationId":"deletecampaigns_id","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/campaigns/{id}/jobs":{"get":{"tags":["Campanhas"],"summary":"Jobs da campanha na fila","x-vertice-status":"implemented","description":"Lista os jobs gerados por uma campanha.","operationId":"getcampaigns_id_jobs","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats":{"get":{"tags":["Conversas"],"summary":"Conversas recentes","x-vertice-status":"implemented","description":"Lista as conversas recentes do histórico local com nome, última mensagem e horário.","operationId":"getinstances_id_chats","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats/messages":{"get":{"tags":["Conversas"],"summary":"Mensagens de uma conversa","x-vertice-status":"implemented","description":"Retorna as mensagens de uma conversa, ordenadas da mais antiga para a mais recente, com limite configurável.","operationId":"getinstances_id_chats_messages","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"jid=...&limit=200"}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/webhook-deliveries":{"get":{"tags":["Webhooks"],"summary":"Entregas da outbox","x-vertice-status":"implemented","description":"Consulta a outbox de webhooks da instância e filtra por pendente, entregue ou falhou.","operationId":"getinstances_id_webhook_deliveries","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"status=pendente|entregue|falhou"}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/webhook-deliveries/retry":{"post":{"tags":["Webhooks"],"summary":"Reenfileira entregas falhas","x-vertice-status":"implemented","description":"Recoloca entregas falhas ou pendentes na fila de envio. Sem ids, reenfileira todas as falhas.","operationId":"postinstances_id_webhook_deliveries_retry","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":true,"example":{"ids":[]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/webhook-test":{"post":{"tags":["Webhooks"],"summary":"Dispara um evento de teste","x-vertice-status":"implemented","description":"Dispara um evento de teste assinado para validar URL, HMAC e recebimento.","operationId":"postinstances_id_webhook_test","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/mcp":{"post":{"tags":["MCP"],"summary":"Servidor MCP Streamable HTTP","x-vertice-status":"implemented","description":"Ferramentas: list_instances, get_instance_status, send_text, send_media, list_groups, group_metadata, mark_read, queue_status e webhook_deliveries. Envie JSON-RPC com initialize, notifications/initialized e tools/list.","operationId":"postmcp","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{"type":"number"},"method":{"type":"string"},"params":{"type":"object","properties":{}}},"additionalProperties":true,"example":{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/billing":{"get":{"tags":["Faturamento"],"summary":"Plano, limites e planos disponíveis","x-vertice-status":"implemented","description":"Retorna plano, status da assinatura, limites, uso, planos disponíveis e se o Stripe está configurado.","operationId":"getbilling","security":[{"SessionCookie":[]}],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/billing/checkout":{"post":{"tags":["Faturamento"],"summary":"Cria Checkout Session","x-vertice-status":"implemented","description":"Cria uma sessão de Stripe Checkout para assinar um plano. Bloqueia checkout duplicado quando já existe assinatura.","operationId":"postbilling_checkout","security":[{"SessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"plan":{"type":"string"}},"additionalProperties":true,"example":{"plan":"pro"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/billing/change-plan":{"post":{"tags":["Faturamento"],"summary":"Altera assinatura existente com proration","x-vertice-status":"implemented","description":"Altera o plano de uma assinatura existente com proration, sem criar uma segunda assinatura.","operationId":"postbilling_change_plan","security":[{"SessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"plan":{"type":"string"}},"additionalProperties":true,"example":{"plan":"business"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/billing/portal":{"post":{"tags":["Faturamento"],"summary":"Abre o Billing Portal do Stripe","x-vertice-status":"implemented","description":"Abre o Billing Portal do Stripe para atualizar cartão, faturas e cancelamento.","operationId":"postbilling_portal","security":[{"SessionCookie":[]}],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/billing/webhook":{"post":{"tags":["Faturamento"],"summary":"Webhook do Stripe (corpo cru)","x-vertice-status":"implemented","description":"Valida Stripe-Signature sobre o corpo cru.","operationId":"postbilling_webhook","security":[],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/settings":{"get":{"tags":["Configurações"],"summary":"Comportamento automático da instância","x-vertice-status":"implemented","description":"Retorna os comportamentos automáticos da instância: auto-leitura, rejeição de chamadas e proteção de grupos de avisos.","operationId":"getinstances_id_settings","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"patch":{"tags":["Configurações"],"summary":"Atualiza auto-leitura, chamadas e proteção de grupos","x-vertice-status":"implemented","description":"Atualiza auto-leitura de mensagens/status, rejeição automática de chamadas, mensagem de rejeição e announcement guard.","operationId":"patchinstances_id_settings","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"autoReadMessages":{"type":"boolean"},"autoReadStatus":{"type":"boolean"},"autoRejectCalls":{"type":"boolean"},"callRejectMessage":{"type":"string"},"announcementGuard":{"type":"boolean"}},"additionalProperties":true,"example":{"autoReadMessages":true,"autoReadStatus":true,"autoRejectCalls":true,"callRejectMessage":"Não posso atender agora.","announcementGuard":true}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/profile":{"get":{"tags":["Configurações"],"summary":"Perfil do número conectado","x-vertice-status":"implemented","description":"Retorna nome, recado, foto e dados do dispositivo do número conectado.","operationId":"getinstances_id_profile","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"patch":{"tags":["Configurações"],"summary":"Atualiza nome e recado do perfil","x-vertice-status":"implemented","description":"Atualiza o nome e o recado do perfil do WhatsApp.","operationId":"patchinstances_id_profile","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"status":{"type":"string"}},"additionalProperties":true,"example":{"name":"Atendimento","status":"Seg a sex, 9h às 18h"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/profile/picture":{"put":{"tags":["Configurações"],"summary":"Atualiza a foto do perfil","x-vertice-status":"implemented","description":"Troca a foto do perfil a partir de URL HTTPS ou base64.","operationId":"putinstances_id_profile_picture","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}},"additionalProperties":true,"example":{"url":"https://.../avatar.jpg"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Configurações"],"summary":"Remove a foto do perfil","x-vertice-status":"implemented","description":"Remove a foto do perfil do número conectado.","operationId":"deleteinstances_id_profile_picture","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/device":{"get":{"tags":["Configurações"],"summary":"Dados do dispositivo conectado","x-vertice-status":"implemented","description":"Retorna JID, telefone, nome e plataforma do dispositivo conectado.","operationId":"getinstances_id_device","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/restart":{"post":{"tags":["Configurações"],"summary":"Reinicia o socket da instância","x-vertice-status":"implemented","description":"Fecha e reabre o socket da instância sem apagar a sessão.","operationId":"postinstances_id_restart","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/qr/bytes":{"get":{"tags":["Configurações"],"summary":"QR code em PNG (bytes)","x-vertice-status":"implemented","description":"Baixa o QR code atual como imagem PNG binária.","operationId":"getinstances_id_qr_bytes","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/qr/image":{"get":{"tags":["Configurações"],"summary":"QR code como data URL","x-vertice-status":"implemented","description":"Retorna o QR code como data URL para renderização no frontend.","operationId":"getinstances_id_qr_image","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/extension-token":{"post":{"tags":["Configurações"],"summary":"Token efêmero de conexão/embed","x-vertice-status":"implemented","description":"Gera um token efêmero de 10 minutos para abrir a página/iframe de conexão.","operationId":"postinstances_id_extension_token","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/privacy":{"get":{"tags":["Privacidade"],"summary":"Configurações de privacidade atuais","x-vertice-status":"implemented","description":"Consulta as configurações de privacidade atuais do número.","operationId":"getinstances_id_privacy","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"patch":{"tags":["Privacidade"],"summary":"Atualiza privacidade do número","x-vertice-status":"implemented","description":"Altera último acesso, foto, recado, online, confirmações, grupos, chamadas, mensagens e desaparecimento.","operationId":"patchinstances_id_privacy","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"lastSeen":{"type":"string"},"profilePhoto":{"type":"string"},"readReceipts":{"type":"string"},"groupsAdd":{"type":"string"},"calls":{"type":"string"}},"additionalProperties":true,"example":{"lastSeen":"contacts","profilePhoto":"contacts","readReceipts":"all","groupsAdd":"contacts","calls":"known"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/privacy/blocklist":{"get":{"tags":["Privacidade"],"summary":"Lista contatos bloqueados","x-vertice-status":"implemented","description":"Lista os JIDs bloqueados pelo número conectado.","operationId":"getinstances_id_privacy_blocklist","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/contacts":{"get":{"tags":["Contatos"],"summary":"Lista contatos conhecidos localmente","x-vertice-status":"implemented","description":"Lista contatos conhecidos localmente, com busca por nome, telefone ou JID.","operationId":"getinstances_id_contacts","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"q=&limit=200"}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"post":{"tags":["Contatos"],"summary":"Adiciona ou edita contato","x-vertice-status":"implemented","description":"Adiciona ou edita um contato na agenda do WhatsApp.","operationId":"postinstances_id_contacts","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"phone":{"type":"string"},"name":{"type":"string"},"saveOnPrimaryAddressbook":{"type":"boolean"}},"additionalProperties":true,"example":{"phone":"5511999999999","name":"Maria Silva","saveOnPrimaryAddressbook":true}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/contacts/blocked":{"get":{"tags":["Contatos"],"summary":"Lista contatos bloqueados","x-vertice-status":"implemented","description":"Lista os contatos bloqueados.","operationId":"getinstances_id_contacts_blocked","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/contacts/check":{"post":{"tags":["Contatos"],"summary":"Verifica números em lote","x-vertice-status":"implemented","description":"Verifica em lote quais números possuem WhatsApp.","operationId":"postinstances_id_contacts_check","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"numbers":{"type":"array","items":{"type":"string"}}},"additionalProperties":true,"example":{"numbers":["5511999999999"]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/contacts/{jid}":{"get":{"tags":["Contatos"],"summary":"Metadados de um contato","x-vertice-status":"implemented","description":"Retorna existência, nome local, foto e contagem de mensagens de um contato.","operationId":"getinstances_id_contacts_jid","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Contatos"],"summary":"Remove contato da agenda","x-vertice-status":"implemented","description":"Remove o contato da agenda do WhatsApp.","operationId":"deleteinstances_id_contacts_jid","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/contacts/{jid}/picture":{"get":{"tags":["Contatos"],"summary":"Foto do contato","x-vertice-status":"implemented","description":"Retorna a URL da foto do contato.","operationId":"getinstances_id_contacts_jid_picture","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/contacts/{jid}/status":{"get":{"tags":["Contatos"],"summary":"Recado/status do contato","x-vertice-status":"implemented","description":"Consulta o recado/status do contato.","operationId":"getinstances_id_contacts_jid_status","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/contacts/{jid}/business":{"get":{"tags":["Contatos"],"summary":"Perfil business do contato","x-vertice-status":"implemented","description":"Retorna o perfil business do contato, quando existir.","operationId":"getinstances_id_contacts_jid_business","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/contacts/{jid}/block":{"post":{"tags":["Contatos"],"summary":"Bloqueia contato","x-vertice-status":"implemented","description":"Bloqueia o contato.","operationId":"postinstances_id_contacts_jid_block","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Contatos"],"summary":"Desbloqueia contato","x-vertice-status":"implemented","description":"Desbloqueia o contato.","operationId":"deleteinstances_id_contacts_jid_block","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats/{jid}":{"get":{"tags":["Conversas"],"summary":"Detalhe do chat","x-vertice-status":"implemented","description":"Retorna resumo, foto, mensagens recentes e metadados do grupo quando aplicável.","operationId":"getinstances_id_chats_jid","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"patch":{"tags":["Conversas"],"summary":"Arquiva, fixa, muta, lê ou expira o chat","x-vertice-status":"implemented","description":"Combina arquivamento, fixação, mudo, leitura e expiração em uma chamada.","operationId":"patchinstances_id_chats_jid","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"archive":{"type":"boolean"},"pin":{"type":"boolean"},"muteSeconds":{"type":"number"},"read":{"type":"boolean"},"expirationSeconds":{"type":"number"}},"additionalProperties":true,"example":{"archive":true,"pin":false,"muteSeconds":3600,"read":true,"expirationSeconds":86400}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Conversas"],"summary":"Deleta o chat","x-vertice-status":"implemented","description":"Deleta o chat para o número conectado.","operationId":"deleteinstances_id_chats_jid","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats/{jid}/messages":{"get":{"tags":["Conversas"],"summary":"Mensagens do chat","x-vertice-status":"implemented","description":"Lista as mensagens locais do chat com limite configurável.","operationId":"getinstances_id_chats_jid_messages","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"limit=200"}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats/{jid}/picture":{"get":{"tags":["Conversas"],"summary":"Foto do chat/contato","x-vertice-status":"implemented","description":"Retorna a foto do contato ou grupo.","operationId":"getinstances_id_chats_jid_picture","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats/{jid}/presence":{"post":{"tags":["Conversas"],"summary":"Atualiza presença no chat","x-vertice-status":"implemented","description":"Atualiza presença (digitando, pausado, disponível) no chat.","operationId":"postinstances_id_chats_jid_presence","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"state":{"type":"string"}},"additionalProperties":true,"example":{"state":"composing"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats/{jid}/archive":{"post":{"tags":["Conversas"],"summary":"Arquiva/desarquiva chat","x-vertice-status":"implemented","description":"Arquiva ou desarquiva o chat.","operationId":"postinstances_id_chats_jid_archive","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"archive":{"type":"boolean"}},"additionalProperties":true,"example":{"archive":true}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats/{jid}/pin":{"post":{"tags":["Conversas"],"summary":"Fixa/desafixa chat","x-vertice-status":"implemented","description":"Fixa ou desafixa o chat.","operationId":"postinstances_id_chats_jid_pin","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"pin":{"type":"boolean"}},"additionalProperties":true,"example":{"pin":true}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats/{jid}/mute":{"post":{"tags":["Conversas"],"summary":"Muta/desmuta chat","x-vertice-status":"implemented","description":"Muta ou desmuta o chat por duração em segundos.","operationId":"postinstances_id_chats_jid_mute","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"seconds":{"type":"number"}},"additionalProperties":true,"example":{"seconds":3600}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats/{jid}/read":{"post":{"tags":["Conversas"],"summary":"Marca chat como lido/não lido","x-vertice-status":"implemented","description":"Marca o chat como lido ou não lido.","operationId":"postinstances_id_chats_jid_read","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"read":{"type":"boolean"}},"additionalProperties":true,"example":{"read":true}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats/{jid}/clear":{"post":{"tags":["Conversas"],"summary":"Limpa mensagens do chat","x-vertice-status":"implemented","description":"Limpa as mensagens do chat no WhatsApp e no histórico local.","operationId":"postinstances_id_chats_jid_clear","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats/{jid}/expiration":{"post":{"tags":["Conversas"],"summary":"Define mensagens temporárias","x-vertice-status":"implemented","description":"Define mensagens temporárias para o chat.","operationId":"postinstances_id_chats_jid_expiration","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"seconds":{"type":"number"}},"additionalProperties":true,"example":{"seconds":86400}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats/{jid}/labels":{"get":{"tags":["Conversas"],"summary":"Etiquetas vinculadas ao chat","x-vertice-status":"implemented","description":"Lista as etiquetas vinculadas ao chat no Vértice.","operationId":"getinstances_id_chats_jid_labels","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"post":{"tags":["Conversas"],"summary":"Vincula etiqueta ao chat","x-vertice-status":"implemented","description":"Vincula uma etiqueta ao chat e ao app state do WhatsApp.","operationId":"postinstances_id_chats_jid_labels","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"labelId":{"type":"string"}},"additionalProperties":true,"example":{"labelId":"uuid"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats/{jid}/labels/{labelId}":{"delete":{"tags":["Conversas"],"summary":"Remove etiqueta do chat","x-vertice-status":"implemented","description":"Remove a etiqueta do chat.","operationId":"deleteinstances_id_chats_jid_labels_labelId","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}},{"name":"labelId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/chats/{jid}/note":{"get":{"tags":["Conversas"],"summary":"Nota interna do chat","x-vertice-status":"implemented","description":"Retorna a nota interna do chat.","operationId":"getinstances_id_chats_jid_note","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"put":{"tags":["Conversas"],"summary":"Salva nota interna do chat","x-vertice-status":"implemented","description":"Salva uma nota interna do chat no Postgres do Vértice.","operationId":"putinstances_id_chats_jid_note","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"note":{"type":"string"}},"additionalProperties":true,"example":{"note":"Cliente VIP"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/calls":{"get":{"tags":["Ligações"],"summary":"Histórico recente de chamadas","x-vertice-status":"experimental","description":"Lista as chamadas recentes observadas pelo socket.","operationId":"getinstances_id_calls","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"limit=50"}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"post":{"tags":["Ligações"],"summary":"Inicia chamada nativa de voz (beta)","x-vertice-status":"experimental","description":"Usa a sessão Baileys já conectada e o runtime WASM/WebRTC do servidor, sem serviço externo. Header Idempotency-Key obrigatório; repetir a chave retorna a mesma chamada. base64 opcional contém arquivo de áudio puro; durationMs opcional aceita 1000..120000. Retorna 202 com provider=vertice, transport=native e stateSource=native_engine. Estados seguem eventos do engine: initiating, ringing, connected, ended, failed, interrupted. Runtime indisponível retorna 503 voice_engine_unavailable. O destinatário é resolvido para o número canônico registrado no WhatsApp antes da discagem; cadastro ausente retorna 400 voice_recipient_not_found. Uma chamada ativa por número; cada chamada usa processo filho isolado, com sinalização pela sessão Baileys existente. O padrão WA_VOICE_MAX_CONCURRENT_CALLS=0 remove o teto fixo por servidor; cada número pode ligar independentemente. Um valor de 1..200 define um teto operacional opcional. Capabilities retornam maxCallsPerNumber=1 e maxConcurrentCalls=null quando não há teto fixo. Falta de memória ou teto operacional atingido retorna 429 voice_capacity_reached. A capacidade real depende de CPU e memória; 100 simultâneas ainda não foram validadas. Áudio em aparelho pareado ainda exige homologação.","operationId":"postinstances_id_calls","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"type":{"type":"string"},"durationMs":{"type":"number"}},"additionalProperties":true,"example":{"to":"5511999999999","type":"audio","durationMs":30000}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"202":{"description":"Chamada registrada no motor nativo","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"state":{"type":"string","enum":["initiating","ringing","connected","ended","failed","interrupted"]},"direction":{"type":"string","enum":["inbound","outbound"]},"provider":{"type":"string","const":"vertice"},"transport":{"type":"string","const":"native"}},"required":["id","state"]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/calls/reject":{"post":{"tags":["Ligações"],"summary":"Rejeita uma chamada recebida","x-vertice-status":"implemented","description":"Rejeita uma chamada recebida pelo ID e JID do autor.","operationId":"postinstances_id_calls_reject","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"callId":{"type":"string"},"from":{"type":"string"}},"additionalProperties":true,"example":{"callId":"ABC","from":"5511999999999@s.whatsapp.net"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/calls/link":{"post":{"tags":["Ligações"],"summary":"Gera link de chamada","x-vertice-status":"implemented","description":"Gera um link de chamada de áudio ou vídeo.","operationId":"postinstances_id_calls_link","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string"}},"additionalProperties":true,"example":{"type":"audio"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/communities":{"get":{"tags":["Comunidades"],"summary":"Lista comunidades","x-vertice-status":"implemented","description":"Lista as comunidades das quais o número participa.","operationId":"getinstances_id_communities","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"post":{"tags":["Comunidades"],"summary":"Cria comunidade","x-vertice-status":"implemented","description":"Cria uma comunidade com nome e descrição.","operationId":"postinstances_id_communities","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"type":"string"},"description":{"type":"string"}},"additionalProperties":true,"example":{"subject":"Comunidade","description":"Descrição"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/communities/invite/{code}":{"get":{"tags":["Comunidades"],"summary":"Metadados de convite de comunidade","x-vertice-status":"implemented","description":"Metadados de convite de comunidade.","operationId":"getinstances_id_communities_invite_code","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"code","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/communities/join":{"post":{"tags":["Comunidades"],"summary":"Entra em comunidade por convite","x-vertice-status":"implemented","description":"Entra em comunidade por convite.","operationId":"postinstances_id_communities_join","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string"}},"additionalProperties":true,"example":{"code":"ABC123"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/communities/{jid}":{"get":{"tags":["Comunidades"],"summary":"Metadados da comunidade","x-vertice-status":"implemented","description":"Retorna metadados e participantes da comunidade.","operationId":"getinstances_id_communities_jid","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"patch":{"tags":["Comunidades"],"summary":"Atualiza nome/descrição","x-vertice-status":"implemented","description":"Atualiza nome/descrição.","operationId":"patchinstances_id_communities_jid","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"type":"string"},"description":{"type":"string"}},"additionalProperties":true,"example":{"subject":"Novo nome","description":"Nova descrição"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Comunidades"],"summary":"Sai da comunidade","x-vertice-status":"experimental","description":"Confere a listagem nativa após solicitar saída. left=true somente quando a conta deixa de constar. HTTP409/community_leave_not_confirmed se continuar vinculada; HTTP502/community_leave_unverified se a conferência falhar. Não desativa a comunidade globalmente.","operationId":"deleteinstances_id_communities_jid","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/communities/{jid}/leave":{"post":{"tags":["Comunidades"],"summary":"Sai da comunidade","x-vertice-status":"experimental","description":"Confere a listagem nativa após solicitar saída. left=true somente quando a conta deixa de constar. HTTP409/community_leave_not_confirmed se continuar vinculada; HTTP502/community_leave_unverified se a conferência falhar. Não desativa a comunidade globalmente.","operationId":"postinstances_id_communities_jid_leave","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/communities/{jid}/groups":{"get":{"tags":["Comunidades"],"summary":"Lista grupos vinculados","x-vertice-status":"implemented","description":"Lista os grupos vinculados à comunidade.","operationId":"getinstances_id_communities_jid_groups","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"post":{"tags":["Comunidades"],"summary":"Cria/vincula grupo à comunidade","x-vertice-status":"implemented","description":"Cria um grupo vinculado ou vincula grupos existentes.","operationId":"postinstances_id_communities_jid_groups","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"groups":{"type":"array","items":{"type":"string"}}},"additionalProperties":true,"example":{"groups":["1203630...@g.us"]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Comunidades"],"summary":"Desvincula grupos","x-vertice-status":"implemented","description":"Desvincula grupos da comunidade.","operationId":"deleteinstances_id_communities_jid_groups","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"groups":{"type":"array","items":{"type":"string"}}},"additionalProperties":true,"example":{"groups":["1203630...@g.us"]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/communities/{jid}/invite":{"get":{"tags":["Comunidades"],"summary":"Link de convite da comunidade","x-vertice-status":"implemented","description":"Retorna o link de convite da comunidade.","operationId":"getinstances_id_communities_jid_invite","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/communities/{jid}/invite/revoke":{"post":{"tags":["Comunidades"],"summary":"Revoga link de convite","x-vertice-status":"implemented","description":"Revoga e gera um novo link de convite.","operationId":"postinstances_id_communities_jid_invite_revoke","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/communities/{jid}/requests":{"get":{"tags":["Comunidades"],"summary":"Solicitações de entrada","x-vertice-status":"implemented","description":"Lista solicitações de entrada na comunidade.","operationId":"getinstances_id_communities_jid_requests","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/communities/{jid}/participants":{"post":{"tags":["Comunidades"],"summary":"Gerencia participantes","x-vertice-status":"implemented","description":"Adiciona, remove, promove, rebaixa, aprova ou rejeita participantes.","operationId":"postinstances_id_communities_jid_participants","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"participants":{"type":"array","items":{"type":"string"}},"action":{"type":"string"}},"additionalProperties":true,"example":{"participants":["5511999999999"],"action":"add"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/communities/{jid}/settings":{"patch":{"tags":["Comunidades"],"summary":"Configurações da comunidade","x-vertice-status":"experimental","description":"setting aceita locked/unlocked como entrada, mas o WhatsApp pode rejeitar configurações no nó pai: HTTP422/community_setting_rejected (403 para permissão negada). announcement/not_announcement pertencem ao grupo de anúncios. Valida todos os campos antes das operações e informa quantas alterações foram aplicadas antes de uma recusa; não há rollback nativo.","operationId":"patchinstances_id_communities_jid_settings","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"setting":{"type":"string"}},"additionalProperties":true,"example":{"setting":"locked"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/newsletters":{"get":{"tags":["Canais"],"summary":"Lista canais assinados pela conta","x-vertice-status":"experimental","description":"Consulta nativa MEX da própria sessão. Não faz busca global de canais.","operationId":"getinstances_id_newsletters","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"post":{"tags":["Canais"],"summary":"Cria canal","x-vertice-status":"implemented","description":"Cria um canal (newsletter).","operationId":"postinstances_id_newsletters","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":true,"example":{"name":"Canal","description":"Descrição"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/newsletters/invite/{code}":{"get":{"tags":["Canais"],"summary":"Metadados de canal por convite","x-vertice-status":"implemented","description":"Metadados de canal por convite.","operationId":"getinstances_id_newsletters_invite_code","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"code","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/newsletters/{jid}":{"get":{"tags":["Canais"],"summary":"Metadados do canal","x-vertice-status":"implemented","description":"Retorna metadados do canal por JID.","operationId":"getinstances_id_newsletters_jid","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"patch":{"tags":["Canais"],"summary":"Atualiza nome/descrição do canal","x-vertice-status":"implemented","description":"Atualiza nome e descrição do canal.","operationId":"patchinstances_id_newsletters_jid","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"additionalProperties":true,"example":{"name":"Novo nome"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Canais"],"summary":"Deleta canal","x-vertice-status":"implemented","description":"Deleta o canal.","operationId":"deleteinstances_id_newsletters_jid","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/newsletters/{jid}/picture":{"put":{"tags":["Canais"],"summary":"Atualiza foto do canal","x-vertice-status":"implemented","description":"Atualiza a foto do canal.","operationId":"putinstances_id_newsletters_jid_picture","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}},"additionalProperties":true,"example":{"url":"https://.../canal.jpg"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["Canais"],"summary":"Remove foto do canal","x-vertice-status":"implemented","description":"Remove foto do canal.","operationId":"deleteinstances_id_newsletters_jid_picture","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/newsletters/{jid}/follow":{"post":{"tags":["Canais"],"summary":"Segue canal","x-vertice-status":"implemented","description":"Segue o canal.","operationId":"postinstances_id_newsletters_jid_follow","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/newsletters/{jid}/unfollow":{"post":{"tags":["Canais"],"summary":"Deixa de seguir canal","x-vertice-status":"implemented","description":"Deixa de seguir o canal.","operationId":"postinstances_id_newsletters_jid_unfollow","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/newsletters/{jid}/mute":{"post":{"tags":["Canais"],"summary":"Muta canal","x-vertice-status":"implemented","description":"Muta notificações do canal.","operationId":"postinstances_id_newsletters_jid_mute","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/newsletters/{jid}/unmute":{"post":{"tags":["Canais"],"summary":"Desmuta canal","x-vertice-status":"implemented","description":"Desmuta canal.","operationId":"postinstances_id_newsletters_jid_unmute","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/newsletters/{jid}/subscribers":{"get":{"tags":["Canais"],"summary":"Contagem de seguidores/admins","x-vertice-status":"implemented","description":"Retorna contagem de seguidores e administradores.","operationId":"getinstances_id_newsletters_jid_subscribers","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/newsletters/{jid}/messages":{"get":{"tags":["Canais"],"summary":"Mensagens do canal","x-vertice-status":"implemented","description":"Lista mensagens recentes do canal.","operationId":"getinstances_id_newsletters_jid_messages","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"count=50&since=0&after=0"}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/newsletters/{jid}/react":{"post":{"tags":["Canais"],"summary":"Reage a mensagem do canal","x-vertice-status":"implemented","description":"Reage a uma mensagem do canal.","operationId":"postinstances_id_newsletters_jid_react","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"serverId":{"type":"string"},"reaction":{"type":"string"}},"additionalProperties":true,"example":{"serverId":"...","reaction":"👍"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/newsletters/{jid}/transfer":{"post":{"tags":["Canais"],"summary":"Transfere propriedade do canal","x-vertice-status":"implemented","description":"Transfere a propriedade do canal.","operationId":"postinstances_id_newsletters_jid_transfer","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"newOwnerJid":{"type":"string"}},"additionalProperties":true,"example":{"newOwnerJid":"5511999999999"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/newsletters/{jid}/admins/{userJid}/demote":{"post":{"tags":["Canais"],"summary":"Remove admin do canal","x-vertice-status":"implemented","description":"Remove admin do canal.","operationId":"postinstances_id_newsletters_jid_admins_userJid_demote","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}},{"name":"userJid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/business/profile":{"get":{"tags":["WhatsApp Business"],"summary":"Perfil business","x-vertice-status":"implemented","description":"Retorna o perfil comercial do número conectado.","operationId":"getinstances_id_business_profile","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"patch":{"tags":["WhatsApp Business"],"summary":"Atualiza perfil business","x-vertice-status":"implemented","description":"Atualiza descrição, e-mail, sites, endereço e horário comercial.","operationId":"patchinstances_id_business_profile","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string"},"email":{"type":"string"},"websites":{"type":"array","items":{"type":"string"}}},"additionalProperties":true,"example":{"description":"Empresa","email":"contato@empresa.com","websites":["https://empresa.com"]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/business/cover-photo":{"put":{"tags":["WhatsApp Business"],"summary":"Atualiza foto de capa business","x-vertice-status":"implemented","description":"Atualiza foto de capa business.","operationId":"putinstances_id_business_cover_photo","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}},"additionalProperties":true,"example":{"url":"https://.../capa.jpg"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/business/cover-photo/{photoId}":{"delete":{"tags":["WhatsApp Business"],"summary":"Remove foto de capa business","x-vertice-status":"implemented","description":"Remove foto de capa business.","operationId":"deleteinstances_id_business_cover_photo_photoId","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"photoId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/business/catalog":{"get":{"tags":["WhatsApp Business"],"summary":"Catálogo de produtos","x-vertice-status":"experimental","description":"Lista produtos do catálogo do WhatsApp Business.","operationId":"getinstances_id_business_catalog","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"limit=50&cursor="}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/business/catalog/{jid}":{"get":{"tags":["WhatsApp Business"],"summary":"Catálogo de outro número","x-vertice-status":"experimental","description":"Catálogo de outro número.","operationId":"getinstances_id_business_catalog_jid","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/business/products":{"get":{"tags":["WhatsApp Business"],"summary":"Lista produtos","x-vertice-status":"experimental","description":"Lista produtos.","operationId":"getinstances_id_business_products","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"post":{"tags":["WhatsApp Business"],"summary":"Cria produto","x-vertice-status":"experimental","description":"Cria um produto com imagens, preço, moeda e descrição.","operationId":"postinstances_id_business_products","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"price":{"type":"number"},"currency":{"type":"string"},"images":{"type":"array","items":{"type":"string"}}},"additionalProperties":true,"example":{"name":"Produto","description":"Descrição","price":99.9,"currency":"BRL","images":["https://.../produto.jpg"]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/business/products/{productId}":{"get":{"tags":["WhatsApp Business"],"summary":"Detalhe do produto","x-vertice-status":"experimental","description":"Retorna um produto específico do catálogo.","operationId":"getinstances_id_business_products_productId","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"productId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"patch":{"tags":["WhatsApp Business"],"summary":"Atualiza produto","x-vertice-status":"experimental","description":"Atualiza os dados de um produto.","operationId":"patchinstances_id_business_products_productId","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"productId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"price":{"type":"number"}},"additionalProperties":true,"example":{"price":109.9}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["WhatsApp Business"],"summary":"Deleta produto","x-vertice-status":"experimental","description":"Remove um produto do catálogo.","operationId":"deleteinstances_id_business_products_productId","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"productId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/business/collections":{"get":{"tags":["WhatsApp Business"],"summary":"Lista coleções","x-vertice-status":"experimental","description":"Lista as coleções do catálogo.","operationId":"getinstances_id_business_collections","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/business/labels":{"get":{"tags":["WhatsApp Business"],"summary":"Lista etiquetas","x-vertice-status":"implemented","description":"Lista as etiquetas business persistidas no Vértice.","operationId":"getinstances_id_business_labels","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"post":{"tags":["WhatsApp Business"],"summary":"Cria etiqueta","x-vertice-status":"implemented","description":"Cria uma etiqueta e a replica no app state do WhatsApp.","operationId":"postinstances_id_business_labels","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"color":{"type":"number"}},"additionalProperties":true,"example":{"name":"VIP","color":3}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/business/labels/{labelId}":{"patch":{"tags":["WhatsApp Business"],"summary":"Edita etiqueta","x-vertice-status":"implemented","description":"Edita nome/cor da etiqueta.","operationId":"patchinstances_id_business_labels_labelId","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"labelId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"additionalProperties":true,"example":{"name":"VIP Plus"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"delete":{"tags":["WhatsApp Business"],"summary":"Deleta etiqueta","x-vertice-status":"implemented","description":"Remove a etiqueta e suas associações.","operationId":"deleteinstances_id_business_labels_labelId","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"labelId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/business/quick-replies":{"post":{"tags":["WhatsApp Business"],"summary":"Cria/edita resposta rápida","x-vertice-status":"implemented","description":"Cria/edita resposta rápida.","operationId":"postinstances_id_business_quick_replies","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"shortcut":{"type":"string"},"message":{"type":"string"}},"additionalProperties":true,"example":{"shortcut":"/pix","message":"Chave PIX: ..."}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"get":{"tags":["WhatsApp Business"],"summary":"Respostas rápidas geridas pela API","x-vertice-status":"implemented","description":"Retorna meta.coverage=managed_by_api; não importa todas as respostas criadas no celular.","operationId":"getinstances_id_business_quick_replies","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/business/quick-replies/{shortcut}":{"delete":{"tags":["WhatsApp Business"],"summary":"Remove resposta rápida","x-vertice-status":"implemented","description":"Remove resposta rápida.","operationId":"deleteinstances_id_business_quick_replies_shortcut","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"shortcut","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/business/orders/{orderId}":{"get":{"tags":["WhatsApp Business"],"summary":"Detalhe de pedido","x-vertice-status":"implemented","description":"Retorna os detalhes de um pedido a partir de orderId e token.","operationId":"getinstances_id_business_orders_orderId","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"orderId","in":"path","required":true,"schema":{"type":"string"}},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"token=..."}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/status/text":{"post":{"tags":["Status"],"summary":"Publica status de texto","x-vertice-status":"implemented","description":"Publica um status de texto para os contatos informados ou para os contatos locais.","operationId":"postinstances_id_status_text","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string"},"backgroundColor":{"type":"string"}},"additionalProperties":true,"example":{"text":"Novo status","backgroundColor":"#111111"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/status/image":{"post":{"tags":["Status"],"summary":"Publica status de imagem","x-vertice-status":"implemented","description":"Publica um status de imagem com legenda opcional.","operationId":"postinstances_id_status_image","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"caption":{"type":"string"}},"additionalProperties":true,"example":{"url":"https://.../status.jpg","caption":"Legenda"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/status/video":{"post":{"tags":["Status"],"summary":"Publica status de vídeo","x-vertice-status":"implemented","description":"Publica um status de vídeo.","operationId":"postinstances_id_status_video","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}},"additionalProperties":true,"example":{"url":"https://.../status.mp4"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/status/reply":{"post":{"tags":["Status"],"summary":"Responde a um status com texto","x-vertice-status":"implemented","description":"Responde a um status recente usando a mensagem em cache.","operationId":"postinstances_id_status_reply","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jid":{"type":"string"},"messageId":{"type":"string"},"text":{"type":"string"}},"additionalProperties":true,"example":{"jid":"5511999999999","messageId":"ABC","text":"Legal!"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/status/reply/gif":{"post":{"tags":["Status"],"summary":"Responde a um status com GIF","x-vertice-status":"implemented","description":"Responde a um status com GIF.","operationId":"postinstances_id_status_reply_gif","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jid":{"type":"string"},"messageId":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true,"example":{"jid":"5511999999999","messageId":"ABC","url":"https://.../gif.mp4"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/status/reply/sticker":{"post":{"tags":["Status"],"summary":"Responde a um status com figurinha","x-vertice-status":"implemented","description":"Responde a um status com figurinha.","operationId":"postinstances_id_status_reply_sticker","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jid":{"type":"string"},"messageId":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true,"example":{"jid":"5511999999999","messageId":"ABC","url":"https://.../sticker.webp"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/gif":{"post":{"tags":["Mensagens"],"summary":"Envia GIF","x-vertice-status":"implemented","description":"Envia um GIF (vídeo com reprodução automática).","operationId":"postinstances_id_messages_gif","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","url":"https://.../anim.gif"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/ptv":{"post":{"tags":["Mensagens"],"summary":"Envia vídeo circular (PTV)","x-vertice-status":"implemented","description":"Envia um vídeo circular (PTV).","operationId":"postinstances_id_messages_ptv","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","url":"https://.../video.mp4"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/link":{"post":{"tags":["Mensagens"],"summary":"Envia link com preview","x-vertice-status":"implemented","description":"Envia um texto com URL para gerar preview de link.","operationId":"postinstances_id_messages_link","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"url":{"type":"string"},"text":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","url":"https://exemplo.com","text":"Confira"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/contacts":{"post":{"tags":["Mensagens"],"summary":"Envia múltiplos contatos","x-vertice-status":"implemented","description":"Envia múltiplos contatos em vCard.","operationId":"postinstances_id_messages_contacts","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"contacts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"phone":{"type":"string"}}}}},"additionalProperties":true,"example":{"to":"5511999999999","contacts":[{"name":"Maria","phone":"5511888888888"}]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/product":{"post":{"tags":["Mensagens"],"summary":"Envia produto do catálogo","x-vertice-status":"implemented","description":"Envia um produto do catálogo em uma mensagem.","operationId":"postinstances_id_messages_product","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"productId":{"type":"string"},"body":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","productId":"123","body":"Confira"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/event":{"post":{"tags":["Mensagens"],"summary":"Envia evento","x-vertice-status":"implemented","description":"Envia um evento de calendário em um chat ou grupo.","operationId":"postinstances_id_messages_event","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"name":{"type":"string"},"startDate":{"type":"string"}},"additionalProperties":true,"example":{"to":"1203630...@g.us","name":"Reunião","startDate":"2026-11-01T15:00:00.000Z"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/pin":{"post":{"tags":["Mensagens"],"summary":"Fixa/desafixa mensagem","x-vertice-status":"implemented","description":"Fixa ou desafixa uma mensagem no chat.","operationId":"postinstances_id_messages_pin","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"messageId":{"type":"string"},"type":{"type":"string"},"time":{"type":"number"}},"additionalProperties":true,"example":{"to":"5511999999999","messageId":"ABC","type":"pin","time":604800}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/partner/instances":{"get":{"tags":["Parceiros"],"summary":"Lista instâncias de parceiro","x-vertice-status":"implemented","description":"Lista instâncias de parceiro.","operationId":"getpartner_instances","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"tenantId="}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"post":{"tags":["Parceiros"],"summary":"Cria instância para um workspace","x-vertice-status":"implemented","description":"Cria instância para um workspace.","operationId":"postpartner_instances","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tenantId":{"type":"string"},"name":{"type":"string"},"webhookUrl":{"type":"string"}},"additionalProperties":true,"example":{"tenantId":"uuid","name":"Cliente","webhookUrl":"https://.../hooks"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/partner/instances/{id}":{"delete":{"tags":["Parceiros"],"summary":"Remove instância de parceiro","x-vertice-status":"implemented","description":"Remove instância de parceiro.","operationId":"deletepartner_instances_id","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/partner/instances/{id}/extension-token":{"post":{"tags":["Parceiros"],"summary":"Token de conexão/embed do parceiro","x-vertice-status":"implemented","description":"Token de conexão/embed do parceiro.","operationId":"postpartner_instances_id_extension_token","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/token/{token}/send-text":{"post":{"tags":["Compatibilidade"],"summary":"Alias Z-API para envio de texto","x-vertice-status":"implemented","description":"Alias Z-API para enviar texto. Autentica pelo token da URL (API key) e aceita Client-Token opcional.","operationId":"postinstances_id_token_token_send_text","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"phone":{"type":"string"},"message":{"type":"string"}},"additionalProperties":true,"example":{"phone":"5511999999999","message":"Olá!"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/token/{token}/send-image":{"post":{"tags":["Compatibilidade"],"summary":"Alias Z-API para envio de imagem","x-vertice-status":"implemented","description":"Alias Z-API para enviar imagem por URL ou base64.","operationId":"postinstances_id_token_token_send_image","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"phone":{"type":"string"},"image":{"type":"string"},"caption":{"type":"string"}},"additionalProperties":true,"example":{"phone":"5511999999999","image":"https://.../foto.jpg","caption":"Legenda"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/token/{token}/send-reaction":{"post":{"tags":["Compatibilidade"],"summary":"Alias Z-API para reação","x-vertice-status":"implemented","description":"Alias Z-API para reagir a uma mensagem.","operationId":"postinstances_id_token_token_send_reaction","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"phone":{"type":"string"},"messageId":{"type":"string"},"reaction":{"type":"string"}},"additionalProperties":true,"example":{"phone":"5511999999999","messageId":"ABC","reaction":"👍"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/token/{token}/get-chats":{"get":{"tags":["Compatibilidade"],"summary":"Alias Z-API para conversas","x-vertice-status":"implemented","description":"Alias Z-API para listar conversas da instância.","operationId":"getinstances_id_token_token_get_chats","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/admin/overview":{"get":{"tags":["Admin"],"summary":"Visão agregada da plataforma","x-vertice-status":"implemented","description":"Visão da plataforma com workspaces, usuários, instâncias, MRR e distribuição por plano e status.","operationId":"getadmin_overview","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/admin/tenants":{"get":{"tags":["Admin"],"summary":"Lista workspaces com uso","x-vertice-status":"implemented","description":"Lista workspaces com uso de membros e instâncias. Aceita busca por nome ou slug.","operationId":"getadmin_tenants","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/admin/tenants/{id}":{"patch":{"tags":["Admin"],"summary":"Plano, status, limites e suspensão","x-vertice-status":"implemented","description":"Ajusta plano, status, limites, suspensão e dias de teste de um workspace.","operationId":"patchadmin_tenants_id","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"plan":{"type":"string"},"status":{"type":"string"}},"additionalProperties":true,"example":{"plan":"business","status":"active"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/public/capabilities":{"get":{"tags":["Público"],"summary":"Capacidades e limitações do transporte","x-vertice-status":"implemented","description":"Capacidades e limitações do transporte.","operationId":"getpublic_capabilities","security":[],"parameters":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/capabilities":{"get":{"tags":["Instâncias"],"summary":"Capacidades e configuração da instância","x-vertice-status":"implemented","description":"Capacidades e configuração da instância.","operationId":"getinstances_id_capabilities","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/contacts/{jid}/labels":{"get":{"tags":["Contatos"],"summary":"Etiquetas associadas ao chat do contato","x-vertice-status":"implemented","description":"Etiquetas associadas ao chat do contato.","operationId":"getinstances_id_contacts_jid_labels","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/business/collections/{collectionId}/products":{"get":{"tags":["WhatsApp Business"],"summary":"Produtos de coleção no resultado do provedor","x-vertice-status":"experimental","description":"Limitado à página de coleções/produtos retornada pelo provedor. Não é uma varredura completa de todas as páginas.","operationId":"getinstances_id_business_collections_collectionId_products","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"collectionId","in":"path","required":true,"schema":{"type":"string"}},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"limit=51 (1..100)"}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/status":{"get":{"tags":["Status"],"summary":"Status recentes observados na sessão","x-vertice-status":"implemented","description":"Cache limitado de status observados nas últimas 24h, com meta.complete=false. Não consulta todos os status dos contatos.","operationId":"getinstances_id_status","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"limit=50 (1..100)"}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/calls/{callId}":{"get":{"tags":["Ligações"],"summary":"Estado da chamada pelos eventos do engine nativo","x-vertice-status":"experimental","description":"stateSource=native_engine. Estados: initiating, ringing, connected, ended, failed, interrupted. connected representa evento do engine e não comprova áudio audível no aparelho.","operationId":"getinstances_id_calls_callId","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"callId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/calls/{callId}/end":{"post":{"tags":["Ligações"],"summary":"Encerra chamada nativa","x-vertice-status":"experimental","description":"Operação idempotente. O estado reflete o engine nativo; falhas não são convertidas em sucesso.","operationId":"postinstances_id_calls_callId_end","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"callId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/calls/{callId}/audio":{"post":{"tags":["Ligações"],"summary":"Reproduz arquivo de áudio na chamada nativa conectada","x-vertice-status":"experimental","description":"O próprio servidor reproduz o arquivo quando a chamada está connected. Exige base64 puro válido com até 750 KB. acceptedByEngine confirma execução no engine, sem comprovar áudio audível no aparelho. Esta rota reproduz arquivo. O softphone de Conversas usa microfone e áudio WSS por /calls/:callId/media/live; atendimento usa /accept. Vídeo e SIP indisponíveis; áudio no aparelho ainda exige homologação.","operationId":"postinstances_id_calls_callId_audio","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"callId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"base64":{"type":"string"}},"additionalProperties":true,"example":{"base64":"BASE64_PURO_DO_AUDIO"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"202":{"description":"Quadro/arquivo aceito pelo motor; não confirma reprodução audível","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"acceptedByEngine":{"type":"boolean","const":true}},"required":["acceptedByEngine"]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/buttons":{"post":{"tags":["Mensagens"],"summary":"Envia botões interativos (experimental)","x-vertice-status":"experimental","description":"Envia botões via relay nativo; renderização experimental conforme versão e conta do destinatário.","operationId":"postinstances_id_messages_buttons","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"text":{"type":"string"},"buttons":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string"}}}}},"additionalProperties":true,"example":{"to":"5511999999999","text":"Como podemos ajudar?","buttons":[{"id":"sales","text":"Comercial","type":"reply"}]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/buttons/list":{"post":{"tags":["Mensagens"],"summary":"Envia botões interativos (experimental)","x-vertice-status":"experimental","description":"Envia botões interativos (experimental).","operationId":"postinstances_id_messages_buttons_list","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"text":{"type":"string"},"buttons":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string"}}}}},"additionalProperties":true,"example":{"to":"5511999999999","text":"Como podemos ajudar?","buttons":[{"id":"sales","text":"Comercial","type":"reply"}]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/buttons/image":{"post":{"tags":["Mensagens"],"summary":"Envia botões interativos (experimental)","x-vertice-status":"experimental","description":"Envia botões interativos (experimental).","operationId":"postinstances_id_messages_buttons_image","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"text":{"type":"string"},"buttons":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string"}}}},"base64":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","text":"Como podemos ajudar?","buttons":[{"id":"sales","text":"Comercial","type":"reply"}],"base64":"BASE64_DA_MIDIA"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/buttons/video":{"post":{"tags":["Mensagens"],"summary":"Envia botões interativos (experimental)","x-vertice-status":"experimental","description":"Envia botões interativos (experimental).","operationId":"postinstances_id_messages_buttons_video","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"text":{"type":"string"},"buttons":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"type":{"type":"string"}}}},"base64":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","text":"Como podemos ajudar?","buttons":[{"id":"sales","text":"Comercial","type":"reply"}],"base64":"BASE64_DA_MIDIA"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/options-list":{"post":{"tags":["Mensagens"],"summary":"Lista de seleção (experimental)","x-vertice-status":"experimental","description":"Lista de seleção (experimental).","operationId":"postinstances_id_messages_options_list","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"text":{"type":"string"},"buttonText":{"type":"string"},"sections":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"rows":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"}}}}}}}},"additionalProperties":true,"example":{"to":"5511999999999","text":"Escolha uma opção","buttonText":"Selecionar","sections":[{"title":"Departamentos","rows":[{"id":"sales","title":"Comercial"}]}]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/pix":{"post":{"tags":["Mensagens"],"summary":"Copia código Pix fornecido (experimental)","x-vertice-status":"experimental","description":"Envia o código fornecido pelo integrador. Não gera, valida ou autentica OTP; não processa nem confirma pagamentos Pix.","operationId":"postinstances_id_messages_pix","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"code":{"type":"string"},"text":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","code":"PIX_COPIA_E_COLA","text":"Copie o código abaixo"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/otp":{"post":{"tags":["Mensagens"],"summary":"Copia código fornecido (experimental)","x-vertice-status":"experimental","description":"Envia o código fornecido pelo integrador. Não gera, valida ou autentica OTP; não processa nem confirma pagamentos Pix.","operationId":"postinstances_id_messages_otp","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"code":{"type":"string"},"text":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","code":"123456","text":"Copie o código abaixo"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/carousel":{"post":{"tags":["Mensagens"],"summary":"Carrossel interativo (experimental)","x-vertice-status":"experimental","description":"Carrossel interativo não é exposto pelo Baileys.","operationId":"postinstances_id_messages_carousel","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"text":{"type":"string"},"cards":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"buttons":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"}}}}}}}},"additionalProperties":true,"example":{"to":"5511999999999","text":"Opções","cards":[{"text":"Plano A","buttons":[{"id":"a","text":"Escolher"}]},{"text":"Plano B","buttons":[{"id":"b","text":"Escolher"}]}]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/order":{"post":{"tags":["Mensagens"],"summary":"Compartilha pedido (experimental)","x-vertice-status":"experimental","description":"totalAmount1000 usa milésimos da moeda (R$23,90 = 23900). Token e dados comerciais precisam ser fornecidos pelo integrador.","operationId":"postinstances_id_messages_order","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"orderId":{"type":"string"},"itemCount":{"type":"number"},"totalAmount1000":{"type":"number"},"currency":{"type":"string"},"token":{"type":"string"},"sellerJid":{"type":"string"},"title":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","orderId":"order-1","itemCount":1,"totalAmount1000":23900,"currency":"BRL","token":"TOKEN_DO_PEDIDO","sellerJid":"5511000000000@s.whatsapp.net","title":"Pedido"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/reply-button":{"post":{"tags":["Mensagens"],"summary":"Responde interação (experimental)","x-vertice-status":"experimental","description":"Responde interação (experimental).","operationId":"postinstances_id_messages_reply_button","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"messageId":{"type":"string"},"text":{"type":"string"},"buttonId":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","messageId":"MENSAGEM_ORIGINAL","text":"Comercial","buttonId":"sales"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/reply-template-button":{"post":{"tags":["Mensagens"],"summary":"Responde interação (experimental)","x-vertice-status":"experimental","description":"Responde interação (experimental).","operationId":"postinstances_id_messages_reply_template_button","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"messageId":{"type":"string"},"text":{"type":"string"},"buttonId":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","messageId":"MENSAGEM_ORIGINAL","text":"Comercial","buttonId":"sales"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/reply-option-list":{"post":{"tags":["Mensagens"],"summary":"Responde interação (experimental)","x-vertice-status":"experimental","description":"Responde interação (experimental).","operationId":"postinstances_id_messages_reply_option_list","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"messageId":{"type":"string"},"text":{"type":"string"},"rowId":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","messageId":"MENSAGEM_ORIGINAL","text":"Comercial","rowId":"sales"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/newsletter-admin-invite":{"post":{"tags":["Mensagens"],"summary":"Compartilha convite de canal (experimental)","x-vertice-status":"experimental","description":"Compartilha a mensagem de convite. Não concede privilégios nem substitui uma autorização válida no canal.","operationId":"postinstances_id_messages_newsletter_admin_invite","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"newsletterJid":{"type":"string"},"newsletterName":{"type":"string"},"inviteExpiration":{"type":"number"}},"additionalProperties":true,"example":{"to":"5511999999999","newsletterJid":"123456789@newsletter","newsletterName":"Canal","inviteExpiration":2000000000}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/request-phone":{"post":{"tags":["Mensagens"],"summary":"Solicita telefone (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_request_phone","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/request-location":{"post":{"tags":["Mensagens"],"summary":"Solicita localização (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_request_location","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"text":{"type":"string"},"buttonText":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","text":"Compartilhe sua localização","buttonText":"Enviar localização"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/webview":{"post":{"tags":["Mensagens"],"summary":"Envia botão WebView (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_webview","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"text":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","text":"Abra a página","title":"Abrir","url":"https://example.com"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/catalog/share":{"post":{"tags":["Mensagens"],"summary":"Compartilha catálogo (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_catalog_share","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"text":{"type":"string"},"businessPhone":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","text":"Nosso catálogo","businessPhone":"5511999999999"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/pix-details":{"post":{"tags":["Mensagens"],"summary":"Envia cartão Pix estático (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. Metadados de chave Pix estática; não cria cobrança bancária nem confirma pagamento. ","operationId":"postinstances_id_messages_pix_details","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"text":{"type":"string"},"merchantName":{"type":"string"},"pixKey":{"type":"string"},"keyType":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","text":"Pagamento","merchantName":"Loja","pixKey":"pix@example.com","keyType":"EMAIL"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/order-details":{"post":{"tags":["Mensagens"],"summary":"Envia pedido detalhado (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. Valores amount100/tax100/shipping100/discount100 são inteiros em centavos; totais calculados com precisão. Não confirma pagamento. ","operationId":"postinstances_id_messages_order_details","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"text":{"type":"string"},"referenceId":{"type":"string"},"currency":{"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"amount100":{"type":"number"},"quantity":{"type":"number"}}}}},"additionalProperties":true,"example":{"to":"5511999999999","text":"Pedido","referenceId":"pedido-1","currency":"BRL","items":[{"id":"sku-1","name":"Produto","amount100":2300,"quantity":1}]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/live-location":{"post":{"tags":["Mensagens"],"summary":"Envia amostra de localização ao vivo (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. Emite uma amostra com sequência; não ativa rastreamento de GPS nem estabelece ciclo de compartilhamento automaticamente. ","operationId":"postinstances_id_messages_live_location","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"sequenceNumber":{"type":"number"}},"additionalProperties":true,"example":{"to":"5511999999999","latitude":-3.7,"longitude":-38.5,"sequenceNumber":1}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/scheduled-call":{"post":{"tags":["Mensagens"],"summary":"Envia convite de chamada agendada (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_scheduled_call","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"title":{"type":"string"},"scheduledTimestampMs":{"type":"number"},"callType":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","title":"Reunião","scheduledTimestampMs":2100000000000,"callType":"audio"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/scheduled-call/cancel":{"post":{"tags":["Mensagens"],"summary":"Cancela convite de chamada agendada (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_scheduled_call_cancel","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"messageId":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","messageId":"MENSAGEM_ORIGINAL"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/keep":{"post":{"tags":["Mensagens"],"summary":"Mantém mensagem temporária (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_keep","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"messageId":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","messageId":"MENSAGEM_ORIGINAL"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/unkeep":{"post":{"tags":["Mensagens"],"summary":"Desfaz manter mensagem (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_unkeep","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"messageId":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","messageId":"MENSAGEM_ORIGINAL"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/star":{"post":{"tags":["Mensagens"],"summary":"Favorita mensagem (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_star","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"messageId":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","messageId":"MENSAGEM_ORIGINAL"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/unstar":{"post":{"tags":["Mensagens"],"summary":"Remove favorito (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_unstar","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"messageId":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","messageId":"MENSAGEM_ORIGINAL"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/link-preview":{"post":{"tags":["Mensagens"],"summary":"Envia preview personalizado (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_link_preview","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"url":{"type":"string"},"title":{"type":"string"},"text":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","url":"https://example.com","title":"Página","text":"Conheça a página"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/ad":{"post":{"tags":["Mensagens"],"summary":"Envia contexto de anúncio (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_ad","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"text":{"type":"string"},"title":{"type":"string"},"sourceUrl":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","text":"Conheça o produto","title":"Produto","sourceUrl":"https://example.com"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/rich-title":{"post":{"tags":["Mensagens"],"summary":"Envia mensagem com título (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_rich_title","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"title":{"type":"string"},"text":{"type":"string"},"footer":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","title":"Título","text":"Conteúdo","footer":"Rodapé"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/catalog":{"post":{"tags":["Mensagens"],"summary":"Envia cartão de catálogo (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_catalog","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"text":{"type":"string"},"shopId":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","text":"Catálogo","shopId":"ID_DA_LOJA"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/catalog/collection":{"post":{"tags":["Mensagens"],"summary":"Envia coleção de catálogo (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_catalog_collection","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"text":{"type":"string"},"businessJid":{"type":"string"},"collectionId":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","text":"Coleção","businessJid":"5511999999999@s.whatsapp.net","collectionId":"ID_COLECAO"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/album":{"post":{"tags":["Mensagens"],"summary":"Envia álbum nativo (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. De 2 a 10 itens; falha parcial retorna partial_album com quantidade enviada. ","operationId":"postinstances_id_messages_album","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"url":{"type":"string"}}}}},"additionalProperties":true,"example":{"to":"5511999999999","items":[{"kind":"image","url":"https://example.com/one.jpg"},{"kind":"image","url":"https://example.com/two.jpg"}]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/poll/vote":{"post":{"tags":["Mensagens"],"summary":"Vota em enquete existente (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. options contém seleções existentes; array vazio retira o voto. Exige mensagem original e segredo no cache; não altera a definição da enquete. ","operationId":"postinstances_id_messages_poll_vote","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"messageId":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}},"additionalProperties":true,"example":{"to":"5511999999999","messageId":"MENSAGEM_ENQUETE","options":["Opção 1"]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/reply/text":{"post":{"tags":["Mensagens"],"summary":"Responde citando texto (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_reply_text","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"quotedMessageId":{"type":"string"},"text":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","quotedMessageId":"MENSAGEM_ORIGINAL","text":"Resposta"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/reply/contact":{"post":{"tags":["Mensagens"],"summary":"Responde citando contato (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_reply_contact","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"quotedMessageId":{"type":"string"},"name":{"type":"string"},"phone":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","quotedMessageId":"MENSAGEM_ORIGINAL","name":"Contato","phone":"5511999999999"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/reply/contacts":{"post":{"tags":["Mensagens"],"summary":"Responde citando contatos (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_reply_contacts","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"quotedMessageId":{"type":"string"},"contacts":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"phone":{"type":"string"}}}}},"additionalProperties":true,"example":{"to":"5511999999999","quotedMessageId":"MENSAGEM_ORIGINAL","contacts":[{"name":"Contato","phone":"5511999999999"}]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/reply/location":{"post":{"tags":["Mensagens"],"summary":"Responde citando localização (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_reply_location","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"quotedMessageId":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"}},"additionalProperties":true,"example":{"to":"5511999999999","quotedMessageId":"MENSAGEM_ORIGINAL","latitude":-3.7,"longitude":-38.5}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/reply/image":{"post":{"tags":["Mensagens"],"summary":"Responde citando image (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_reply_image","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"quotedMessageId":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","quotedMessageId":"MENSAGEM_ORIGINAL","url":"https://example.com/file.jpg"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/reply/video":{"post":{"tags":["Mensagens"],"summary":"Responde citando video (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_reply_video","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"quotedMessageId":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","quotedMessageId":"MENSAGEM_ORIGINAL","url":"https://example.com/file.mp4"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/reply/audio":{"post":{"tags":["Mensagens"],"summary":"Responde citando audio (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_reply_audio","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"quotedMessageId":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","quotedMessageId":"MENSAGEM_ORIGINAL","url":"https://example.com/file.ogg"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/reply/document":{"post":{"tags":["Mensagens"],"summary":"Responde citando document (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_reply_document","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"quotedMessageId":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","quotedMessageId":"MENSAGEM_ORIGINAL","url":"https://example.com/file.pdf"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/messages/reply/sticker":{"post":{"tags":["Mensagens"],"summary":"Responde citando sticker (experimental)","x-vertice-status":"experimental","description":"Protocolo nativo pela sessão conectada, sem serviço externo. Retorna experimental=true; aceitação pelo relay não comprova entrega ou renderização. quotedMessageId opcional cita uma mensagem recente do mesmo chat. Mídia usa URL permitida ou base64. ","operationId":"postinstances_id_messages_reply_sticker","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to":{"type":"string"},"quotedMessageId":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true,"example":{"to":"5511999999999","quotedMessageId":"MENSAGEM_ORIGINAL","url":"https://example.com/file.webp"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/contacts/resolve-lids":{"post":{"tags":["Contatos"],"summary":"Resolve LIDs em lote","x-vertice-status":"implemented","description":"Até 100 LIDs individuais. Retorna resolução ou ausência explicitamente; não inventa telefone.","operationId":"postinstances_id_contacts_resolve_lids","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"lids":{"type":"array","items":{"type":"string"}}},"additionalProperties":true,"example":{"lids":["123456789@lid"]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/contacts/{jid}/session":{"delete":{"tags":["Contatos"],"summary":"Limpa sessão criptográfica do contato","x-vertice-status":"implemented","description":"Restrito a gestor/máquina. Remove apenas a sessão Signal do contato; preserva contato e histórico.","operationId":"deleteinstances_id_contacts_jid_session","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/business/labels/{labelId}/chats":{"get":{"tags":["WhatsApp Business"],"summary":"Lista conversas por etiqueta","x-vertice-status":"implemented","description":"Consulta isolada por instância e etiqueta; limit inteiro de 1 a 1000.","operationId":"getinstances_id_business_labels_labelId_chats","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"labelId","in":"path","required":true,"schema":{"type":"string"}},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"limit=200"}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/contacts/{jid}/presence/subscribe":{"post":{"tags":["Contatos"],"summary":"Assina presença do contato","x-vertice-status":"implemented","description":"Assina presença do contato.","operationId":"postinstances_id_contacts_jid_presence_subscribe","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/communities/{jid}/picture":{"put":{"tags":["Comunidades"],"summary":"Atualiza foto da comunidade","x-vertice-status":"implemented","description":"Atualiza foto da comunidade.","operationId":"putinstances_id_communities_jid_picture","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}},"additionalProperties":true,"example":{"url":"https://example.com/photo.jpg"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/communities/{jid}/ephemeral":{"post":{"tags":["Comunidades"],"summary":"Configura temporárias nos grupos da comunidade","x-vertice-status":"implemented","description":"Até 100 grupos; seconds aceita 0,86400,604800,7776000. Operação não atômica: 207 informa sucessos/falhas por grupo.","operationId":"postinstances_id_communities_jid_ephemeral","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"jid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"seconds":{"type":"number"}},"additionalProperties":true,"example":{"seconds":604800}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/status/audio":{"post":{"tags":["Status"],"summary":"Publica status de áudio (experimental)","x-vertice-status":"experimental","description":"Até 25 MiB; URL permitida ou base64 canônico. Conversão local OGG/Opus, com prazo/saída limitados. Falha de conversão retorna422; nunca disfarça áudio comum como PTT. Exige destinatários ou contatos conhecidos.","operationId":"postinstances_id_status_audio","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"base64":{"type":"string"},"recipients":{"type":"array","items":{"type":"string"}}},"additionalProperties":true,"example":{"base64":"BASE64_AUDIO","recipients":["5511999999999@s.whatsapp.net"]}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/status/mention":{"post":{"tags":["Status"],"summary":"Menciona contato em status próprio (experimental)","x-vertice-status":"experimental","description":"Exige status próprio recente no cache e JID individual. Relay nativo; renderização no aparelho ainda requer homologação.","operationId":"postinstances_id_status_mention","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jid":{"type":"string"},"messageId":{"type":"string"}},"additionalProperties":true,"example":{"jid":"5511999999999@s.whatsapp.net","messageId":"ID_STATUS_PROPRIO"}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/calls/{callId}/accept":{"post":{"tags":["Ligações"],"summary":"Atende chamada recebida (beta)","x-vertice-status":"experimental","description":"callId é o ID local de uma oferta recebida pelo socket. Oferta expira em60s. Não cria outro socket/pareamento. Eventos call acompanham estados do motor; mídia exige negociação e homologação real.","operationId":"postinstances_id_calls_callId_accept","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"callId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"202":{"description":"Chamada registrada no motor nativo","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"state":{"type":"string","enum":["initiating","ringing","connected","ended","failed","interrupted"]},"direction":{"type":"string","enum":["inbound","outbound"]},"provider":{"type":"string","const":"vertice"},"transport":{"type":"string","const":"native"}},"required":["id","state"]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/calls/{callId}/media-token":{"post":{"tags":["Ligações"],"summary":"Emite token de áudio por chamada (beta)","x-vertice-status":"experimental","description":"Exige chamada connected. Token de30s, vinculado à chamada/instância; nova emissão revoga o anterior. Além da autenticação normal, envie x-voice-media-token no transporte binário. Resposta token/expiresAt/format=f32le.","operationId":"postinstances_id_calls_callId_media_token","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"callId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}},"/instances/{id}/calls/{callId}/media":{"get":{"tags":["Ligações"],"summary":"Lê quadros de áudio recebidos (beta)","x-vertice-status":"experimental","description":"Resposta application/octet-stream com até10 quadros float32 little-endian. Headers x-pcm-capture e x-pcm-playback contêm formatos negociados, x-pcm-dropped-frames informa descarte acumulado. Buffer vazio indica ausência de quadros. Token e autenticação normal obrigatórios; no-store.","operationId":"getinstances_id_calls_callId_media","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"callId","in":"path","required":true,"schema":{"type":"string"}},{"name":"x-voice-media-token","in":"header","required":true,"schema":{"type":"string","maxLength":128},"description":"Token de30s além da autenticação normal"}],"responses":{"200":{"description":"Quadros PCM (buffer pode estar vazio)","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}},"post":{"tags":["Ligações"],"summary":"Injeta quadro de áudio na chamada (beta)","x-vertice-status":"experimental","description":"Envie exatamente um quadro application/octet-stream float32 little-endian, tamanho negociado. Amostras finitas entre-1 e1. Limite HTTP32KiB, até4 escritas pendentes. 409 negociação pendente;429 pressão no canal. Exige autenticação normal e x-voice-media-token.","operationId":"postinstances_id_calls_callId_media","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]},{"SessionCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"callId","in":"path","required":true,"schema":{"type":"string"}},{"name":"x-voice-media-token","in":"header","required":true,"schema":{"type":"string","maxLength":128},"description":"Token de30s além da autenticação normal"}],"requestBody":{"required":true,"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary","maxLength":32768}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"202":{"description":"Quadro/arquivo aceito pelo motor; não confirma reprodução audível","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"acceptedByEngine":{"type":"boolean","const":true}},"required":["acceptedByEngine"]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Operação não permitida para esta credencial"},"404":{"description":"Recurso não encontrado ou inacessível"},"409":{"description":"Instância desconectada ou conflito de estado"},"502":{"description":"Falha confirmada ou resposta inválida do provedor"},"503":{"description":"Recurso dependente de configuração indisponível"}}}}}}