API REST | eesier

API REST

Ver como Markdown

A API REST do eesier é uma API JSON em https://mcp.eesier.com que expõe as mesmas 202 ferramentas do servidor MCP. Toda rota recebe um token e devolve JSON.

Endereço base
https://mcp.eesier.com/rest/v1
Autenticação
Authorization: Bearer <token>
Content type
application/json
Obter um token
Console do eesier → Conta → Agentes Externos (MCP) → Gerar Token. O mesmo token serve para o MCP; revogar derruba os dois.

Primeira chamada

curl https://mcp.eesier.com/rest/v1/call/whoami \
  -H "Authorization: Bearer $EESIER_TOKEN"

chamando uma ferramenta

Executar uma ferramenta

curl -X POST https://mcp.eesier.com/rest/v1/tools/search_leads \
  -H "Authorization: Bearer $EESIER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status": "Interested", "page_size": 5}'

Todo o resto é um POST com um objeto JSON de parâmetros nomeados.

Descobrir todas as ferramentas

curl https://mcp.eesier.com/rest/v1/tools \
  -H "Authorization: Bearer $EESIER_TOKEN"

A versão legível por máquina desta página, direto do servidor em execução.

Uma ferramenta sem parâmetros não precisa de corpo nenhum — corpo ausente, {} e null significam a mesma coisa: sem argumentos.

os endpoints

Quatro rotas. Todo o resto é um nome de ferramenta.

POST /rest/v1/tools/{tool_name} Executa uma ferramenta. O corpo é um objeto JSON de parâmetros nomeados.
GET /rest/v1/call/{tool_name} Executa uma ferramenta de leitura pela query string. Qualquer outra devolve 405.
GET /rest/v1/tools O catálogo completo: { version, server_version, tool_count, tools[] }.
GET /rest/v1/tools/{tool_name} O schema de uma ferramenta — o mesmo objeto que o catálogo lista.

respostas

O status diz o que aconteceu

Uma chamada que deu certo responde 200 com o JSON da própria ferramenta. Uma que falhou responde um 4xx ou 5xx de verdade — e o corpo continua sendo o JSON da ferramenta, então você tem o motivo legível por máquina e um status em que o seu cliente HTTP pode decidir sem interpretar nada.

Todo o resto é nível de transporte

Status Quando acontece
200 A ferramenta rodou e deu certo. O JSON dela é o corpo.
400 A requisição nem chegou na ferramenta: JSON malformado, corpo que não é objeto, parâmetro desconhecido, obrigatório ausente ou valor que não converte.
401 Token ausente, malformado, expirado ou revogado.
403 A ferramenta existe, mas o seu plano não inclui ela. O corpo diz o que ativar.
404 Não existe ferramenta com esse nome — o corpo sugere a mais próxima — ou a ferramenta rodou e o lead, a campanha ou o site que você pediu não existe.
405 Verbo errado — quase sempre um GET em uma ferramenta que não é de leitura.
422 A ferramenta rodou e recusou a requisição pelos critérios dela. O corpo diz o porquê.
500 A ferramenta lançou um erro permanente para esses argumentos. Não repita a mesma chamada.
503 A ferramenta lançou um erro transitório de plataforma ou de serviço externo. Repita a mesma chamada em alguns segundos.

Corpo das recusas

Todo 4xx e 5xx traz os mesmos três campos, então um único trecho de código no cliente dá conta de todos:

{
  "error": "unknown parameter 'lead_ids' for tool 'get_lead'",
  "type": "UnknownParameter",
  "detail": "accepted parameters: lead_id"
}

Token ausente ou inválido devolve 401 com um corpo que diz o que fazer:

{
  "error": "...",
  "how_to_fix": "...",
  "documentation": "https://mcp.eesier.com/SKILL.md"
}
type Significado
UnknownTool Esse nome de ferramenta não existe. Veja a sugestão em detail.
UnknownParameter Você mandou um parâmetro que a ferramenta não aceita — um erro de digitação é recusado, nunca ignorado.
MissingParameter Faltou um parâmetro obrigatório.
ParameterTypeMismatch O valor não pode ser convertido para o tipo do parâmetro.
InvalidRequestBody O corpo é JSON válido, mas não é um objeto de parâmetros nomeados.
NotReadOnly Você tentou chamar por GET uma ferramenta que escreve. Use POST.
JsonException O corpo não é JSON válido.

como os valores são lidos

Nada que perderia informação é adivinhado — é recusado.

string

O texto vai literal. Um número ou booleano JSON chega como o literal dele. Objetos e listas são recusados — nenhum parâmetro aceita.

integer

Um número JSON ou a forma textual dele. Um valor fracionário como 3.7, ou fora da faixa, é recusado — nunca truncado, nunca estourado.

number

O separador decimal é '.', nunca ','. "1,5" falha alto, com um detail dizendo isso, em vez de virar 15 silenciosamente.

boolean

Aceita true/false, "true"/"false", 1/0 e "1"/"0". "sim" é recusado.

Parâmetro desconhecido é recusado

Mais rígido que o MCP de propósito: um parâmetro digitado errado e descartado em silêncio devolveria uma chamada bem-sucedida com resultado estranho. O 400 lista todos os nomes aceitos.

null e omissão são coisas diferentes

Omita o parâmetro e vale o padrão da própria ferramenta. null explícito só é aceito por parâmetro que admite nulo. Query string não expressa null — use POST quando precisar.

Nomes diferenciam maiúsculas

O despacho é exato, igual ao MCP. get_lead funciona; GET_LEAD devolve 404 com o nome certo em detail.

Datas em UTC ISO 8601

Toda data volta como 2026-01-31T14:05:00Z. Os filtros aceitam datas ISO. Chame whoami para saber o fuso da conta.

Listas paginam explicitamente

page começa em 0 e page_size vale 20 por padrão, com teto de 100. O total volta junto com as linhas.

todos os endpoints

Abra um para ver as chamadas HTTP e os parâmetros.

Sessão

Identifica a conta conectada e lê as notificações pendentes. whoami é a primeira chamada de toda sessão — devolve o perfil, o plano e o fuso horário da conta.

4 endpoints
acknowledge_notification escrita Confirma o recebimento de uma notificação que você já exibiu ao usuário — ela deixa de aparecer em list_pending_notifications para você. Isso é apenas um marcador do lado do agente: a entrega da notificação ao usuário pela própria plataforma não é afetada.

Como chamar

POST /rest/v1/tools/acknowledge_notification

Parâmetros

notification_id integer obrigatório ID da notificação (de list_pending_notifications)
list_notification_history leitura Lista as notificações do sistema passadas e pendentes do cliente (mais recentes primeiro, paginado) — incluindo aquelas já processadas pela plataforma ou já reconhecidas. Use list_pending_notifications para apenas as novas, ainda não vistas.

Como chamar

POST /rest/v1/tools/list_notification_history GET /rest/v1/call/list_notification_history

Parâmetros

page integer opcional padrão 0 Número da página (baseado em 0, padrão 0)
page_size integer opcional padrão 20 Notificações por página (padrão 20, máximo 100)
list_pending_notifications leitura Lista todas as notificações do sistema pendentes (não processadas) na fila para o cliente. Estas são mensagens de aviso que a plataforma quer que o usuário veja — atualizações da plataforma ou confirmações de ações que ainda não foram apresentadas. Apresente-as ao usuário; você não pode marcá-las como processadas — elas permanecem na fila até que a plataforma as limpe internamente. Ordenadas pelas mais antigas primeiro. Depois de apresentar uma, chame acknowledge_notification para que ela pare de reaparecer aqui; para notificações passadas use list_notification_history.

Como chamar

POST /rest/v1/tools/list_pending_notifications GET /rest/v1/call/list_pending_notifications

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

whoami leitura Retorna as informações de perfil do cliente autenticado, incluindo nome, telefone, e-mail, idioma, deslocamento de fuso horário em relação ao UTC (em horas, pode ser nulo se não estiver definido), plano de assinatura e elegibilidade para prospecção.

Como chamar

POST /rest/v1/tools/whoami GET /rest/v1/call/whoami

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

Leads

Busca, lê, cadastra e atualiza leads. Assume um lead do agente, devolve para ele, interrompe, ou lista tudo que está esperando por uma pessoa agora.

10 endpoints
get_lead leitura Obtém o perfil completo de um lead, incluindo informações de contato, dados da empresa, status de prospecção e histórico de conversas. Os corpos das threads de e-mail são incluídos inline (últimos 50 por direção); a atividade de WhatsApp e voz aparece como contagens — use get_lead_conversation para a linha do tempo completa e mesclada entre canais.

Como chamar

POST /rest/v1/tools/get_lead GET /rest/v1/call/get_lead

Parâmetros

lead_id integer obrigatório ID do lead
list_lead_emails leitura Lista os e-mails trocados com um lead específico (enviados e recebidos), mais antigos primeiro. Paginado — outbound_total/inbound_total informam o tamanho total da thread. Defina include_bodies=false para uma visualização leve, somente com metadados (datas, assuntos, nomes de anexos).

Como chamar

POST /rest/v1/tools/list_lead_emails GET /rest/v1/call/list_lead_emails

Parâmetros

lead_id integer obrigatório ID do lead
page integer opcional padrão 0 Número da página (baseado em 0, padrão 0)
page_size integer opcional padrão 20 E-mails por direção por página (padrão 20, máximo 100)
include_bodies boolean opcional padrão true Incluir o corpo completo dos e-mails (padrão true); false retorna apenas metadados
list_pending_review leitura Lista os leads que foram sinalizados para revisão humana pelo agente de prospecção.

Como chamar

POST /rest/v1/tools/list_pending_review GET /rest/v1/call/list_pending_review

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

register_lead escrita Registra manualmente um novo lead para que o Blue Button possa prospectá-lo. É necessário um e-mail válido para que o lead seja efetivamente contatado (apenas o telefone só habilita WhatsApp/voz). Faz deduplicação: se já existir um lead com o mesmo e-mail ou telefone, retorna o id desse lead em vez de criar um duplicado. Para trazer muitos leads de uma vez, use import_leads; para um lead indicado por outro lead, use register_referral_lead.

Como chamar

POST /rest/v1/tools/register_lead

Parâmetros

name string obrigatório Nome do contato
email string opcional Endereço de email
phone string opcional Número de telefone
company string opcional Nome da empresa
status string opcional Status inicial: Cold (padrão) ou Confirmed
campaign string opcional Nome da campanha ou campaign_id numérico para atribuir ao lead
return_lead_to_pipeline escrita Retorna um lead ao pipeline autônomo de prospecção com instruções opcionais para o próximo contato.

Como chamar

POST /rest/v1/tools/return_lead_to_pipeline

Parâmetros

lead_id integer obrigatório ID do lead
instructions string opcional Instruções para o próximo contato do agente
next_touch_date string opcional Quando fazer o próximo contato (data ISO, padrão: agora)
search_leads leitura Busca leads por consulta, status, campanha, intervalo de datas, ou data da última mensagem de prospecção. Oferece suporte a ordenação por date_created (padrão), last_prospecting_message, ou status. Retorna resultados paginados. Cada resultado inclui last_outbound_at (data da última mensagem enviada para este lead) e last_inbound_at (data da última resposta deste lead) para que você possa triar a atividade sem abrir a conversa.

Como chamar

POST /rest/v1/tools/search_leads GET /rest/v1/call/search_leads

Parâmetros

query string opcional Consulta de busca (corresponde a nome, nome da empresa, email)
status string opcional Filtrar por status: Pending, Cold, Confirmed, Aware, NotInterested, Interested, Frozen, Closed, Unqualified, Rejected, Gatekeeper
campaign string opcional Filtrar por nome da campanha ou campaign_id numérico
created_after string opcional Somente leads criados nesta data ou depois (formato ISO, ex.: 2026-01-01)
created_before string opcional Somente leads criados nesta data ou antes (formato ISO, ex.: 2026-03-31)
last_prospecting_message_after string opcional Somente leads que receberam uma mensagem de prospecção nesta data ou depois (formato ISO)
sort_by string opcional Ordem de classificação: date_created (padrão, mais recentes primeiro), last_prospecting_message (atividade mais recente primeiro), status (por status e depois por data). Valores não reconhecidos usam date_created como padrão.
page integer opcional padrão 0 Número da página (baseado em 0, padrão 0)
page_size integer opcional padrão 20 Tamanho da página (padrão 20, máximo 100)
has_linkedin boolean opcional Filtrar pela presença no LinkedIn: true retorna apenas leads que têm uma URL de perfil do LinkedIn, false apenas leads sem uma. Omita para todos os leads.
send_message_to_lead escrita Envia um e-mail direto para um lead a partir do endereço Blue Button do cliente. EFEITO COLATERAL: isso assume o controle do lead (remove-o do pipeline autônomo, o mesmo que take_over_lead) — o cliente passa a ser o dono da conversa a partir daí. O e-mail é colocado na fila para envio, não é enviado instantaneamente. Se o cliente só quiser direcionar a abordagem sem assumir o controle, use return_lead_to_pipeline com instruções em vez disso. Para WhatsApp, use send_whatsapp_message_to_lead.

Como chamar

POST /rest/v1/tools/send_message_to_lead

Parâmetros

lead_id integer obrigatório ID do lead
subject string obrigatório Assunto do email
body string obrigatório Corpo do email
stop_lead destrutiva Para a prospecção de um lead — o Blue Button finaliza o lead e não envia mais nada. Reversível: recover_lead_to_pipeline devolve o lead ao pipeline com uma abordagem de reengajamento. Contraste: take_over_lead significa que o cliente vai cuidar pessoalmente do lead; stop_lead significa que ninguém vai cuidar. Para registrar POR QUÊ (ganho/perdido/desistiu, valor do negócio) use register_lead_outcome em vez disso — ele para a prospecção E mantém o histórico do resultado.

Como chamar

POST /rest/v1/tools/stop_lead

Parâmetros

lead_id integer obrigatório ID do lead
reason string opcional Motivo da interrupção
take_over_lead escrita Assume o controle de um lead — marca como controlado pelo usuário, removendo-o do pipeline de prospecção autônoma (o Blue Button para de entrar em contato; o cliente passa a lidar com ele pelos próprios canais). Para devolver o lead ao Blue Button depois, use recover_lead_to_pipeline (reengajamento suave). Contraste: stop_lead encerra a prospecção sem implicar que o cliente vai cuidar do lead; send_message_to_lead também assume o controle como efeito colateral; return_lead_to_pipeline é a retomada pós-revisão-humana.

Como chamar

POST /rest/v1/tools/take_over_lead

Parâmetros

lead_id integer obrigatório ID do lead
update_lead escrita Atualiza o status, objetivo ou histórico de um lead. Passe apenas os campos que deseja alterar. Observação: definir um status aqui NÃO para nem pausa a prospecção — para remover o lead do pipeline, use stop_lead (finaliza permanentemente) ou take_over_lead (o cliente cuida pessoalmente).

Como chamar

POST /rest/v1/tools/update_lead

Parâmetros

lead_id integer obrigatório ID do lead
status string opcional Novo status: Pending, Cold, Confirmed, Aware, NotInterested, Interested, Frozen, Closed, Unqualified, Rejected, Gatekeeper
goal string opcional Objetivo de prospecção específico do lead
background string opcional Contexto de background sobre este lead

Operações de lead

Age sobre um lead: envia mensagem de WhatsApp, importa uma lista, reagenda o próximo contato, registra uma indicação ou gera uma apresentação para um lead específico.

5 endpoints
create_lead_presentation escrita Gera uma apresentação estratégica personalizada (PDF) para um lead específico, com base no negócio do cliente e no contexto do lead. É executado de forma síncrona e pode levar um minuto. Retorna a URL do PDF. Se o lead já tiver uma apresentação, retorna a existente. Respeita a opção 'generate custom presentations' do cliente/campanha.

Como chamar

POST /rest/v1/tools/create_lead_presentation

Parâmetros

lead_id integer obrigatório ID do lead
import_leads escrita Importe muitos leads de uma vez. Forneça um customer_file_id existente (um arquivo CSV/Excel/TXT enviado) OU linhas inline (rows_json: um array JSON de objetos com name, email, phone, company — email ou phone obrigatório por linha). A importação é enfileirada e processada em segundo plano (deduplicada contra leads existentes); novos leads entram na prospecção automaticamente. Para um único lead, use register_lead.

Como chamar

POST /rest/v1/tools/import_leads

Parâmetros

customer_file_id integer opcional Id de um arquivo do cliente já enviado (.csv, .xlsx, .xls, .txt) para importar
rows_json string opcional Leads embutidos como um array JSON, ex.: [{"name":"Ana","email":"ana@acme.com","phone":"+5511999999999","company":"Acme"}]. Máximo de 500 linhas por chamada.
instructions string opcional Instruções especiais para extração (mapeamento de colunas, filtros)
status string opcional Status inicial para os leads importados (ex.: Cold, Confirmed)
preferred_channel string opcional Canal de primeiro contato: Email ou WhatsApp (aplicado por lead somente quando ele tiver essa informação de contato)
first_message_instructions string opcional Instruções para a primeira mensagem de prospecção aos leads importados
prospecting_background string opcional Contexto sobre os leads importados (ex.: 'Leads do workshop de IA da TechConf 2026')
prospecting_goal string opcional Objetivo de prospecção para os leads importados, substituindo o objetivo em nível de cliente
campaign string opcional Nome da campanha ou campaign_id numérico para atribuir aos leads importados
register_referral_lead escrita Registra um NOVO lead indicado por um lead existente ('fale com o X'). Passa pelo pipeline compartilhado de indicações: deduplicação, verificação de e-mail, cópia de dados da empresa quando same_company, enriquecimento e entrada automática na prospecção. Precisa de pelo menos um e-mail ou um telefone para a pessoa indicada. Requer um plano pago ativo.

Como chamar

POST /rest/v1/tools/register_referral_lead

Parâmetros

referring_lead_id integer obrigatório ID do lead existente que fez a indicação
lead_name string obrigatório Nome da pessoa indicada
lead_email string opcional Email da pessoa indicada
lead_phone string opcional Telefone da pessoa indicada
same_company boolean opcional padrão false True quando a pessoa indicada trabalha na MESMA empresa que o lead que fez a indicação (os dados da empresa são copiados)
status string opcional Status inicial (ex.: Cold, Confirmed)
instructions_for_first_touch string opcional Instruções para o primeiro contato com o lead indicado
reschedule_lead_touch escrita Atualiza a data do próximo contato de prospecção e/ou o canal preferido para um ou mais leads em prospecção ativa, selecionados por IDs de lead explícitos e/ou pelo arquivo do qual foram importados. Definir next_touch_date como agora faz com que cada lead seja contatado o quanto antes. Leads que a fila de prospecção não pegaria (nunca iniciados, finalizados, aguardando revisão, assumidos, rejeitados, ou congelados sem uma resposta mais recente) são ignorados e reportados.

Como chamar

POST /rest/v1/tools/reschedule_lead_touch

Parâmetros

lead_ids string opcional IDs de leads separados por vírgula para atualizar (opcional se imported_from_file_id for fornecido)
imported_from_file_id integer opcional Atualiza todo lead em prospecção ativa importado deste id de arquivo do cliente
next_touch_date string opcional Nova data/hora do próximo contato em UTC (formato ISO). Informe a hora UTC atual para contatar o quanto antes. Omita para manter o agendamento de cada lead.
preferred_channel string opcional Novo canal preferido de primeiro contato: Email ou WhatsApp (aplicado apenas onde o lead for alcançável nesse canal)
send_whatsapp_message_to_lead escrita Envia uma mensagem de WhatsApp direta para um lead no número de prospecção do cliente. O comportamento espelha o do agente no aplicativo: se o controle do lead NÃO foi assumido, a mensagem fica reservada como instruções para o próximo contato e é entregue no próximo contato natural de prospecção do lead (o controle do lead NÃO é assumido). Se o controle do lead FOI assumido e sua janela de atendimento de WhatsApp de 24h está aberta (o lead enviou mensagem nas últimas 24h), a mensagem é enviada agora, ao pé da letra; se a janela estiver fechada, o envio é recusado (política do WhatsApp) — use e-mail via send_message_to_lead em vez disso. Requer uma linha de WhatsApp de prospecção ativa (register_whatsapp_line).

Como chamar

POST /rest/v1/tools/send_whatsapp_message_to_lead

Parâmetros

lead_id integer obrigatório ID do lead
message string obrigatório A mensagem a ser entregue, escrita exatamente como deve chegar ao lead
attachment_url string opcional URL https absoluta opcional de um arquivo para enviar como mensagem de mídia do WhatsApp após o texto

Desfechos

Fecha o ciclo: registra o que aconteceu com um lead, responde a uma pergunta que ele fez, recupera ele para o pipeline ou lê o histórico do seu ciclo de vida.

5 endpoints
answer_lead_question escrita Salva a resposta do cliente para uma pergunta que um lead fez anteriormente e que a plataforma não conseguiu responder (preço, área de entrega, especificações, processo...). A resposta é armazenada no FAQ do negócio, para que TODO lead futuro a receba, e, se o lead que perguntou ainda estiver no pipeline, a resposta é repassada no próximo contato. Informe open_question_id quando conhecido; caso contrário, informe question_text.

Como chamar

POST /rest/v1/tools/answer_lead_question

Parâmetros

answer_text string obrigatório A resposta do cliente, em suas próprias palavras
open_question_id integer opcional ID da pergunta em aberto que está sendo respondida, quando conhecido
question_text string opcional O texto da pergunta — obrigatório quando nenhum open_question_id for fornecido
list_lead_lifecycle_events leitura Lista o histórico de ciclo de vida/desfecho de um lead específico (desfecho registrado, recuperado, check-ins silenciados, perguntas respondidas, desfechos de reuniões...), mais recentes primeiro. A trilha de auditoria somente-acréscimo por trás de register_lead_outcome e suas irmãs.

Como chamar

POST /rest/v1/tools/list_lead_lifecycle_events GET /rest/v1/call/list_lead_lifecycle_events

Parâmetros

lead_id integer obrigatório ID do lead
limit integer opcional padrão 50 Número máximo de eventos a retornar (padrão 50, máximo 200)
mute_lead_check_ins escrita Interrompe as perguntas periódicas de acompanhamento do tipo 'como foi com esse lead?' para um lead específico, quando o cliente pede para não ser mais lembrado sobre ele. NÃO altera o status do lead nem o estado do pipeline.

Como chamar

POST /rest/v1/tools/mute_lead_check_ins

Parâmetros

lead_id integer obrigatório ID do lead
reason string opcional Por que o cliente quer parar de ouvir falar sobre este lead, com as próprias palavras
recover_lead_to_pipeline escrita Traz DE VOLTA para o pipeline autônomo de prospecção um lead que o cliente havia assumido pessoalmente (ou desistido), com um enquadramento de reengajamento suave (o lead já conhece o negócio). Use esta ferramenta — e NÃO return_lead_to_pipeline — quando o cliente assumiu PESSOALMENTE o lead ou parou de buscá-lo e agora quer que o Blue Button o retome. Recusa leads descadastrados e leads com um resultado won/lost já registrado. O primeiro contato de reengajamento acontece após um pequeno atraso.

Como chamar

POST /rest/v1/tools/recover_lead_to_pipeline

Parâmetros

lead_id integer obrigatório ID do lead
owner_context string opcional Contexto que o cliente deu para a recuperação, com as próprias palavras (ex.: 'ele pediu para conversar depois das férias')
register_lead_outcome escrita Registra o resultado FINAL de um lead, conforme relatado pelo cliente: 'won' (fechou a venda), 'lost' (concorrente, desistiu, sem orçamento) ou 'gave_up' (o cliente não vai mais buscar esse lead). Use para QUALQUER atualização sobre como a história de um lead terminou — incluindo anúncios positivos casuais ('fechei com o X'). Também interrompe a prospecção desse lead. Só informe reason/deal_value_brl quando o cliente os fornecer espontaneamente — NUNCA pergunte pelo valor do negócio. Contraste: stop_lead encerra a prospecção sem registrar o motivo; esta mantém o histórico do resultado.

Como chamar

POST /rest/v1/tools/register_lead_outcome

Parâmetros

lead_id integer obrigatório ID do lead
outcome string obrigatório O resultado: 'won', 'lost' ou 'gave_up'
reason string opcional As próprias palavras do cliente sobre o porquê/como terminou — apenas quando mencionado espontaneamente
deal_value_brl number opcional Valor do negócio em BRL — APENAS quando o cliente mencionou explicitamente um valor

Reuniões

Lista as reuniões marcadas com leads, confirma ou cancela, e registra quem realmente compareceu.

4 endpoints
cancel_lead_meeting destrutiva Cancela uma reunião do lado do cliente e envia o lead de volta ao pipeline de prospecção, para que o executor comunique o cancelamento no próximo contato.

Como chamar

POST /rest/v1/tools/cancel_lead_meeting

Parâmetros

meeting_id integer obrigatório Id da reunião a ser cancelada
next_touch_date string obrigatório Quando o executor deve reengajar o lead sobre o cancelamento (ISO 8601 UTC, geralmente dentro de algumas horas)
reason string opcional Motivo de cancelamento opcional — anexado às notas da reunião e incluído nas instruções de próximo contato
additional_instructions string opcional Instruções extras opcionais de próximo contato para o executor, escritas no idioma do cliente
confirm_lead_meeting escrita Confirma uma reunião do lado do cliente (chame quando o cliente aceitar uma reunião proposta pelo lead). Registra a aceitação do cliente.

Como chamar

POST /rest/v1/tools/confirm_lead_meeting

Parâmetros

meeting_id integer obrigatório Id da reunião que o cliente está confirmando
list_lead_meetings leitura Lista as reuniões entre o cliente e seus leads. Opcionalmente, filtre por um lead específico, inclua reuniões canceladas, ou inclua reuniões passadas.

Como chamar

POST /rest/v1/tools/list_lead_meetings GET /rest/v1/call/list_lead_meetings

Parâmetros

lead_id integer opcional ID do lead opcional para filtrar
include_cancelled boolean opcional padrão false Incluir reuniões canceladas (padrão false)
include_past boolean opcional padrão true Incluir reuniões passadas dos últimos 30 dias (padrão true). Defina false para somente as futuras.
update_lead_meeting_attendance escrita Registra a presença em uma reunião que já aconteceu — se o cliente e/ou o lead compareceram, além de notas de resultado opcionais. Passe pelo menos um campo.

Como chamar

POST /rest/v1/tools/update_lead_meeting_attendance

Parâmetros

meeting_id integer obrigatório Id da reunião a ser atualizada
has_customer_attended boolean opcional Se o cliente compareceu
has_lead_attended boolean opcional Se o lead compareceu
notes string opcional Notas opcionais sobre o resultado — anexadas às notas existentes

Inteligência de timing

Lê os sinais de timing coletados para um lead — quando esse tipo de contato costuma responder.

1 endpoints
get_lead_timing_intelligence leitura Obtém a inteligência de timing de um lead: os melhores horários para contatá-lo (por dia da semana, no horário local do lead), quando o lead historicamente responde, e o tempo médio de resposta dele. Construído a partir do histórico deste lead, recorrendo ao setor dele, a este cliente, e depois aos dados de toda a plataforma (o campo source indica qual). Use isso para cronometrar os toques de send_message_to_lead / return_lead_to_pipeline.

Como chamar

POST /rest/v1/tools/get_lead_timing_intelligence GET /rest/v1/call/get_lead_timing_intelligence

Parâmetros

lead_id integer obrigatório ID do lead

Conversas

Lê o que foi realmente dito. Linha do tempo completa de um lead em todos os canais, a thread de WhatsApp isolada, ou uma busca por significado em todas as conversas de uma vez.

4 endpoints
get_lead_conversation leitura Obtém a linha do tempo completa da conversa de um lead entre canais — e-mail, WhatsApp e chamadas de voz — mesclada cronologicamente, com cada item marcado com seu canal e direção. Paginado. Esta é a única ferramenta que mostra a conversa INTEIRA como o lead a vivenciou; para um único canal, use list_lead_emails ou list_lead_whatsapp_messages.

Como chamar

POST /rest/v1/tools/get_lead_conversation GET /rest/v1/call/get_lead_conversation

Parâmetros

lead_id integer obrigatório ID do lead
page integer opcional padrão 0 Número da página (baseado em 0, padrão 0)
page_size integer opcional padrão 30 Itens por página (padrão 30, máximo 100)
order string opcional padrão newest_first Ordenação: newest_first (padrão) ou oldest_first
include_transcripts boolean opcional padrão false Incluir transcrições completas das chamadas de voz (padrão false — apenas o resumo do resultado)
list_lead_whatsapp_messages leitura Lista as mensagens do WhatsApp trocadas com um lead específico (enviadas e recebidas), mais antigas primeiro. Paginado — outbound_total/inbound_total informam o tamanho total da thread. Defina include_bodies=false para uma visualização leve, somente com metadados. Para os e-mails do lead use list_lead_emails; para a linha do tempo combinada de e-mail+WhatsApp+voz use get_lead_conversation.

Como chamar

POST /rest/v1/tools/list_lead_whatsapp_messages GET /rest/v1/call/list_lead_whatsapp_messages

Parâmetros

lead_id integer obrigatório ID do lead
page integer opcional padrão 0 Número da página (baseado em 0, padrão 0)
page_size integer opcional padrão 20 Mensagens por direção por página (padrão 20, máximo 100)
include_bodies boolean opcional padrão true Incluir o corpo completo das mensagens (padrão true); false retorna apenas metadados
search_lead_conversations leitura Busca semântica em TODAS as conversas de LEAD do cliente — e-mails de leads e mensagens de WhatsApp de leads — por significado, não por palavras-chave (ex.: 'leads que perguntaram sobre preço', 'objeções sobre duração de contrato'). Retorna trechos com lead_id; busque as conversas completas via get_lead_conversation / list_lead_emails / list_lead_whatsapp_messages. Opcionalmente, restrinja a um lead ou um canal. NÃO é para o próprio chat do cliente com seu agente Blue Button — isso é search_my_agent_conversation.

Como chamar

POST /rest/v1/tools/search_lead_conversations GET /rest/v1/call/search_lead_conversations

Parâmetros

query string obrigatório O que buscar, formulado por significado (qualquer idioma)
lead_id integer opcional Restringir à conversa de um lead (opcional)
channel string opcional Restringir canal: email, whatsapp, email_inbound, email_outbound, whatsapp_inbound, whatsapp_outbound (opcional; padrão = todos)
top_k integer opcional padrão 10 Máximo de resultados (padrão 10, máximo 25)
min_score number opcional Pontuação mínima de similaridade 0..1 (opcional)
search_my_agent_conversation leitura Busca semântica na PRÓPRIA conversa passada do cliente com seu agente Blue Button (o assistente de WhatsApp com quem ele conversa) — use para lembrar o que o cliente discutiu, decidiu, ou pediu anteriormente. NÃO é para conversas de leads — isso é search_lead_conversations.

Como chamar

POST /rest/v1/tools/search_my_agent_conversation GET /rest/v1/call/search_my_agent_conversation

Parâmetros

query string obrigatório O que buscar, formulado por significado (qualquer idioma)
top_k integer opcional padrão 5 Número máximo de resultados (padrão 5, máximo 10)

Campanhas

Roda trilhas de prospecção separadas para produtos ou mercados diferentes: cria, pausa, retoma, renomeia, arquiva, compara resultados e move leads entre elas.

11 endpoints
archive_campaign destrutiva Arquiva uma campanha permanentemente. Todo lead nela tem seu vínculo com a campanha removido e volta para a prospecção padrão, e a campanha deixa de aparecer nas listas de campanhas. Use pause_campaign para uma interrupção temporária.

Como chamar

POST /rest/v1/tools/archive_campaign

Parâmetros

name string obrigatório Nome da campanha ou campaign_id numérico
compare_campaigns leitura Compara duas campanhas lado a lado: configuração e estatísticas de leads.

Como chamar

POST /rest/v1/tools/compare_campaigns GET /rest/v1/call/compare_campaigns

Parâmetros

name_a string obrigatório Nome da primeira campanha
name_b string obrigatório Nome da segunda campanha
create_campaign escrita Cria uma nova campanha de prospecção. Name e business_name são obrigatórios. Cada campanha é ISOLADA — ela NÃO herda nenhum campo dos padrões em nível de cliente, portanto preencha todos os campos relevantes no momento da criação.

Como chamar

POST /rest/v1/tools/create_campaign

Parâmetros

name string obrigatório Nome da campanha (único por cliente)
business_name string obrigatório Nome do negócio para esta campanha
business_description string opcional Descrição do negócio para esta campanha — o produto/serviço que ela representa. OBRIGATÓRIO quando a campanha representa um produto diferente do negócio principal do cliente, caso contrário o texto de prospecção não terá contexto sobre o produto.
business_website string opcional URL do site do negócio para esta campanha
icp string opcional Perfil de cliente ideal
cnae_filter string opcional Códigos CNAE a incluir, separados por vírgula
cnae_exclusion_filter string opcional Códigos CNAE a excluir, separados por vírgula
instructions string opcional Instruções de prospecção
email_instructions string opcional Sobreposição de instruções do canal de e-mail — orientação extra aplicada APENAS ao contatar um lead por e-mail para ESTA campanha, aplicada por cima das instruções gerais da campanha (substituição direta da sobreposição de e-mail).
whatsapp_instructions string opcional Camada de instruções do canal do WhatsApp — orientações extras aplicadas SOMENTE ao contatar um lead pelo WhatsApp nesta campanha, sobrepostas às instruções gerais da campanha (substituição bruta da camada do WhatsApp).
voice_instructions string opcional Camada de instruções do canal de voz — orientações extras aplicadas SOMENTE em ligações ativas desta campanha, sobrepostas às instruções gerais da campanha (substituição bruta da camada de voz).
goal string opcional Objetivo de prospecção
lead_qualification_instructions string opcional Instruções de qualificação de leads — regras sobre COMO avaliar leads em relação ao ICP (requisitos obrigatórios vs. preferências flexíveis, condições de override, regras de tolerância, limites de desqualificação)
human_review_criteria string opcional Critérios de revisão humana — quando sinalizar um lead para revisão manual em vez de avançar automaticamente
email_display_name string opcional Substituição do nome de exibição do e-mail para esta campanha (ex: 'Carlos from PrimeAssist'). Deixe em branco para usar o nome de exibição em nível de cliente.
uf_filter string opcional Códigos de estados brasileiros separados por vírgula (ex.: 'SP,RJ,MG')
city_filter string opcional Nomes de cidades separados por vírgula
country_filter string opcional Códigos de país ISO
min_employee_count integer opcional Número mínimo de funcionários
max_employee_count integer opcional Número máximo de funcionários
min_annual_revenue number opcional Receita anual mínima
max_annual_revenue number opcional Receita anual máxima
company_size_filter string opcional Portes de empresa separados por vírgula: Micro,Small,Medium,Large
company_type_filter string opcional Tipos de empresa separados por vírgula para incluir nas buscas de leads: Private, Individual, Government, StateOwned, NonProfit. Vazio = herda o filtro de tipo de empresa do cliente (padrão do cliente = apenas Private — MEI / empresários individuais, governo, estatais e entidades sem fins lucrativos excluídos).
lead_generation_active boolean opcional Se deve gerar automaticamente NOVOS leads para esta trilha. O padrão é true. Defina como false APENAS quando a campanha deve trabalhar SOMENTE com uma lista que o próprio usuário importa e nunca receber leads gerados automaticamente. Os leads existentes continuam sendo prospectados — apenas a aquisição de novos leads é pausada quando false.
get_campaign leitura Retorna a configuração completa e as estatísticas de leads de uma campanha específica. Aceita o nome da campanha ou seu campaign_id numérico (conforme retornado por list_campaigns, search_leads, get_lead).

Como chamar

POST /rest/v1/tools/get_campaign GET /rest/v1/call/get_campaign

Parâmetros

name string obrigatório Nome da campanha ou campaign_id numérico
list_campaigns leitura Lista todas as campanhas de prospecção do cliente com suas estatísticas de leads (total, interested, confirmed, cold, aware, frozen, not interested, taken over, pending review) e métricas de e-mail (e-mails enviados, respostas recebidas, taxa de resposta).

Como chamar

POST /rest/v1/tools/list_campaigns GET /rest/v1/call/list_campaigns

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

move_leads_to_campaign escrita Move leads de uma campanha para outra, ou os remove de sua campanha e os retorna à prospecção padrão (sem campanha). Informe o nome da campanha de destino, ou 'default' para remover os leads de qualquer campanha. Opcionalmente, filtre por status do lead.

Como chamar

POST /rest/v1/tools/move_leads_to_campaign

Parâmetros

target_campaign string obrigatório Nome da campanha de destino ou campaign_id numérico, ou 'default' (ou 'none') para remover os leads de sua campanha e devolvê-los à prospecção padrão
lead_ids string obrigatório IDs de leads separados por vírgula para mover
status_filter string opcional Mover apenas leads com este status (opcional)
pause_campaign escrita Pausa uma campanha. Os leads dessa campanha não serão processados até que ela seja retomada.

Como chamar

POST /rest/v1/tools/pause_campaign

Parâmetros

name string obrigatório Nome da campanha ou campaign_id numérico
rename_campaign escrita Renomeia uma campanha.

Como chamar

POST /rest/v1/tools/rename_campaign

Parâmetros

old_name string obrigatório Nome atual da campanha
new_name string obrigatório Novo nome da campanha
resume_campaign escrita Retoma uma campanha pausada.

Como chamar

POST /rest/v1/tools/resume_campaign

Parâmetros

name string obrigatório Nome da campanha ou campaign_id numérico
set_campaign_lead_generation_active escrita Alterna se o sistema GERA AUTOMATICAMENTE novos leads para uma campanha. true = gerar novos leads (padrão). false = parar de gerar novos leads — trabalhar apenas a lista existente. INDEPENDENTE de pausar/retomar: uma campanha com lead_generation_active=false mas is_active=true continua prospectando seus leads existentes, apenas sem aquisição de novos leads. Use isso quando o usuário quiser que uma campanha trabalhe APENAS em uma lista que ele mesmo importou.

Como chamar

POST /rest/v1/tools/set_campaign_lead_generation_active

Parâmetros

name string obrigatório Nome da campanha ou campaign_id numérico
active boolean obrigatório true para continuar gerando novos leads, false para parar de gerar novos leads (leads existentes continuam sendo prospectados)
update_campaign escrita Atualiza a configuração de uma campanha existente. Passe apenas os campos que deseja alterar. Para filtros numéricos (número de funcionários, receita), defina como -1 para limpar.

Como chamar

POST /rest/v1/tools/update_campaign

Parâmetros

name string obrigatório Nome atual da campanha
business_name string opcional Novo nome do negócio
business_description string opcional Descrição do negócio
business_website string opcional Site do negócio
icp string opcional Perfil de cliente ideal
cnae_filter string opcional Filtro de inclusão de CNAE
cnae_exclusion_filter string opcional Filtro de exclusão de CNAE
uf_filter string opcional Códigos de estado brasileiros separados por vírgula (ex.: 'SP,RJ,MG')
city_filter string opcional Nomes de cidades separados por vírgula
country_filter string opcional Filtro de país
instructions string opcional Instruções de prospecção
email_instructions string opcional Camada de instruções do canal de e-mail — orientação extra aplicada APENAS ao contatar um lead por e-mail para ESTA campanha, sobreposta às instruções gerais da campanha (substituição bruta da camada de e-mail).
whatsapp_instructions string opcional Overlay de instruções do canal WhatsApp — orientação extra aplicada APENAS ao contatar um lead pelo WhatsApp para ESTA campanha, sobreposta às instruções gerais da campanha (substituição bruta do overlay do WhatsApp).
voice_instructions string opcional Overlay de instruções do canal de voz — orientação extra aplicada APENAS em chamadas outbound para ESTA campanha, sobreposta às instruções gerais da campanha (substituição bruta do overlay de voz).
goal string opcional Objetivo de prospecção
strategy string opcional Estratégia
human_review_criteria string opcional Critérios de revisão humana
lead_qualification_instructions string opcional Instruções de qualificação de leads — regras sobre COMO avaliar leads em relação ao ICP (requisitos obrigatórios vs. preferências flexíveis, condições de override, regras de flexibilidade, limiares de desqualificação)
email_display_name string opcional Nome de exibição do e-mail
min_employee_count integer opcional Número mínimo de funcionários (-1 para limpar)
max_employee_count integer opcional Número máximo de funcionários (-1 para limpar)
min_annual_revenue number opcional Receita anual mínima (-1 para limpar)
max_annual_revenue number opcional Receita anual máxima (-1 para limpar)
company_size_filter string opcional Portes de empresa separados por vírgula: Micro,Small,Medium,Large (vazio para limpar)
company_type_filter string opcional Tipos de empresa separados por vírgula para incluir nas buscas de leads: Private, Individual, Government, StateOwned, NonProfit. Uma string vazia limpa a substituição da campanha e herda o filtro de tipo de empresa do cliente (padrão do cliente = apenas Private — MEI / empresários individuais, governo, estatais e entidades sem fins lucrativos excluídos).
lead_generation_active boolean opcional Se deve gerar automaticamente NOVOS leads para esta trilha. true = gerar novos leads (padrão para novas campanhas). false = parar de gerar novos leads, trabalhar apenas a lista existente. Independente de pause/resume — quando false a campanha continua prospectando seus leads existentes, apenas não adquire novos.
is_active boolean opcional Se esta campanha está ou não em execução. false pausa toda a trilha (o mesmo que pause_campaign), true a retoma.
voice_calling_active boolean opcional Chamada de voz outbound por trilha. true liga para os leads desta trilha, false nunca liga para eles, omitir para manter a configuração atual. Limpe para herdar a configuração de nível de cliente via clear_voice_calling_active.
generate_custom_presentations boolean opcional Se deve gerar uma apresentação personalizada por lead para esta trilha (true/false)
notify_on_interested boolean opcional Alertar quando um lead desta trilha demonstrar interesse (true/false)
notify_on_confirmed boolean opcional Alertar quando um lead desta trilha for confirmado (true/false)
min_founding_date string opcional Data de fundação da empresa mais antiga a incluir, no formato 'yyyy-MM-dd' (vazio para limpar)
max_founding_date string opcional Data de fundação da empresa mais recente a incluir, no formato 'yyyy-MM-dd' (vazio para limpar)

Configurações de prospecção

A chave geral mais tudo que define quem é contatado e como: segmentação, regras e preferências.

6 endpoints
get_prospecting_config leitura Retorna toda a configuração de prospecção: filtros (CNAE, localização), instruções, objetivo, estratégia, critérios de revisão humana, instruções de qualificação de leads, configurações de notificação, modo e status de ativação.

Como chamar

POST /rest/v1/tools/get_prospecting_config GET /rest/v1/call/get_prospecting_config

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

set_allow_template_whatsapp_messages escrita Permite ou bloqueia mensagens de template de WhatsApp iniciadas pelo agente para leads. Quando bloqueado, o agente só pode responder a leads que escreveram primeiro, dentro da janela de 24 horas do WhatsApp, e nunca abre uma conversa por template. Respostas de texto livre não são afetadas.

Como chamar

POST /rest/v1/tools/set_allow_template_whatsapp_messages

Parâmetros

allowed boolean obrigatório true para permitir mensagens de template iniciadas pelo agente, false para apenas responder
set_prospecting_active escrita Ativa ou desativa a prospecção autônoma. Retorna o novo status e as informações de elegibilidade.

Como chamar

POST /rest/v1/tools/set_prospecting_active

Parâmetros

active boolean obrigatório true para ativar, false para desativar
set_prospecting_preferences escrita Atualiza as preferências de prospecção: modo (Active/Passive), apresentações personalizadas e configurações de notificação. Passe apenas os campos que deseja alterar.

Como chamar

POST /rest/v1/tools/set_prospecting_preferences

Parâmetros

mode string opcional Modo de prospecção: 'Active' (buscando leads) ou 'Passive' (pausado até revisão)
generate_presentations boolean opcional Se deve gerar apresentações personalizadas por lead (true/false)
notification_email string opcional Endereço de e-mail para receber notificações de prospecção
notify_on_interested boolean opcional Notificar (in-app/WhatsApp) quando leads demonstrarem interesse (true/false)
notify_on_confirmed boolean opcional Notificar (in-app/WhatsApp) quando leads forem confirmados (true/false)
notify_on_interested_via_email boolean opcional Enviar o E-MAIL com a marca da empresa quando leads demonstrarem interesse (true/false) — independente do alerta in-app/WhatsApp
notify_on_confirmed_via_email boolean opcional Enviar o E-MAIL com a marca da empresa quando leads forem confirmados (true/false) — independente do alerta in-app/WhatsApp
notify_on_first_whatsapp_message boolean opcional Notificar (aviso único) quando um lead enviar a primeira mensagem no WhatsApp (true/false)
cc_on_interested_lead_emails boolean opcional Copiar o cliente nos e-mails de lead interessado enviados aos endereços de notificação (true/false)
set_prospecting_rules escrita Atualiza as regras de prospecção: instruções para o agente, objetivo de abordagem, estratégia, critérios de revisão humana e instruções de qualificação de leads. Passe apenas os campos que deseja alterar.

Como chamar

POST /rest/v1/tools/set_prospecting_rules

Parâmetros

instructions string opcional Instruções sobre como o agente deve prospectar (substituição direta)
goal string opcional Objetivo desejado da prospecção (ex.: 'agendar uma demonstração', 'marcar uma reunião')
strategy string opcional Documento de estratégia de prospecção
human_review_criteria string opcional Critérios para quando escalar leads para revisão humana
lead_qualification_instructions string opcional Regras sobre COMO avaliar leads em relação ao ICP — quais características são requisitos obrigatórios versus preferências flexíveis, condições de exceção, regras de tolerância, limites de desqualificação. Distinto do ICP em si (quem visar).
email_instructions string opcional Sobreposição de instruções do canal de e-mail — orientação extra aplicada APENAS ao contatar um lead por e-mail, sobreposta às instruções gerais (substituição direta da sobreposição de e-mail).
whatsapp_instructions string opcional Sobreposição de instruções do canal de WhatsApp — orientação extra aplicada APENAS ao contatar um lead pelo WhatsApp, sobreposta às instruções gerais (substituição direta da sobreposição de WhatsApp).
voice_instructions string opcional Sobreposição de instruções do canal de voz — orientação extra aplicada APENAS em ligações ativas, sobreposta às instruções gerais (substituição direta da sobreposição de voz).
email_signature string opcional Bloco de assinatura exato anexado literalmente a cada e-mail de prospecção. Quando definido, o copywriter não escreve assinatura própria. Envie uma string vazia para limpá-lo e voltar à assinatura padrão somente com o nome.
set_targeting escrita Atualiza os filtros de segmentação da prospecção. Passe apenas os campos que deseja alterar. Valores separados por vírgula para campos multivalorados. Para filtros numéricos (número de funcionários, receita), defina como -1 para limpar.

Como chamar

POST /rest/v1/tools/set_targeting

Parâmetros

cnae_filter string opcional Códigos CNAE separados por vírgula a incluir (ex.: '6201,6202,6311')
cnae_exclusion_filter string opcional Códigos CNAE separados por vírgula a excluir
uf_filter string opcional Códigos de estado brasileiro separados por vírgula (ex.: 'SP,RJ,MG')
city_filter string opcional Nomes de cidades separados por vírgula
country_filter string opcional Códigos de país ISO separados por vírgula (ex.: 'BR,US')
min_employee_count integer opcional Número mínimo de funcionários (-1 para limpar)
max_employee_count integer opcional Número máximo de funcionários (-1 para limpar)
min_annual_revenue number opcional Receita anual mínima (-1 para limpar)
max_annual_revenue number opcional Receita anual máxima (-1 para limpar)
company_size_filter string opcional Tamanhos de empresa separados por vírgula: Micro,Small,Medium,Large (vazio para limpar)
company_type_filter string opcional Tipos de empresa separados por vírgula para incluir nas buscas de leads: Private, Individual, Government, StateOwned, NonProfit. Padrão (vazio) = apenas Private — MEI / empreendedores individuais, governo, estatais e entidades sem fins lucrativos são excluídos.
min_founding_date string opcional Data de fundação mais antiga da empresa a incluir, no formato 'yyyy-MM-dd' (vazio para limpar)
max_founding_date string opcional Data de fundação mais recente da empresa a incluir, no formato 'yyyy-MM-dd' (vazio para limpar)

Arquivos de prospecção

O catálogo de arquivos que o agente pode enviar para um lead — apresentações, tabelas de preço, guias — no escopo de uma campanha ou da conta inteira.

4 endpoints
list_prospecting_files leitura Lista o catálogo de arquivos de prospecção — os materiais que o agente de prospecção pode oferecer e enviar aos leads, com o title, description, url e escopo de campanha de cada arquivo.

Como chamar

POST /rest/v1/tools/list_prospecting_files GET /rest/v1/call/list_prospecting_files

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

register_prospecting_file escrita Registra um arquivo no catálogo de arquivos de prospecção — os materiais que o agente de prospecção pode oferecer e ENVIAR AOS LEADS durante o contato (tabela de preços, apresentação institucional, guia de integração), via anexos de e-mail e documentos do WhatsApp. Forneça customer_file_id (um arquivo do cliente já enviado — preferido) ou uma url direta. Se nenhuma description for informada, uma é gerada automaticamente a partir do conteúdo do arquivo, para que o agente saiba quando enviá-lo. NÃO serve para o conhecimento do negócio a partir do qual o agente responde perguntas (register_business_file) nem para o guia personalizado gerado por IA por lead.

Como chamar

POST /rest/v1/tools/register_prospecting_file

Parâmetros

title string obrigatório Título curto voltado para o lead, ex.: 'Tabela de preços'
description string opcional O que o arquivo contém e quando enviá-lo a um lead (1 a 3 frases). Deixe em branco para gerar automaticamente a partir do conteúdo do arquivo.
customer_file_id integer opcional Id de um arquivo de cliente existente para registrar (preferível a uma url direta)
url string opcional URL pública direta do arquivo (alternativa a customer_file_id)
campaign string opcional Nome de campanha opcional para tornar o arquivo enviável APENAS para os leads dessa campanha. Deixe em branco para um arquivo válido para todo o cliente, enviável a qualquer lead.
sort_order integer opcional padrão 0 Ordem de exibição/prompt no catálogo (menor primeiro, padrão 0)
remove_prospecting_file destrutiva Remove um arquivo do catálogo de arquivos de prospecção para que o agente de prospecção pare de oferecê-lo e enviá-lo aos leads. Encontre o id com list_prospecting_files.

Como chamar

POST /rest/v1/tools/remove_prospecting_file

Parâmetros

prospecting_file_id integer obrigatório Id do arquivo de prospecção a ser removido
update_prospecting_file escrita Atualiza o título, a descrição, o escopo de campanha ou a ordem de exibição de um arquivo de prospecção. Encontre o id com list_prospecting_files. Para alterar o arquivo em si, remova a entrada e registre uma nova.

Como chamar

POST /rest/v1/tools/update_prospecting_file

Parâmetros

prospecting_file_id integer obrigatório Id do arquivo de prospecção a ser atualizado
title string opcional Novo título voltado ao lead
description string opcional Nova descrição do que o arquivo contém e de quando enviá-lo
campaign string opcional Nome da campanha à qual o arquivo deve ser vinculado, ou 'all' para torná-lo válido para todo o cliente
sort_order integer opcional Nova ordem de exibição/prompt no catálogo (menor primeiro)

Relatórios

Os números: relatório principal de prospecção, funil por setor e por estado, tendências de performance, performance das mensagens, estimativas de volume e um resumo narrativo do que mudou.

10 endpoints
estimate_lead_volume leitura Retorna um benchmark do que um cliente PAGO típico da Blue Button (e clientes pagos com um ICP semelhante) produz nos últimos 30 dias: novos leads encontrados, respostas confirmadas (conversas reais), leads interessados (quentes), e mensagens enviadas — cada um mostrado como um intervalo da mediana (cliente típico) até o topo (os mais ativos) por semana e por mês. Usuários somente do teste gratuito são excluídos. A ferramenta escolhe o benchmark mais relevante automaticamente — Similar (clientes pagos com sobreposição de CNAE) quando disponível, Global (todos os clientes pagos) caso contrário.

Como chamar

POST /rest/v1/tools/estimate_lead_volume GET /rest/v1/call/estimate_lead_volume

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

get_funnel_by_industry leitura Obtém uma divisão do funil por setor. Para clientes brasileiros, agrupa por divisão do CNAE. Para clientes internacionais, agrupa pelo campo CompanyIndustry dos dados da Apollo/Lusha. Opcionalmente, filtre por campanha.

Como chamar

POST /rest/v1/tools/get_funnel_by_industry GET /rest/v1/call/get_funnel_by_industry

Parâmetros

campaign string opcional Filtrar por nome da campanha ou campaign_id numérico (opcional, omita para o funil global)
get_funnel_timeline leitura Contagem de leads ENTRANDO em cada estágio do funil por bucket de tempo (dia ou semana). Estágios rastreados: cold (DateProspectingStarted), confirmed (DateConfirmedProspectingQualification), interested (DateConfirmedInterest), closed (DateStatusChanged enquanto o Status atual = Closed — APROXIMAÇÃO: um lead que esteve Closed e depois mudou para outro status não será contado, porque a plataforma não armazena histórico de status). Aware não é exposto — a plataforma não rastreia de forma confiável a entrada nesse estágio. Buckets ausentes preenchidos com zeros, do mais recente para o mais antigo. Opcionalmente, filtre por campanha.

Como chamar

POST /rest/v1/tools/get_funnel_timeline GET /rest/v1/call/get_funnel_timeline

Parâmetros

days integer opcional padrão 30 Número de dias para olhar para trás (padrão 30, máximo 365)
bucket string opcional padrão day Tamanho do bucket: 'day' (padrão) ou 'week' (alinhado à segunda-feira)
campaign string opcional Filtrar por nome da campanha ou campaign_id numérico (opcional, omita para a timeline global)
get_message_performance leitura Taxa de resposta detalhada por campanha e/ou tipo de mensagem em uma janela de tempo. Retorna total sent, replied (e-mails de saída distintos com pelo menos uma resposta), reply_rate_pct, além de um detalhamento. O formato do detalhamento depende de group_by: 'campaign' retorna uma linha por campanha (tipos de mensagem agrupados); 'type' retorna uma linha por tipo de mensagem (campanhas agrupadas); 'both' (padrão) retorna uma linha por combinação campanha×tipo (uma matriz — NÃO duas listas separadas — então espere até N_campaigns × N_types linhas). Tipos de mensagem: first_contact (AutonomousFirstTouch), follow_up (AutonomousFollowUp), response (AutonomousResponse a mensagens recebidas), direct (DirectMessage enviada em nome do usuário), user_written (UserWrittenMessage enviada manualmente pelo usuário). Padrão de 30 dias.

Como chamar

POST /rest/v1/tools/get_message_performance GET /rest/v1/call/get_message_performance

Parâmetros

days integer opcional padrão 30 Número de dias retroativos (padrão 30, máximo 365)
campaign string opcional Filtrar por nome da campanha ou campaign_id numérico (opcional, omita para todas as campanhas)
group_by string opcional padrão both Como agrupar o detalhamento: 'campaign', 'type', ou 'both' (padrão)
get_metrics_by_state_and_industry leitura Detalha cada métrica de prospecção por ESTADO brasileiro e por SETOR (descrição do CNAE) ao longo de uma janela de tempo, para que você possa comparar quais estados/setores estão performando melhor. Para cada dimensão, retorna os grupos principais por volume de leads — cada um com new_leads, emails_sent, responses, whatsapp_sent, whatsapp_responses, conscientizados, interested (tornou-se interested na janela), confirmed_aware_interested_or_takenover, referrals, e contagens de reuniões (convites feitos/recebidos, agendadas, realizadas) — além do grupo com melhor desempenho por categoria de métrica. Leads sem estado/CNAE caem em 'Não informado' e são excluídos das seleções de melhor desempenho. interested é contado por DateConfirmedInterest (o momento em que o lead converteu). Opcionalmente, filtre por campanha.

Como chamar

POST /rest/v1/tools/get_metrics_by_state_and_industry GET /rest/v1/call/get_metrics_by_state_and_industry

Parâmetros

days integer opcional padrão 30 Número de dias retroativos (padrão 30, máximo 365)
campaign string opcional Filtrar por nome da campanha ou campaign_id numérico (opcional, omita para a conta inteira)
get_prospecting_report leitura Obtenha um relatório geral de prospecção: total de leads, leads por status, e-mails enviados, taxa de resposta e resumo do pipeline. Também retorna atividade no WhatsApp: whatsapp_sent (mensagens de WhatsApp de prospecção enviadas), whatsapp_responses (respostas de WhatsApp recebidas, contadas separadamente das respostas por e-mail) e leads_talked_to_on_whatsapp (leads distintos com qualquer mensagem de WhatsApp em qualquer direção). Opcionalmente, filtre por campanha.

Como chamar

POST /rest/v1/tools/get_prospecting_report GET /rest/v1/call/get_prospecting_report

Parâmetros

campaign string opcional Filtra por nome da campanha ou campaign_id numérico (opcional, omita para relatório global)
get_whatsapp_message_performance leitura Desempenho de respostas de WhatsApp detalhado por campanha e/ou tipo de mensagem em uma janela de tempo. OBSERVAÇÃO: diferente de get_message_performance (e-mail), a taxa de resposta do WhatsApp é reportada no nível do LEAD — o WhatsApp de entrada não tem vínculo por mensagem com uma mensagem de saída específica, então 'replied' não pode ser atribuído por mensagem. Retorna total sent (contagem de mensagens), leads_messaged (leads distintos contatados), leads_replied (leads distintos que enviaram pelo menos uma mensagem de entrada em ou após sua primeira mensagem de saída daquele tipo na janela), lead_reply_rate_pct (leads_replied / leads_messaged), além de uma discriminação. group_by: 'campaign' (uma linha por campanha), 'type' (uma linha por tipo de mensagem), 'both' (padrão, matriz campaign×type). Tipos de mensagem: first_contact (AutonomousFirstTouch), follow_up (AutonomousFollowUp), response (AutonomousResponse), direct (DirectMessage), user_written (UserWrittenMessage). Padrão de 30 dias.

Como chamar

POST /rest/v1/tools/get_whatsapp_message_performance GET /rest/v1/call/get_whatsapp_message_performance

Parâmetros

days integer opcional padrão 30 Número de dias para olhar para trás (padrão 30, máximo 365)
campaign string opcional Filtra por nome da campanha ou campaign_id numérico (opcional, omita para todas as campanhas)
group_by string opcional padrão both Como agrupar o detalhamento: 'campaign', 'type', ou 'both' (padrão)
list_prospecting_optimizations leitura Lista o histórico de otimizações autônomas de prospecção em ordem cronológica reversa (mais recentes primeiro). Paginado. Cada entrada mostra quando o agente revisor de prospecção rodou e quais mudanças de segmentação/configuração ele fez e por quê. Opcionalmente, filtre por campanha.

Como chamar

POST /rest/v1/tools/list_prospecting_optimizations GET /rest/v1/call/list_prospecting_optimizations

Parâmetros

campaign string opcional Filtrar por nome da campanha ou campaign_id numérico (opcional, omita para todas as otimizações)
page integer opcional padrão 0 Número da página (baseado em 0, padrão 0)
page_size integer opcional padrão 20 Tamanho da página (padrão 20, máximo 100)
what_changed_since leitura Resumo completo do que aconteceu na operação de prospecção desde uma determinada data — criado para o caso 'fiquei ausente por meses, o que aconteceu?'. Blocos: (1) activity_summary — o trabalho bruto do motor na janela: new_leads, emails_sent, email_replies, whatsapp_sent, whatsapp_replies; (2) funnel_progress — leads que atingiram cada estágio na janela: reached_confirmed, became_interested; (3) new_interested_leads — os próprios leads interessados (até 100, mais total_count); (4) outcomes — negócios fechados na janela: won_count, lost_count, gave_up_count, total_deal_value_brl, e won_items; (5) meetings — contagens de agendadas, canceladas, realizadas e no_show na janela, mais items; (6) pending_human_review — o monte ATUAL de leads aguardando o dono da conta (uma captura instantânea ao vivo, NÃO limitada à janela): total_count mais items; (7) support_answered — solicitações de suporte respondidas pela equipe na janela (message + answer); (8) campaign_performance_changes — campanhas cuja taxa de resposta variou pelo menos 3 pontos percentuais (janela de 30 dias terminando em since_date vs since_date→now, ignorando janelas com menos de 50 enviados); (9) optimizer_adjustments — alterações do prospecting-optimizer persistidas desde essa data (limitadas a 500 itens; total_count/returned_count/truncated informam o total real). Todas as contagens com janela cobrem since_date→now; os timestamps estão em UTC.

Como chamar

POST /rest/v1/tools/what_changed_since GET /rest/v1/call/what_changed_since

Parâmetros

since_date string obrigatório Data ISO no formato YYYY-MM-DD (ex.: 2026-01-15)

Ligações

Faz uma ligação com objetivo definido para um lead, lê as ligações já realizadas e liga ou desliga as chamadas por conta ou por campanha.

7 endpoints
get_campaign_voice_calling_active leitura Lê o toggle de chamadas de voz de uma campanha. Um valor null significa que a campanha herda o toggle em nível de cliente.

Como chamar

POST /rest/v1/tools/get_campaign_voice_calling_active GET /rest/v1/call/get_campaign_voice_calling_active

Parâmetros

campaign string obrigatório Nome da campanha
get_voice_call leitura Obtenha o status e o resultado de uma chamada telefônica orientada a objetivo feita com place_goal_driven_call: status do ciclo de vida, se uma pessoa atendeu, se o objetivo foi alcançado, o resumo do resultado e a transcrição completa.

Como chamar

POST /rest/v1/tools/get_voice_call GET /rest/v1/call/get_voice_call

Parâmetros

voice_call_request_id integer obrigatório O voice_call_request_id retornado por place_goal_driven_call
get_voice_calling_active leitura Leia se as chamadas de voz de saída autônomas para leads estão ativas no nível do cliente.

Como chamar

POST /rest/v1/tools/get_voice_calling_active GET /rest/v1/call/get_voice_calling_active

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

list_voice_calls leitura Lista as ligações telefônicas orientadas a objetivo do cliente (mais recentes primeiro) com status e resumo do desfecho. Use get_voice_call para a transcrição completa de uma ligação.

Como chamar

POST /rest/v1/tools/list_voice_calls GET /rest/v1/call/list_voice_calls

Parâmetros

page integer opcional padrão 0 Número da página (baseado em 0, padrão 0)
page_size integer opcional padrão 20 Tamanho da página (padrão 20, máximo 100)
place_goal_driven_call escrita Faz uma ligação telefônica REAL para um número fornecido pelo cliente, para cumprir um objetivo declarado (por exemplo, 'ligue para este restaurante e pergunte se há mesa disponível hoje à noite'). Um assistente de voz em tempo real faz a ligação em segundo plano; isso apenas enfileira a solicitação — a ligação é feita pouco depois e não pode ser cancelada assim que a discagem começa. Faça polling de get_voice_call com o voice_call_request_id retornado para obter o resultado (status, goal_achieved, summary, transcript); o resultado também chega como uma notificação da plataforma.

Como chamar

POST /rest/v1/tools/place_goal_driven_call

Parâmetros

phone_number string obrigatório O número de telefone para ligar, em formato internacional, ex.: +5511999999999
goal string obrigatório O objetivo da ligação em linguagem simples e no idioma do cliente — exatamente o que deve ser realizado ou descoberto
context string opcional Histórico/contexto opcional: quem está sendo chamado e qualquer informação útil
set_campaign_voice_calling_active escrita Habilita ou desabilita ligações de voz ativas autônomas para uma campanha específica, sobrepondo a opção em nível de cliente apenas para essa campanha.

Como chamar

POST /rest/v1/tools/set_campaign_voice_calling_active

Parâmetros

campaign string obrigatório Nome da campanha
active boolean obrigatório True para ativar, false para desativar, para esta campanha
set_voice_calling_active escrita Habilita ou desabilita as chamadas de voz autônomas de saída para leads no nível do cliente. Independente da prospecção por e-mail.

Como chamar

POST /rest/v1/tools/set_voice_calling_active

Parâmetros

active boolean obrigatório True para ativar, false para desativar

Linha de WhatsApp

Cadastra e consulta a linha de WhatsApp de prospecção, define os tetos de custo mensal e diário e atualiza o perfil comercial.

6 endpoints
get_whatsapp_line leitura Obtenha a linha de prospecção de WhatsApp do cliente — a leitura única de status/diagnóstico: se está ativa/pronta para enviar, seu número, classificação de qualidade, perfil comercial completo do WhatsApp, o link pendente de cadastro em um clique da Meta (quando o cliente ainda precisa conectar sua WhatsApp Business Account), qualquer PROBLEMA DE SAÚDE ATIVO com a correção exata que o cliente deve aplicar (forma de pagamento, link de reconexão, restrição da Meta) e o gasto de WhatsApp no dia e no mês até o momento em relação aos limites de custo diário e mensal do cliente. Atualiza o snapshot ao vivo da Meta primeiro.

Como chamar

POST /rest/v1/tools/get_whatsapp_line GET /rest/v1/call/get_whatsapp_line

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

register_whatsapp_line escrita Registra uma linha dedicada de WhatsApp para prospecção (um número real de WhatsApp). O provisionamento é automático e leva alguns minutos. Se o cliente já tiver uma linha, retorna essa linha em vez de criar outra (uma linha por cliente). Requer um plano pago ativo que inclua prospecção por WhatsApp. Por padrão, a Eesier fornece um número novo; passe use_own_number=true quando o cliente quiser prospectar a partir do PRÓPRIO número de WhatsApp — nesse caso, ele recebe um link da Meta de um clique, cujo popup oficial conecta a WhatsApp Business Account dele (ou cria uma), permite escolher qual dos seus números usar, ou verifica um novo número na hora.

Como chamar

POST /rest/v1/tools/register_whatsapp_line

Parâmetros

use_own_number boolean opcional padrão false True quando o cliente quer usar o PRÓPRIO número de WhatsApp em vez de um novo fornecido pela Eesier. Padrão false.
set_whatsapp_daily_cost_cap escrita Define (ou remove) o limite diário de gastos com prospecção por WhatsApp do cliente, em BRL. A Meta cobra as taxas de conversas do WhatsApp diretamente na própria conta do cliente, então esse limite permite que o cliente decida o valor máximo que deseja gastar por dia. Quando o limite é atingido, as mensagens pagas de WhatsApp (que abrem conversa) são pausadas até o dia seguinte — respostas a leads que mandam mensagem primeiro continuam funcionando, e a prospecção por e-mail não é afetada. Passe 0 ou um valor negativo para remover o limite. O gasto atual e o limite ficam visíveis em get_whatsapp_line.

Como chamar

POST /rest/v1/tools/set_whatsapp_daily_cost_cap

Parâmetros

daily_cap_brl number obrigatório Gasto diário máximo com WhatsApp em BRL (ex.: 20.00). 0 ou negativo remove o limite.
set_whatsapp_line_profile_picture escrita Define a foto de perfil da linha de WhatsApp a partir de uma URL de imagem pública ou de um arquivo do cliente já enviado. JPG/PNG quadrado, com no mínimo 192x192, abaixo de 5MB. A linha já precisa estar ativa.

Como chamar

POST /rest/v1/tools/set_whatsapp_line_profile_picture

Parâmetros

image_url string opcional URL pública da imagem (JPG/PNG quadrada, >=192x192, <=5MB)
customer_file_id integer opcional Id de um arquivo do cliente já enviado para usar como a foto. Preferível quando o usuário enviou uma imagem.
set_whatsapp_monthly_cost_cap escrita Define (ou remove) o limite mensal de gastos com prospecção por WhatsApp do cliente, em BRL. A Meta cobra as taxas de conversas do WhatsApp diretamente na própria conta do cliente, então esse limite permite que o cliente decida o valor máximo que deseja gastar por mês civil. Quando o limite é atingido, as mensagens pagas de WhatsApp (que abrem conversa) são pausadas até o dia 1º do mês seguinte — respostas a leads que mandam mensagem primeiro continuam funcionando, e a prospecção por e-mail não é afetada. Passe 0 ou um valor negativo para remover o limite. O gasto atual e o limite ficam visíveis em get_whatsapp_line.

Como chamar

POST /rest/v1/tools/set_whatsapp_monthly_cost_cap

Parâmetros

monthly_cap_brl number obrigatório Gasto mensal máximo com WhatsApp em BRL (ex.: 150.00). 0 ou negativo remove o limite.
update_whatsapp_line_profile escrita Atualiza o perfil comercial da linha do WhatsApp. Somente os campos informados são alterados. A linha já deve estar ativa. O nome de exibição não é gerenciado aqui.

Como chamar

POST /rest/v1/tools/update_whatsapp_line_profile

Parâmetros

about string opcional Texto curto de 'sobre' (máx. 139 caracteres)
description string opcional Descrição do negócio (máx. 512 caracteres)
address string opcional Endereço comercial (rua)
email string opcional E-mail de contato comercial
websites string opcional URLs do site do negócio, separadas por vírgula (o WhatsApp exibe no máximo 2)
vertical string opcional Categoria do negócio (vertical do WhatsApp), ex.: PROF_SERVICES, RETAIL, EDU, HEALTH, FINANCE, RESTAURANT, OTHER

Perfil do negócio

O que a conta vende e para quem. Lê o perfil, lê a avaliação que o agente faz dele e reescreve.

3 endpoints
get_business leitura Retorna o perfil de negócio do cliente: nome, descrição, site, perfil de cliente ideal e URL de apresentação padrão.

Como chamar

POST /rest/v1/tools/get_business GET /rest/v1/call/get_business

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

get_business_assessment leitura Lê a última avaliação de fundamentos de negócio que o consultor interno do Blue Button registrou para este cliente: veredito, probabilidade de resultados, o JSON completo da avaliação, quando foi feita, e os exemplos conhecidos de clientes pagantes do cliente. Dados somente leitura — traga sua própria análise em cima disso; não há ferramenta para reexecutar a avaliação.

Como chamar

POST /rest/v1/tools/get_business_assessment GET /rest/v1/call/get_business_assessment

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

set_business escrita Atualiza o perfil de negócio do cliente. Passe apenas os campos que deseja alterar. Campos: business_name, business_description, business_website, ideal_customer_profile, paying_customer_examples. Para os arquivos que o agente de prospecção envia aos leads (apresentação, tabela de preços, ...), use as ferramentas de arquivo de prospecção (register_prospecting_file / list_prospecting_files).

Como chamar

POST /rest/v1/tools/set_business

Parâmetros

business_name string opcional Nome do negócio
business_description string opcional Descrição do negócio
business_website string opcional URL do site do negócio
ideal_customer_profile string opcional Texto do perfil de cliente ideal
paying_customer_examples string opcional Exemplos reais de clientes pagantes a partir dos quais o ICP e o consultor de negócios raciocinam

Arquivos do negócio

O material de referência que o agente lê para entender o negócio — cadastra, lista e remove.

3 endpoints
list_business_files leitura Liste os arquivos de conhecimento do negócio registrados para este cliente, com o estado de indexação e o escopo de campanha de cada arquivo.

Como chamar

POST /rest/v1/tools/list_business_files GET /rest/v1/call/list_business_files

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

register_business_file escrita Registra um texto (ou um arquivo do cliente já enviado) como conhecimento do negócio, para que os agentes de prospecção possam responder perguntas sobre o negócio (serviços, processos, preços, perguntas frequentes). O conteúdo é fragmentado + vetorizado em segundo plano e torna-se pesquisável em pouco tempo. Forneça text ou customer_file_id.

Como chamar

POST /rest/v1/tools/register_business_file

Parâmetros

title string obrigatório Título curto e descritivo, ex.: 'Tabela de preços 2026'
text string opcional Texto bruto para registrar como conhecimento do negócio (use quando o conteúdo foi colado diretamente)
customer_file_id integer opcional Id de um arquivo de cliente existente para registrar (encontre-o com list_business_files ou na lista de arquivos)
campaign string opcional Nome de campanha opcional para restringir este conhecimento a uma campanha. Deixe em branco para conhecimento em nível de cliente, compartilhado entre todas as campanhas.
remove_business_file destrutiva Remove um arquivo de conhecimento do negócio registrado e seus trechos indexados para que os agentes parem de responder com base nele. Encontre o id com list_business_files.

Como chamar

POST /rest/v1/tools/remove_business_file

Parâmetros

business_file_id integer obrigatório Id do arquivo de conhecimento da empresa a ser removido

Perguntas frequentes

As perguntas que os leads sempre fazem: o FAQ já respondido do negócio e as que continuam em aberto esperando resposta.

2 endpoints
list_business_faq leitura Liste o FAQ do negócio — todo par de pergunta e resposta que a plataforma acumulou sobre este negócio (cada resposta dada via answer_lead_question chega aqui, e os agentes de prospecção o utilizam para responder aos leads). Leia antes de perguntar ao usuário algo que já possa ter sido respondido.

Como chamar

POST /rest/v1/tools/list_business_faq GET /rest/v1/call/list_business_faq

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

list_open_lead_questions leitura Lista as perguntas que os LEADS fizeram e que o agente não conseguiu responder e que ainda estão aguardando a contribuição do dono do negócio. Loop de alto valor: apresente estas ao usuário, obtenha as respostas, depois registre cada uma via answer_lead_question (passando o open_question_id) — cada resposta melhora todas as conversas futuras com leads.

Como chamar

POST /rest/v1/tools/list_open_lead_questions GET /rest/v1/call/list_open_lead_questions

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

Sugestões

Pede para a plataforma montar a segmentação: um perfil de cliente ideal, ou os CNAEs a incluir e a excluir.

3 endpoints
generate_cnae_exclusion_suggestion leitura Gera códigos de exclusão de CNAE sugeridos com base em um perfil de cliente ideal e na descrição do negócio. Esses códigos identificam concorrentes e setores incompatíveis a excluir da prospecção. Funciona apenas para clientes brasileiros. Retorna os códigos sem salvar — use set_targeting para salvar.

Como chamar

POST /rest/v1/tools/generate_cnae_exclusion_suggestion GET /rest/v1/call/generate_cnae_exclusion_suggestion

Parâmetros

icp_text string opcional Texto do ICP para analisar. Se omitido, usa o ICP atual do cliente.
generate_cnae_suggestion leitura Gera códigos de inclusão de CNAE sugeridos com base em um perfil de cliente ideal. Os códigos CNAE são usados para direcionar setores específicos na prospecção de leads no Brasil. Funciona apenas para clientes brasileiros. Retorna os códigos sem salvar — use set_targeting para salvar.

Como chamar

POST /rest/v1/tools/generate_cnae_suggestion GET /rest/v1/call/generate_cnae_suggestion

Parâmetros

icp_text string opcional Texto do ICP para analisar. Se omitido, usa o ICP atual do cliente.
generate_icp_suggestion leitura Gera uma sugestão de perfil de cliente ideal (ICP) com base nas informações do negócio do cliente. Usa IA para analisar o negócio e sugerir quem são os clientes ideais. Retorna a sugestão sem salvá-la — use set_business para salvar.

Como chamar

POST /rest/v1/tools/generate_icp_suggestion GET /rest/v1/call/generate_icp_suggestion

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

Consultas de referência

Busca na base de conhecimento da própria plataforma antes de responder qualquer pergunta sobre como ela funciona, e resolve CNAEs e cidades.

3 endpoints
lookup_city leitura Consulta o código de uma cidade brasileira (código IBGE) a partir do nome da cidade. Funciona apenas para clientes brasileiros. Retorna as cidades correspondentes. Usado para filtros de prospecção baseados em cidade.

Como chamar

POST /rest/v1/tools/lookup_city GET /rest/v1/call/lookup_city

Parâmetros

city_name string obrigatório Nome da cidade a ser buscada (ex.: 'São Paulo', 'Curitiba')
lookup_cnae leitura Consulta o nome e a descrição de um código CNAE. CNAE (Classificação Nacional de Atividades Econômicas) é o sistema brasileiro de classificação de atividades econômicas. Funciona apenas para clientes brasileiros. Forneça um código para obter seu nome no nível de divisão (2 dígitos), grupo (3 dígitos), classe (5 dígitos) ou subclasse (7 dígitos).

Como chamar

POST /rest/v1/tools/lookup_cnae GET /rest/v1/call/lookup_cnae

Parâmetros

code string obrigatório Código CNAE (ex.: '62' para divisão de TI, '6201' para grupo de desenvolvimento de software, '6201501' para subclasse de desenvolvimento de software)
search_knowledge leitura Busca na base de conhecimento do Blue Button respostas oficiais sobre como a plataforma funciona — preços, planos, onboarding, capacidades de segmentação, envio de e-mail, assunção de controle, relatórios, privacidade, cancelamento, e toda outra pergunta específica da plataforma. Usa RAG semântico (similaridade de embeddings) sobre trechos de conhecimento curados, então a consulta pode ser uma pergunta em linguagem natural, uma palavra-chave, ou um tópico. SEMPRE chame esta ferramenta sempre que o usuário perguntar algo específico sobre o Blue Button — nunca improvise a partir de conhecimento geral. Retorna as melhores correspondências com título, conteúdo, e pontuação de similaridade.

Como chamar

POST /rest/v1/tools/search_knowledge GET /rest/v1/call/search_knowledge

Parâmetros

query string obrigatório Consulta em linguagem natural descrevendo o que o usuário quer saber sobre o Blue Button (ex.: 'quanto custa', 'posso segmentar por tamanho da empresa', 'o que acontece quando eu assumo um lead', 'prospecção internacional').
top_k integer opcional padrão 3 Número de melhores resultados a serem retornados. Padrão 3. Use um valor mais alto (até 10) quando a pergunta for ampla ou você quiser múltiplos ângulos.
min_score number opcional padrão 0.7 Limite mínimo de pontuação de similaridade (0.0–1.0). Padrão 0.7. Valores mais baixos retornam mais resultados, mas podem ser menos relevantes.

Lista de bloqueio

Nunca mais contatar: bloqueia e desbloqueia e-mails, domínios inteiros e telefones.

7 endpoints
add_blacklisted_domain escrita Adiciona um DOMÍNIO inteiro à lista negra. Todo e-mail nesse domínio (ex.: anyone@acme.com) é bloqueado. Não informe um endereço de e-mail completo — use add_blacklisted_email para isso.

Como chamar

POST /rest/v1/tools/add_blacklisted_domain

Parâmetros

domain string obrigatório O domínio a ser colocado na lista negra, por exemplo, 'acme.com'. Subdomínios não são incluídos automaticamente.
reason string opcional Motivo: Competitor, Client, ou Other
add_blacklisted_email escrita Adiciona um único endereço de e-mail à lista negra. E-mails na lista negra nunca recebem mensagens de prospecção. Para bloquear uma empresa inteira, use add_blacklisted_domain.

Como chamar

POST /rest/v1/tools/add_blacklisted_email

Parâmetros

email string obrigatório O endereço de e-mail a ser colocado na lista negra
reason string opcional Motivo: Competitor, Client, ou Other
add_blacklisted_phone escrita Adiciona um NÚMERO DE TELEFONE à lista negra. O número nunca recebe mensagem de WhatsApp nem chamada de voz. Os dígitos são mantidos e todo o restante é removido, então qualquer formatação é aceita.

Como chamar

POST /rest/v1/tools/add_blacklisted_phone

Parâmetros

phone string obrigatório O número de telefone a ser colocado na lista negra, em qualquer formato (por exemplo, '+55 11 99999-9999')
reason string opcional Motivo: Competitor, Client, ou Other
list_blacklisted_emails leitura Liste as entradas bloqueadas (e-mails individuais, domínios inteiros e números de telefone) com seu motivo e a contagem de quantas vezes foi bloqueado. Paginado — 'total' reporta o tamanho completo da lista.

Como chamar

POST /rest/v1/tools/list_blacklisted_emails GET /rest/v1/call/list_blacklisted_emails

Parâmetros

page integer opcional padrão 0 Número da página (baseado em 0, padrão 0)
page_size integer opcional padrão 50 Entradas por página (padrão 50, máximo 200)
remove_blacklisted_domain destrutiva Remove um DOMÍNIO inteiro da blacklist, permitindo que os endereços desse domínio voltem a receber mensagens de prospecção.

Como chamar

POST /rest/v1/tools/remove_blacklisted_domain

Parâmetros

domain string obrigatório O domínio a ser removido da blacklist, ex.: 'acme.com'
remove_blacklisted_email destrutiva Remove um único endereço de e-mail da blacklist, permitindo que ele volte a receber mensagens de prospecção.

Como chamar

POST /rest/v1/tools/remove_blacklisted_email

Parâmetros

email string obrigatório O endereço de e-mail a ser removido da blacklist
remove_blacklisted_phone destrutiva Remove um NÚMERO DE TELEFONE da blacklist, permitindo que ele volte a receber mensagens de WhatsApp e ligações de voz.

Como chamar

POST /rest/v1/tools/remove_blacklisted_phone

Parâmetros

phone string obrigatório O número de telefone a ser removido da blacklist, em qualquer formato

Configurações da conta

Fuso horário, nome do usuário, preferências, permissão de ligação, e-mails de notificação, configurações de envio, domínio remetente e dados fiscais.

15 endpoints
get_email_settings leitura Obtém as configurações de e-mail do Blue Button do cliente: o endereço completo, o handle, o nome de exibição e as instruções de notificação.

Como chamar

POST /rest/v1/tools/get_email_settings GET /rest/v1/call/get_email_settings

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

get_general_settings leitura Obtém as configurações gerais da conta do cliente: modo de voz, envio autônomo de mensagens, e-mail da conta e deslocamento de fuso horário.

Como chamar

POST /rest/v1/tools/get_general_settings GET /rest/v1/call/get_general_settings

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

get_notification_emails leitura Obtenha os endereços de e-mail atualmente configurados para notificações de prospecção autônoma e relatórios diários.

Como chamar

POST /rest/v1/tools/get_notification_emails GET /rest/v1/call/get_notification_emails

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

lookup_municipality_code leitura Consulta o código IBGE de 7 dígitos do município para uma cidade brasileira. Retorna todas as correspondências quando a cidade existe em mais de um estado. Use antes de update_tax_info.

Como chamar

POST /rest/v1/tools/lookup_municipality_code GET /rest/v1/call/lookup_municipality_code

Parâmetros

city_name string obrigatório Nome da cidade brasileira (não diferencia acentos)
state string opcional Estado opcional — UF de 2 letras (RS, SP...) ou nome completo em português — para desambiguar
set_agent_phone_call_permission escrita Obtém ou define se o agente pode fazer ligações telefônicas ativas para o cliente. Omita 'enabled' para ler o valor atual; passe true/false para alterá-lo.

Como chamar

POST /rest/v1/tools/set_agent_phone_call_permission

Parâmetros

enabled boolean opcional True para permitir chamadas, false para bloquear. Omita para apenas ler o valor atual.
set_email_notification_instructions escrita Define as regras em texto livre que decidem quais e-mails recebidos merecem uma notificação imediata ao cliente. Passe uma string vazia para limpá-las e voltar ao comportamento padrão.

Como chamar

POST /rest/v1/tools/set_email_notification_instructions

Parâmetros

instructions string obrigatório Regras que descrevem quais emails recebidos merecem um aviso imediato (vazio para limpar)
set_personal_email escrita Define o próprio endereço de e-mail pessoal da conta — o único endereço vinculado à própria conta, distinto da lista de e-mails de notificação de prospecção separada por vírgulas, gerenciada por update_notification_emails.

Como chamar

POST /rest/v1/tools/set_personal_email

Parâmetros

email string obrigatório O endereço de e-mail pessoal do proprietário da conta
set_timezone escrita Define o fuso horário do cliente informando ao agente a hora local atual (0-23, formato 24h). O deslocamento é calculado a partir de UTC.

Como chamar

POST /rest/v1/tools/set_timezone

Parâmetros

current_hour integer obrigatório Parte da hora do horário local atual do cliente, 0-23 (formato 24h)
setup_custom_domain escrita Configura, verifica ou remove um endereço de e-mail com domínio personalizado (ex.: sales@yourcompany.com). Requer um plano pago ativo. action: 'activate' (precisa de email_address), 'verify', ou 'remove'.

Como chamar

POST /rest/v1/tools/setup_custom_domain

Parâmetros

action string obrigatório 'activate' para definir um novo e-mail personalizado, 'verify' para verificar o DNS, 'remove' para removê-lo
email_address string opcional O endereço de e-mail personalizado completo, ex.: 'sales@yourcompany.com'. Obrigatório para 'activate'.
setup_email_subdomain escrita Configura ou verifica um subdomínio de e-mail personalizado (ex.: yourcompany.eesiermail.com). Requer um plano pago ativo. action: 'activate' (precisa de subdomain) ou 'verify'.

Como chamar

POST /rest/v1/tools/setup_email_subdomain

Parâmetros

action string obrigatório 'activate' para definir um novo subdomínio, 'verify' para verificar o status de verificação do DNS
subdomain string opcional O nome do subdomínio, ex.: 'mycompany'. Obrigatório para 'activate'.
update_email_settings escrita Atualiza o handle de e-mail do Blue Button (a parte antes do @, no máximo 20 caracteres, único) e/ou o nome de exibição mostrado nos e-mails enviados. Passe pelo menos um campo.

Como chamar

POST /rest/v1/tools/update_email_settings

Parâmetros

handle string opcional Novo handle de e-mail (minúsculo, sem espaços, máx. 20 caracteres). Acentos/caracteres inválidos são removidos.
display_name string opcional Novo nome de exibição para e-mails enviados (o nome 'De' que os destinatários veem)
update_notification_emails escrita Define o(s) endereço(s) de e-mail para notificações de prospecção autônoma e relatórios diários (separados por vírgula). O primeiro endereço também se torna o e-mail da conta.

Como chamar

POST /rest/v1/tools/update_notification_emails

Parâmetros

emails string obrigatório Endereço(s) de email para notificações, separados por vírgula
update_preferences escrita Atualiza as preferências do cliente: idioma, se o negócio deve ser exibido no site do Blue Button, e notificações push. Informe pelo menos um campo.

Como chamar

POST /rest/v1/tools/update_preferences

Parâmetros

language_key string opcional Chave de idioma, ex.: pt-BR, en-US, es-AR
show_on_website boolean opcional Se a empresa deve ser exibida no site do Blue Button
push_notifications boolean opcional Se as notificações push (console) estão ativadas
update_tax_info escrita Atualiza as informações fiscais/de nota fiscal. Informe os campos que precisam ser atualizados. O documento fiscal deve ser CPF (11 dígitos) ou CNPJ (14 dígitos); o CEP deve ter 8 dígitos; o código do município deve ser um código IBGE válido de 7 dígitos (use lookup_municipality_code primeiro).

Como chamar

POST /rest/v1/tools/update_tax_info

Parâmetros

tax_name string opcional Nome registrado para fins fiscais (empresa ou pessoa)
tax_document string opcional Documento fiscal, somente dígitos: CPF (11) ou CNPJ (14)
street string opcional Nome da rua
number string opcional Número do endereço
neighborhood string opcional Bairro
cep string opcional Código postal (CEP, 8 dígitos)
municipality_code integer opcional Código de município do IBGE (7 dígitos)
update_user_name escrita Atualiza o nome de exibição do cliente.

Como chamar

POST /rest/v1/tools/update_user_name

Parâmetros

name string obrigatório O novo nome do cliente

Membros da equipe

Quem mais está na conta — adiciona, lista e remove membros.

3 endpoints
add_member escrita Adiciona outra pessoa (um número de telefone adicional) a esta conta. Ela recebe sua própria conversa com o agente, mas com acesso total compartilhado à mesma empresa, configurações e prospecção. Falha se o número de telefone já pertencer a alguma conta.

Como chamar

POST /rest/v1/tools/add_member

Parâmetros

name string obrigatório O nome da pessoa
phone_number string obrigatório O número de telefone da pessoa em formato internacional, por exemplo, +5511999999999
email string opcional E-mail opcional — quando definido, a pessoa recebe cópias das notificações por e-mail (e-mails de lead interessado/confirmado)
list_members leitura Lista todos nesta conta: o proprietário da conta mais quaisquer pessoas adicionais que tenham sido adicionadas.

Como chamar

POST /rest/v1/tools/list_members GET /rest/v1/call/list_members

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

remove_member destrutiva Remove uma pessoa adicional desta conta, identificada por nome ou número de telefone. O proprietário da conta não pode ser removido.

Como chamar

POST /rest/v1/tools/remove_member

Parâmetros

name_or_phone string obrigatório O nome ou número de telefone da pessoa a ser removida

Tokens de acesso

Gerencia os tokens que autenticam esta conexão: lista, cria um novo, revoga.

3 endpoints
generate_mcp_token escrita Cria um novo token de acesso MCP para esta conta. O valor do token é retornado UMA VEZ e nunca mais — repasse-o imediatamente para quem chamou e diga para armazená-lo com segurança.

Como chamar

POST /rest/v1/tools/generate_mcp_token

Parâmetros

label string opcional Um rótulo curto nomeando o que vai usar esse token, por exemplo 'n8n workflow'
list_mcp_tokens leitura Lista os tokens de acesso MCP da conta. Os valores dos tokens em si nunca são retornados — apenas o id, o label, a data de criação, a data de último uso e se o token foi revogado.

Como chamar

POST /rest/v1/tools/list_mcp_tokens GET /rest/v1/call/list_mcp_tokens

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

revoke_mcp_token destrutiva Revoga um token de acesso MCP para que ele não possa mais se conectar. Use list_mcp_tokens para encontrar o token_id. Revogar o token com o qual quem está chamando está atualmente autenticado encerra imediatamente o próprio acesso.

Como chamar

POST /rest/v1/tools/revoke_mcp_token

Parâmetros

token_id integer obrigatório O id do token a ser revogado, obtido em list_mcp_tokens

Eventos e webhooks

O feed de eventos da conta com cursor, mais as assinaturas de webhook de saída — cria, lista, testa e remove.

5 endpoints
create_webhook_subscription escrita Registra um endpoint de webhook HTTPS que recebe eventos da conta conforme eles acontecem (POSTs assinados) — para sistemas de automação que o cliente executa (apps do Agent SDK, n8n, Zapier, backends personalizados). O segredo de assinatura é retornado UMA VEZ nesta resposta — armazene-o com segurança. Observação: isso NÃO envia para esta sessão MCP; agentes que só conseguem fazer polling devem usar list_account_events.

Como chamar

POST /rest/v1/tools/create_webhook_subscription

Parâmetros

url string obrigatório O endpoint HTTPS para o qual os eventos serão enviados via POST
event_types string opcional Tipos de evento separados por vírgula a serem entregues (opcional; padrão = todos). Mesmos valores de list_account_events.
description string opcional Um rótulo curto para esta assinatura (ex.: 'meu fluxo n8n')
delete_webhook_subscription destrutiva Exclui uma assinatura de webhook — as entregas para seu endpoint param imediatamente. Irreversível (crie uma nova assinatura para retomar; ela receberá um novo segredo).

Como chamar

POST /rest/v1/tools/delete_webhook_subscription

Parâmetros

subscription_id integer obrigatório ID da assinatura (de list_webhook_subscriptions)
list_account_events leitura Faça polling no feed de eventos da conta — novas respostas de leads (e-mail/WhatsApp), leads sinalizados para revisão, leads se tornando interested/confirmed, reuniões marcadas/canceladas, chamadas de voz finalizadas, importações finalizadas, suporte respondido. Paginado por cursor: passe o next_cursor da chamada anterior para obter apenas o que aconteceu desde então. Isso é sobre ATIVIDADE DA CONTA — não eventos de calendário (list_calendar_events / list_calendly_upcoming_events) e não o histórico de um lead (list_lead_lifecycle_events).

Como chamar

POST /rest/v1/tools/list_account_events GET /rest/v1/call/list_account_events

Parâmetros

since_cursor integer opcional padrão 0 Retorna somente eventos com id maior que este valor (0 = desde o início do feed). Use o next_cursor da chamada anterior.
event_types string opcional Tipos de evento separados por vírgula para incluir (opcional; padrão = todos). Válidos: lead_replied_email, lead_replied_whatsapp, lead_sent_for_human_review, lead_became_interested, lead_confirmed, meeting_booked, meeting_cancelled, voice_call_finished, import_finished, support_request_answered
limit integer opcional padrão 50 Máximo de eventos a retornar (padrão 50, máximo 200)
list_webhook_subscriptions leitura Lista as assinaturas de webhook da conta com a saúde de entrega (último sucesso/falha, falhas consecutivas, estado desabilitado). Os secrets nunca são exibidos novamente.

Como chamar

POST /rest/v1/tools/list_webhook_subscriptions GET /rest/v1/call/list_webhook_subscriptions

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

test_webhook_subscription escrita Envia um evento de teste 'ping' assinado para o endpoint de uma assinatura de webhook, para que o cliente possa verificar o receptor e a checagem de assinatura. O resultado da entrega aparece em list_webhook_subscriptions (date_last_success / last_failure_reason) em cerca de 1 minuto.

Como chamar

POST /rest/v1/tools/test_webhook_subscription

Parâmetros

subscription_id integer obrigatório ID da assinatura (de list_webhook_subscriptions)

Integrações de CRM

Conecta e desconecta um CRM, consulta o status de sincronização, força uma nova sincronização, mapeia campos personalizados e gerencia as integrações Apollo, Lusha e RD Station.

10 endpoints
connect_crm escrita Conecta uma integração de CRM. Cada CRM precisa de credenciais diferentes: Pipedrive (api_key), RdStation (marketing_api_key e/ou crm_token), HubSpot (access_token), Odoo (url + database + username + api_key), Omie (app_key + app_secret), Agendor/ExactSales/Piperun/Venttra (api_token), SystemeIo (api_key). Requer um plano pago ativo. A credencial é VERIFICADA AO VIVO junto ao provedor antes de ser armazenada (uma chave inválida retorna um erro e nada é armazenado); o campo 'verified' da resposta indica se a verificação foi possível — ExactSales, Piperun, Venttra e a chave marketing do RdStation são APIs somente de escrita e são armazenadas sem verificação.

Como chamar

POST /rest/v1/tools/connect_crm

Parâmetros

crm_name string obrigatório Nome do CRM: Pipedrive, RdStation, HubSpot, Odoo, Omie, Agendor, ExactSales, Piperun, SystemeIo, Venttra
api_key string opcional Chave de API (Pipedrive, Odoo, SystemeIo)
api_token string opcional Token de API (Agendor, ExactSales, Piperun, Venttra)
access_token string opcional Token de acesso (HubSpot)
url string opcional URL (Odoo)
database string opcional Nome do banco de dados (Odoo)
username string opcional Nome de usuário (Odoo)
app_key string opcional Chave do app (Omie)
app_secret string opcional Segredo do app (Omie)
marketing_api_key string opcional Chave de API de marketing (RdStation)
crm_token string opcional Token do CRM (RdStation)
pipeline_id integer opcional ID do pipeline em que os negócios são criados (Pipedrive)
funnel_id integer opcional Id do funil em que os negócios são criados (Agendor)
disconnect_crm destrutiva Desconecta uma integração de CRM limpando suas credenciais.

Como chamar

POST /rest/v1/tools/disconnect_crm

Parâmetros

crm_name string obrigatório Nome do CRM: Pipedrive, RdStation, HubSpot, Odoo, Omie, Agendor, ExactSales, Piperun, SystemeIo, Venttra
get_crm_sync_status leitura Mostra quantos leads foram sincronizados com cada CRM conectado: contagens de synced, pending e stuck, o horário da última sincronização, e alguns nomes de leads sincronizados recentemente.

Como chamar

POST /rest/v1/tools/get_crm_sync_status GET /rest/v1/call/get_crm_sync_status

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

list_crm_integrations leitura Liste todas as integrações de CRM com seu status de conexão, o filtro de status mínimo de lead para sincronização com o CRM e os campos personalizados configurados.

Como chamar

POST /rest/v1/tools/list_crm_integrations GET /rest/v1/call/list_crm_integrations

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

manage_apollo_integration escrita Conecta ou desconecta a integração da fonte de leads Apollo. Requer um plano pago ativo. action: 'connect' (precisa de api_key) ou 'disconnect'. A api_key é verificada em tempo real junto à Apollo antes de ser armazenada — uma chave inválida retorna um erro e não armazena nada.

Como chamar

POST /rest/v1/tools/manage_apollo_integration

Parâmetros

action string obrigatório Ação: connect ou disconnect
api_key string opcional Chave de API do Apollo (obrigatória para connect)
list_id string opcional Id da lista do Apollo para sincronizar leads (opcional)
manage_crm_custom_fields escrita Gerencia campos personalizados enviados com cada lead para as integrações de CRM. action: 'list', 'add' (precisa de field_name + field_value) ou 'remove' (precisa de field_id).

Como chamar

POST /rest/v1/tools/manage_crm_custom_fields

Parâmetros

action string obrigatório Ação: list, add, ou remove
field_name string opcional Nome do campo (obrigatório para 'add')
field_value string opcional Valor do campo (obrigatório para 'add')
field_id integer opcional Id do campo (obrigatório para 'remove')
manage_lusha_integration escrita Conecta ou desconecta a integração da fonte de leads Lusha. Requer um plano pago ativo. action: 'connect' (precisa de api_key) ou 'disconnect'. A api_key é verificada em tempo real junto à Lusha antes de ser armazenada — uma chave inválida retorna um erro e não armazena nada.

Como chamar

POST /rest/v1/tools/manage_lusha_integration

Parâmetros

action string obrigatório Ação: connect ou disconnect
api_key string opcional Chave de API do Lusha (obrigatória para connect)
list_id string opcional ID da lista do Lusha para sincronizar leads (opcional)
manage_rd_station_crm_lead_source escrita Ativa ou desativa a importação de contatos do RD Station CRM como leads de prospecção. Requer um plano pago ativo e que o token do RD Station CRM já esteja conectado (use connect_crm). action: 'enable' (opcionalmente delimitado por pipeline_id e deal_stage_id para que apenas contatos vinculados a negócios ali sejam importados) ou 'disable'. Ativar verifica em tempo real o token armazenado junto ao RD Station CRM antes. Não afeta a sincronização de saída de leads para o CRM.

Como chamar

POST /rest/v1/tools/manage_rd_station_crm_lead_source

Parâmetros

action string obrigatório Ação: enable ou disable
pipeline_id string opcional ID do pipeline de negócios do RD Station CRM para limitar a importação (opcional; omita para importar todos os contatos)
deal_stage_id string opcional ID da etapa do negócio do RD Station CRM dentro do pipeline para limitar a importação (opcional; requer pipeline_id)
resync_crm_leads escrita Recoloca manualmente na fila os leads elegíveis que ainda não foram enviados ao CRM para que a sincronização em segundo plano tente novamente. Leads já sincronizados nunca são reenviados (sem duplicatas). O envio acontece em segundo plano em poucos minutos.

Como chamar

POST /rest/v1/tools/resync_crm_leads

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

update_crm_minimum_status escrita Define o status mínimo do lead exigido antes de o lead ser sincronizado com o CRM (Pending, Cold, Confirmed, Aware, NotInterested, Interested). Omita 'status' para limpar o filtro e sincronizar todos os leads.

Como chamar

POST /rest/v1/tools/update_crm_minimum_status

Parâmetros

status string opcional Status mínimo do lead para sincronização com o CRM. Omitir para sincronizar todos os leads.

Calendly

Conecta o Calendly, escolhe o tipo de evento em que os leads são agendados e lê os próximos agendamentos.

7 endpoints
disconnect_calendly destrutiva Desconecta a conta do Calendly do cliente: exclui a assinatura de webhook do lado do Calendly, revoga o token de acesso e limpa todos os campos armazenados do Calendly. Passe user_has_confirmed=true somente quando o usuário tiver confirmado explicitamente que deseja desconectar.

Como chamar

POST /rest/v1/tools/disconnect_calendly

Parâmetros

user_has_confirmed boolean obrigatório Deve ser true — o agente precisa ter confirmação explícita do usuário antes de desconectar.
get_calendly_connection_url leitura Retorna a URL em que o usuário deve clicar para conectar a conta do Calendly ao Eesier. Compartilhe essa URL com o usuário — ele a abre, faz login no Calendly, clica em Authorize, e a conexão é estabelecida no lado do servidor. Depois que o usuário concluir o fluxo, chame get_calendly_status novamente para confirmar. Idempotente: retorna a mesma URL independentemente de o Calendly já estar conectado ou não (para que o usuário possa reconectar com uma conta diferente).

Como chamar

POST /rest/v1/tools/get_calendly_connection_url GET /rest/v1/call/get_calendly_connection_url

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

get_calendly_event leitura Retorna os detalhes completos de um evento agendado específico do Calendly, incluindo a lista de convidados com seus nomes, e-mails, status, e quaisquer respostas que tenham dado às perguntas de agendamento. Use isso para perguntas de acompanhamento sobre uma reunião específica depois de list_calendly_upcoming_events.

Como chamar

POST /rest/v1/tools/get_calendly_event GET /rest/v1/call/get_calendly_event

Parâmetros

event_uri string obrigatório URI completa do evento agendado do Calendly (por exemplo 'https://api.calendly.com/scheduled_events/<uuid>'). Obtenha em list_calendly_upcoming_events.
get_calendly_status leitura Retorna o status atual da conexão do Calendly para o cliente: se o OAuth está conectado, o e-mail da conta do Calendly conectada, e qual tipo de evento (se houver) está selecionado como padrão para os links de prospecção.

Como chamar

POST /rest/v1/tools/get_calendly_status GET /rest/v1/call/get_calendly_status

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

list_calendly_event_types leitura Lista todos os tipos de evento ativos na conta Calendly do cliente (ex.: '15-min intro call', '30-min consultation'). Cada entrada inclui uri (use isto ao chamar set_calendly_default_event_type), name, slug, duration_minutes, scheduling_url e is_default. Obrigatório: o Calendly deve estar conectado primeiro.

Como chamar

POST /rest/v1/tools/list_calendly_event_types GET /rest/v1/call/list_calendly_event_types

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

list_calendly_upcoming_events leitura Lista os eventos do Calendly agendados no calendário do cliente dentro de um intervalo de datas. Use isto para pedidos no estilo 'o que tenho na minha agenda' / 'tenho alguma reunião amanhã'. Os `start_utc`/`end_utc` retornados vêm em UTC — obtenha `timezone_offset_utc_hours` de `whoami` e converta antes de mostrá-los ao usuário. O Calendly impõe um intervalo máximo de 100 dias.

Como chamar

POST /rest/v1/tools/list_calendly_upcoming_events GET /rest/v1/call/list_calendly_upcoming_events

Parâmetros

start_date string opcional Início da janela no formato YYYY-MM-DD (UTC, inclusive). O padrão é a data UTC de hoje, se omitido.
end_date string opcional Fim da janela no formato YYYY-MM-DD (UTC, INCLUSIVE — eventos em qualquer horário deste dia são retornados). O padrão é 7 dias após start_date.
status string opcional padrão active Filtro de status: 'active' (padrão — reservas confirmadas) ou 'canceled'.
set_calendly_default_event_type escrita Define o tipo de evento padrão do Calendly. O padrão é o tipo de evento que o Blue Button usa ao gerar links de agendamento dentro das conversas com leads. Passe event_type_uri (preferido — obtenha-o com list_calendly_event_types) ou event_type_name (correspondência aproximada com os tipos de evento ativos). Passe event_type_uri vazio para limpar o padrão.

Como chamar

POST /rest/v1/tools/set_calendly_default_event_type

Parâmetros

event_type_uri string opcional URI completa do tipo de evento do Calendly (preferencial). Passe uma string vazia para limpar o padrão atual.
event_type_name string opcional Ou o nome de exibição do tipo de evento — comparado por correspondência aproximada com os tipos de evento ativos do cliente. Usado apenas quando event_type_uri não é fornecido.

Google Agenda

Conecta o Google Agenda e mexe na agenda: lista, cria, atualiza, exclui e responde a eventos.

6 endpoints
create_calendar_event escrita Cria um evento no Google Calendar. Os horários são em UTC — converta o horário local do cliente usando timezone_offset_utc_hours de whoami ANTES de chamar. Retorna o id do evento e um link do Meet quando um foi gerado.

Como chamar

POST /rest/v1/tools/create_calendar_event

Parâmetros

summary string obrigatório Título do evento
start_utc string obrigatório Início do evento em UTC, formato ISO (ex: 2026-07-10T14:00:00Z)
end_utc string obrigatório Término do evento em UTC, formato ISO
attendees string opcional E-mails dos participantes separados por vírgula
calendar_id string opcional padrão primary ID do calendário (padrão 'primary')
delete_calendar_event destrutiva Exclui um evento do Google Calendar. Isso cancela o evento para todos os participantes e não pode ser desfeito.

Como chamar

POST /rest/v1/tools/delete_calendar_event

Parâmetros

event_id string obrigatório ID do evento do calendário
calendar_id string opcional padrão primary ID do calendário (padrão 'primary')
get_google_connection_url leitura Obtém a URL do OAuth para o cliente conectar a conta do Google (necessária para as ferramentas do Google Calendar). Compartilhe a URL com o usuário; a conexão é concluída no lado do servidor depois que ele autorizar. Idempotente — também funciona para reconectar.

Como chamar

POST /rest/v1/tools/get_google_connection_url GET /rest/v1/call/get_google_connection_url

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

list_calendar_events leitura Liste os eventos do Google Calendar do cliente para um dia do calendário (UTC). Retorna start/end no formato ISO UTC.

Como chamar

POST /rest/v1/tools/list_calendar_events GET /rest/v1/call/list_calendar_events

Parâmetros

date string obrigatório O dia a ser listado, yyyy-MM-dd (interpretado em UTC)
calendar_id string opcional padrão primary ID do calendário (padrão 'primary')
respond_calendar_event escrita Aceita ou recusa um convite de evento do Google Calendar em nome do cliente.

Como chamar

POST /rest/v1/tools/respond_calendar_event

Parâmetros

event_id string obrigatório ID do evento do calendário
accept boolean obrigatório true para aceitar o convite, false para recusar
calendar_id string opcional padrão primary ID do calendário (padrão 'primary')
update_calendar_event escrita Atualiza um evento do Google Calendar (título, horários, participantes). Passe apenas os campos a alterar. Os horários estão em UTC.

Como chamar

POST /rest/v1/tools/update_calendar_event

Parâmetros

event_id string obrigatório ID do evento do calendário
summary string opcional Novo título do evento
start_utc string opcional Novo horário de início em UTC, formato ISO
end_utc string opcional Novo horário de término em UTC, formato ISO
attendees string opcional Novos e-mails dos participantes, separados por vírgula (substitui a lista atual)
calendar_id string opcional padrão primary ID do calendário (padrão 'primary')

Google Ads

O lado pago: campanhas, orçamentos, faturamento, relatórios de performance, diagnóstico, grupos de anúncios, palavras-chave, negativas, anúncios de busca e públicos.

18 endpoints
add_google_ads_keywords escrita Adiciona palavras-chave a um grupo de anúncios em uma campanha do Google Ads. Uma palavra-chave por linha no parâmetro keywords (as palavras-chave podem conter vírgulas). match_type: Broad, Phrase ou Exact (padrão Broad).

Como chamar

POST /rest/v1/tools/add_google_ads_keywords

Parâmetros

campaign string obrigatório O nome ou id da campanha
ad_group_id integer obrigatório O id do grupo de anúncios (de list_google_ads_ad_groups)
keywords string obrigatório As palavras-chave a serem adicionadas, UMA POR LINHA
match_type string opcional Tipo de correspondência: Broad (padrão), Phrase, ou Exact
add_google_ads_negative_keywords escrita Adiciona palavras-chave negativas EM NÍVEL DE CAMPANHA a uma campanha do Google Ads (buscas por esses termos nunca acionarão anúncios). Uma palavra-chave por linha. match_type: Broad (padrão), Phrase ou Exact.

Como chamar

POST /rest/v1/tools/add_google_ads_negative_keywords

Parâmetros

campaign string obrigatório O nome ou id da campanha
keywords string obrigatório As palavras-chave negativas a serem adicionadas, UMA POR LINHA
match_type string opcional Tipo de correspondência: Broad (padrão), Phrase, ou Exact
create_google_ads_campaign_draft escrita Cria uma NOVA campanha do Google Ads como RASCUNHO. Ela NÃO veicula até que o cliente recarregue seu saldo através do recharge_url do console retornado — compartilhe esse link e nunca afirme que a campanha está no ar. channel_type: Search (padrão) ou PerformanceMax (recomende o PMax somente depois que uma campanha Search tiver dados reais de conversão).

Como chamar

POST /rest/v1/tools/create_google_ads_campaign_draft

Parâmetros

name string obrigatório O nome da campanha como aparecerá no Google Ads
daily_budget_brl number obrigatório Orçamento diário em BRL (positivo, ex.: 20)
channel_type string opcional Tipo de canal: Search (padrão) ou PerformanceMax
create_google_ads_search_ad escrita Cria um Responsive Search Ad em um grupo de anúncios de uma campanha do Google Ads. Títulos com no máximo 30 caracteres cada, descrições com no máximo 90 caracteres cada — UM POR LINHA. Forneça pelo menos 3 títulos e 2 descrições.

Como chamar

POST /rest/v1/tools/create_google_ads_search_ad

Parâmetros

campaign string obrigatório O nome ou id da campanha
ad_group_id integer obrigatório O id do grupo de anúncios (de list_google_ads_ad_groups)
final_url string obrigatório A URL da página de destino para a qual o anúncio direciona
headlines string obrigatório Os títulos do anúncio, UM POR LINHA, máximo de 30 caracteres cada
descriptions string obrigatório As descrições do anúncio, UMA POR LINHA, máximo de 90 caracteres cada
diagnose_google_ads_campaign leitura Diagnostica por que uma campanha do Google Ads está (ou não está) veiculando: status de veiculação ao vivo, status primário com motivos, e status de aprovação/revisão por anúncio.

Como chamar

POST /rest/v1/tools/diagnose_google_ads_campaign GET /rest/v1/call/diagnose_google_ads_campaign

Parâmetros

campaign string obrigatório O nome ou id da campanha
get_google_ads_audience_status leitura Obtém o status do público do Customer Match de uma campanha do Google Ads: quantos e-mails estavam no último upload, quando, e se a lista está anexada.

Como chamar

POST /rest/v1/tools/get_google_ads_audience_status GET /rest/v1/call/get_google_ads_audience_status

Parâmetros

campaign string obrigatório O nome ou id da campanha
get_google_ads_billing leitura Lê os dados de cobrança/financiamento do Google Ads da conta de uma campanha. section: AccountInfo, AccountBudgets, BillingSetups, Proposals, Invoices (precisa de year+month), ou CampaignBudgets.

Como chamar

POST /rest/v1/tools/get_google_ads_billing GET /rest/v1/call/get_google_ads_billing

Parâmetros

campaign string obrigatório O nome ou id da campanha
section string obrigatório Seção: AccountInfo, AccountBudgets, BillingSetups, Proposals, Invoices, CampaignBudgets
year integer opcional Ano de emissão da fatura (somente Invoices)
month integer opcional Mês de emissão da fatura 1-12 (somente Invoices)
get_google_ads_campaign leitura Obtém o detalhe completo de uma campanha do Google Ads: status do ciclo de vida, motivo da suspensão, saldo de financiamento, o snapshot de desempenho armazenado (spend, impressions, clicks, conversions, CTR, CPC), e o link de gerenciamento/recarga do console. Passe o nome ou o id da campanha.

Como chamar

POST /rest/v1/tools/get_google_ads_campaign GET /rest/v1/call/get_google_ads_campaign

Parâmetros

campaign string obrigatório O nome ou id da campanha (de list_google_ads_campaigns)
get_google_ads_keyword_ideas leitura Obtém ideias de palavras-chave com volume de busca do Keyword Planner do Google para uma campanha. Forneça palavras-chave semente (uma por linha) e/ou uma URL de página para extrair ideias.

Como chamar

POST /rest/v1/tools/get_google_ads_keyword_ideas GET /rest/v1/call/get_google_ads_keyword_ideas

Parâmetros

campaign string obrigatório O nome ou id da campanha
seed_keywords string opcional Palavras-chave iniciais, UMA POR LINHA
page_url string opcional Uma URL de página para extrair ideias de palavras-chave
max_results integer opcional padrão 50 Número máximo de resultados (padrão 50)
get_google_ads_performance_report leitura Extrai um relatório de desempenho AO VIVO do Google Ads para uma campanha. report_type: Campaign (totais), AdGroup, Keyword (com pontuação de qualidade), Ad, SearchTerms (o que os usuários realmente pesquisaram), Daily, Device, Conversion, ImpressionShare (parcela de impressões + % perdida por orçamento vs. classificação), AdAssets (rótulos LOW/GOOD/BEST por título/descrição), Hourly, Geographic, Demographics. Custos em BRL.

Como chamar

POST /rest/v1/tools/get_google_ads_performance_report GET /rest/v1/call/get_google_ads_performance_report

Parâmetros

campaign string obrigatório O nome ou id da campanha
report_type string obrigatório Tipo de relatório: Campaign, AdGroup, Keyword, Ad, SearchTerms, Daily, Device, Conversion, ImpressionShare, AdAssets, Hourly, Geographic, Demographics
date_range string opcional Intervalo de datas: um predefinido (LAST_7_DAYS, LAST_30_DAYS, LAST_90_DAYS, THIS_MONTH, LAST_MONTH) ou uma janela personalizada 'yyyy-MM-dd AND yyyy-MM-dd'. Padrão LAST_30_DAYS.
list_google_ads_ad_groups leitura Liste os grupos de anúncios de uma campanha do Google Ads (id, name, status, CPC bid). Os ids de grupo de anúncios são necessários para as ferramentas de palavra-chave e anúncio.

Como chamar

POST /rest/v1/tools/list_google_ads_ad_groups GET /rest/v1/call/list_google_ads_ad_groups

Parâmetros

campaign string obrigatório O nome ou id da campanha
list_google_ads_campaigns leitura Lista as campanhas do Google Ads do cliente com status, tipo de canal, orçamento diário, motivo da retenção, e saldo (recarregado, gasto, restante) — tudo em BRL. O ponto de entrada: chame esta primeiro, depois passe um name ou id retornado para as outras ferramentas google_ads.

Como chamar

POST /rest/v1/tools/list_google_ads_campaigns GET /rest/v1/call/list_google_ads_campaigns

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

list_google_ads_keywords leitura Lista as palavras-chave de um grupo de anúncios em uma campanha do Google Ads (texto, tipo de correspondência, status, lance de CPC, índice de qualidade).

Como chamar

POST /rest/v1/tools/list_google_ads_keywords GET /rest/v1/call/list_google_ads_keywords

Parâmetros

campaign string obrigatório O nome ou id da campanha
ad_group_id integer obrigatório O id do grupo de anúncios (de list_google_ads_ad_groups)
nudge_google_ads_provisioning escrita Executa novamente o gate de provisionamento de go-live de uma campanha do Google Ads que parece travada após ser financiada (empurra a máquina de estados de provisionamento adiante).

Como chamar

POST /rest/v1/tools/nudge_google_ads_provisioning

Parâmetros

campaign string obrigatório Nome ou id da campanha
refresh_google_ads_audience escrita Reenvia o público do Customer Match da campanha do Google Ads a partir dos e-mails atuais dos leads do cliente (mantém a lista de remarketing atualizada). Retorna o número de e-mails enviados.

Como chamar

POST /rest/v1/tools/refresh_google_ads_audience

Parâmetros

campaign string obrigatório Nome ou id da campanha
set_google_ads_campaign_status destrutiva Pausa, retoma, ou ENCERRA uma campanha do Google Ads. Retomar depende do saldo restante + pelo menos um anúncio habilitado (e uma palavra-chave para Search). ENCERRAR É IRREVERSÍVEL — isso remove a campanha no Google Ads; obtenha a confirmação explícita do cliente antes de encerrar.

Como chamar

POST /rest/v1/tools/set_google_ads_campaign_status

Parâmetros

campaign string obrigatório O nome ou id da campanha
action string obrigatório Ação: Pause, Resume ou End (End é irreversível)
sync_google_ads_spend escrita Atualiza o gasto de uma campanha do Google Ads a partir da API ao vivo do Google (atualiza o snapshot armazenado e os cálculos de financiamento). Chame isso antes de informar números de gasto ou saldo ao cliente.

Como chamar

POST /rest/v1/tools/sync_google_ads_spend

Parâmetros

campaign string obrigatório O nome ou id da campanha
update_google_ads_campaign_budget escrita Atualiza o orçamento diário de uma campanha do Google Ads (BRL). Retorna o valor efetivo após o ajuste de limites da plataforma.

Como chamar

POST /rest/v1/tools/update_google_ads_campaign_budget

Parâmetros

campaign string obrigatório O nome ou id da campanha
new_daily_budget_brl number obrigatório O novo orçamento diário em BRL

Sites

Cadastra um site e altera por conversa: configurações, subdomínio, código-fonte, snapshots e restaurações, capturas de tela e rastreamento.

17 endpoints
archive_website destrutiva Arquiva (remove) um site.

Como chamar

POST /rest/v1/tools/archive_website

Parâmetros

website_id integer obrigatório Id do site a ser arquivado
cancel_website_change destrutiva Cancela a solicitação de alteração em andamento (não concluída) de um site.

Como chamar

POST /rest/v1/tools/cancel_website_change

Parâmetros

website_id integer obrigatório Id do site
change_website escrita Solicita uma alteração em um site. A alteração é enfileirada e renderizada em segundo plano — isso retorna imediatamente com um code id; consulte get_website para verificar a conclusão.

Como chamar

POST /rest/v1/tools/change_website

Parâmetros

website_id integer obrigatório Id do site a ser alterado
prompt string obrigatório Prompt descrevendo a alteração desejada
data_storage_required boolean opcional padrão false True se a alteração exigir armazenamento de dados (um banco de dados)
ignore_existing_code boolean opcional padrão false True para ignorar o código existente e reconstruir do zero (reformulação completa)
reasoning_mode string opcional Raciocínio do agente de código: Fast (alterações simples, padrão) ou Thinking (alterações complexas)
generation_type string opcional Tipo de geração: Fast (padrão) ou Quality
change_website_subdomain escrita Altera o subdomínio de um site (a parte antes de .eesier.website).

Como chamar

POST /rest/v1/tools/change_website_subdomain

Parâmetros

website_id integer obrigatório Id do site
new_subdomain string obrigatório Nova parte do subdomínio sem o sufixo .eesier.website (apenas letras, números e hífens)
crawl_website leitura Busca o HTML bruto de uma página da web, dividido em blocos de 1000 caracteres navegáveis por índice.

Como chamar

POST /rest/v1/tools/crawl_website GET /rest/v1/call/crawl_website

Parâmetros

url string obrigatório URL da página web a ser buscada
chunk_index integer opcional padrão 0 Índice do trecho a ser retornado (começando em 0)
create_website_snapshot escrita Cria um snapshot do código atual de um site, marcado com uma descrição, para que possa ser restaurado depois.

Como chamar

POST /rest/v1/tools/create_website_snapshot

Parâmetros

website_id integer obrigatório Id do site
snapshot_description string obrigatório Descrição para o snapshot
export_website_code escrita Exporta o código atual de um site para um arquivo HTML e o envia por e-mail para o endereço fornecido.

Como chamar

POST /rest/v1/tools/export_website_code

Parâmetros

website_id integer obrigatório Id do website
email_address string obrigatório Endereço de email de destino
get_website leitura Obtenha informações completas sobre um site: título, URL, tipo, idioma, status de geração e link do editor de código.

Como chamar

POST /rest/v1/tools/get_website GET /rest/v1/call/get_website

Parâmetros

website_id integer obrigatório Id do site
get_website_code leitura Obtenha o código HTML de uma entrada específica de código do site.

Como chamar

POST /rest/v1/tools/get_website_code GET /rest/v1/call/get_website_code

Parâmetros

website_code_id integer obrigatório Id da entrada de código do site
get_website_settings leitura Obtenha as configurações configuráveis de um site (título, idioma, restrição, diretrizes do agente).

Como chamar

POST /rest/v1/tools/get_website_settings GET /rest/v1/call/get_website_settings

Parâmetros

website_id integer obrigatório Id do site
list_website_code leitura Lista as gerações de código bem-sucedidas para um site (sem o HTML em si), mais recentes primeiro.

Como chamar

POST /rest/v1/tools/list_website_code GET /rest/v1/call/list_website_code

Parâmetros

website_id integer obrigatório Id do site
list_website_snapshots leitura Lista os snapshots de um site (versões salvas do código), mais recentes primeiro.

Como chamar

POST /rest/v1/tools/list_website_snapshots GET /rest/v1/call/list_website_snapshots

Parâmetros

website_id integer obrigatório Id do site
list_websites leitura Lista todos os sites do cliente com seu status de geração, URL, e link do editor de código.

Como chamar

POST /rest/v1/tools/list_websites GET /rest/v1/call/list_websites

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

register_website escrita Registra um novo site gerado por IA. A geração roda em segundo plano — isso retorna imediatamente com um id; faça polling de get_website / list_websites para a URL final e o status.

Como chamar

POST /rest/v1/tools/register_website

Parâmetros

description string obrigatório Descrição concisa mas completa do site: propósito, principais funcionalidades, público-alvo, estilo e o que vende/promove
language string obrigatório Código de idioma no formato xx-xx, ex.: pt-br, en-us
application_type string opcional Tipo de aplicação: Website (padrão) ou LeadCapturePage. Para um site interativo com logins/dashboards, mantenha Website e defina data_storage_required=true.
generation_type string opcional Tipo de geração: Fast (padrão, sites mais simples) ou Quality (mais lento, melhor para sites complexos)
data_storage_required boolean opcional padrão false True se o site precisar de armazenamento de dados persistente (contas, pedidos, dashboards); false para sites estáticos. Padrão false.
restricted boolean opcional padrão false True para restringir o site atrás de uma página de login; false para público. Padrão false.
copy_from_website_id integer opcional Id opcional de outro site deste cliente para copiar o código
business_or_brand_name string opcional Nome opcional da empresa/marca existente para a qual o site é destinado (aciona pesquisa online para conteúdo e branding)
restore_website_snapshot destrutiva Restaura um snapshot (ou qualquer entrada de código anterior) como o código atual do site.

Como chamar

POST /rest/v1/tools/restore_website_snapshot

Parâmetros

website_code_id integer obrigatório Id da entrada de código do site a ser restaurada
screenshot_website escrita Tira um screenshot de qualquer URL pública e o analisa com IA. Salva o screenshot como um arquivo do cliente e retorna a análise + URL pública da imagem. Opcionalmente, envia o screenshot por e-mail.

Como chamar

POST /rest/v1/tools/screenshot_website

Parâmetros

url string obrigatório URL pública a ser capturada
prompt string obrigatório Prompt/instruções para a análise de IA
viewport_width integer opcional padrão 1366 Largura do viewport em px (padrão 1366)
viewport_height integer opcional padrão 768 Altura do viewport em px (padrão 768)
send_to_email string opcional Endereço de e-mail opcional para enviar a captura de tela
screenshot_file_name string opcional Nome de arquivo opcional de uma palavra para a captura de tela
set_website_settings escrita Atualiza as configurações de um site. Passe apenas os campos que deseja alterar.

Como chamar

POST /rest/v1/tools/set_website_settings

Parâmetros

website_id integer obrigatório Id do website
title string opcional Título do website (máx. 60 caracteres)
language_key string opcional Chave de idioma, ex.: pt-BR, en-US
restricted boolean opcional Se o website é restrito por login
guidelines string opcional Diretrizes persistentes de como o agente deve trabalhar neste website

Páginas de captura

O lado inbound: cria páginas de captura, altera, lista e arquiva.

4 endpoints
archive_lead_capture_page destrutiva Arquiva (remove) uma página de captura de leads.

Como chamar

POST /rest/v1/tools/archive_lead_capture_page

Parâmetros

lead_capture_page_id integer obrigatório Id da página de captura de leads
change_lead_capture_page escrita Solicita uma alteração em uma página de captura de leads. A alteração é enfileirada e renderizada em segundo plano — isso retorna imediatamente com um code id.

Como chamar

POST /rest/v1/tools/change_lead_capture_page

Parâmetros

lead_capture_page_id integer obrigatório Id da página de captura de leads
prompt string obrigatório Prompt descrevendo a alteração desejada
create_lead_capture_page escrita Cria uma página de captura de leads. A geração é executada em segundo plano — isso retorna imediatamente com um id; consulte list_lead_capture_pages para obter a URL finalizada.

Como chamar

POST /rest/v1/tools/create_lead_capture_page

Parâmetros

description string obrigatório Descrição concisa, porém completa: quais informações capturar, público-alvo, a oferta/proposta de valor e quaisquer preferências de design
language string obrigatório Código de idioma no formato xx-xx, ex.: pt-br, en-us
list_lead_capture_pages leitura Lista todas as páginas de captura de leads do cliente com seu status de geração e URL.

Como chamar

POST /rest/v1/tools/list_lead_capture_pages GET /rest/v1/call/list_lead_capture_pages

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

Mídia

Gera imagens, desenhos e vídeos, edita um vídeo e lê tudo que já foi gerado.

10 endpoints
create_video escrita Gera um vídeo curto de IA a partir de um prompt de texto e de uma imagem de referência opcional do primeiro frame. É renderizado em segundo plano — isso retorna imediatamente com um id; consulte list_videos para obter o video_url finalizado.

Como chamar

POST /rest/v1/tools/create_video

Parâmetros

prompt string obrigatório O prompt do vídeo
model string opcional Mecanismo: SeedancePro, SeedanceProFast (padrão), Grok
reference_image_url string opcional URL opcional da imagem do primeiro frame (https absoluto). O vídeo anima a partir dessa imagem.
duration integer opcional Duração em segundos (limitada de acordo com o mecanismo)
aspect_ratio string opcional Proporção da imagem, ex.: 16:9, 9:16, 1:1, 4:3
resolution string opcional Resolução: 480p, 720p ou 1080p
edit_video escrita Gera um novo vídeo que itera sobre um gerado anteriormente. Quando nenhum reference_image_url é fornecido, a estratégia de frame inicial decide como o frame inicial é produzido.

Como chamar

POST /rest/v1/tools/edit_video

Parâmetros

video_id integer obrigatório Id do vídeo gerado anteriormente sobre o qual iterar
prompt string obrigatório O novo prompt do vídeo
model string opcional Mecanismo: SeedancePro, SeedanceProFast (padrão), Grok
reference_image_url string opcional URL opcional da nova imagem do primeiro frame (https absoluto). Substitui a estratégia.
first_frame_strategy string opcional Como lidar com o primeiro frame: KeepPreviousFirstFrame (padrão), EditPreviousFirstFrame, GenerateBrandNewFirstFrame
duration integer opcional Duração em segundos (limitada de acordo com o mecanismo)
aspect_ratio string opcional Proporção da imagem, ex.: 16:9, 9:16, 1:1, 4:3
resolution string opcional Resolução: 480p, 720p ou 1080p
generate_drawing escrita Gera um desenho (formas, wireframes, layouts de página, diagramas, tabelas, gráficos, grids, formas vetoriais, mapas). É executado em segundo plano — isso retorna imediatamente com um id; consulte list_drawings para obter o image_url finalizado.

Como chamar

POST /rest/v1/tools/generate_drawing

Parâmetros

prompt string obrigatório Descrição do drawing a ser gerado
caption string opcional Legenda opcional para acompanhar a imagem entregue
reference_image_url string opcional URL https absoluta opcional de uma imagem de referência para enviar com o prompt
drawing_id integer opcional Id opcional de um drawing existente para editar/iterar
generate_image escrita Gera uma imagem a partir de um prompt de texto (ou edita imagens existentes passando URLs de referência). A geração é executada em segundo plano — isso retorna imediatamente com um id; consulte list_images para obter o image_url finalizado.

Como chamar

POST /rest/v1/tools/generate_image

Parâmetros

prompt string obrigatório Prompt descrevendo a imagem a ser gerada
aspect_ratio string opcional Formato da imagem: Square (1:1), Landscape (mais larga), ou Portrait (mais alta). Padrão Square.
transparent boolean opcional padrão false Fundo transparente (padrão false)
reference_image_urls string opcional URLs https absolutas separadas por vírgula de imagens de referência para enviar com o prompt
profile string opcional Perfil de otimização: None, SocialMediaInstagramPostFeed, SocialMediaInstagramPostStories. Padrão None.
model string opcional Modelo de geração: OpenAI (padrão), BytePlus. Não altere a menos que o usuário peça.
get_drawing leitura Obtém um desenho gerado pelo id — o alvo do polling para generate_drawing. Mostra o status da geração e, quando finalizado, a image_url.

Como chamar

POST /rest/v1/tools/get_drawing GET /rest/v1/call/get_drawing

Parâmetros

drawing_id integer obrigatório O drawing_id retornado por generate_drawing
get_image leitura Obtém uma imagem gerada pelo id — o alvo do polling para generate_image. Mostra o status da geração e, quando finalizada, a image_url.

Como chamar

POST /rest/v1/tools/get_image GET /rest/v1/call/get_image

Parâmetros

image_id integer obrigatório O image_generation_id retornado por generate_image
get_video leitura Obtenha um vídeo gerado pelo id — o alvo de polling para create_video/edit_video (list_videos só mostra vídeos FINISHED, portanto faça polling neste para os que estão em andamento). is_finished=true com um video_url significa concluído; is_finished=true sem uma URL significa que a renderização falhou.

Como chamar

POST /rest/v1/tools/get_video GET /rest/v1/call/get_video

Parâmetros

video_id integer obrigatório O video_id retornado por create_video ou edit_video
list_drawings leitura Liste os desenhos gerados (mais recentes primeiro, paginado). Inclui o status de geração de cada desenho e, uma vez finalizado, seu image_url.

Como chamar

POST /rest/v1/tools/list_drawings GET /rest/v1/call/list_drawings

Parâmetros

page integer opcional padrão 1 Número da página (1 = primeira página)
page_size integer opcional padrão 10 Tamanho da página (padrão 10, máximo 50)
list_images leitura Lista as imagens geradas (mais recentes primeiro, paginado). Inclui o status de geração de cada imagem e, uma vez concluída, o seu image_url.

Como chamar

POST /rest/v1/tools/list_images GET /rest/v1/call/list_images

Parâmetros

page integer opcional padrão 1 Número da página (1 = primeira página)
page_size integer opcional padrão 10 Tamanho da página (padrão 10, máximo 50)
list_videos leitura Lista os vídeos gerados anteriormente (mais recentes primeiro, paginado). Somente vídeos concluídos com sucesso e com uma URL são retornados.

Como chamar

POST /rest/v1/tools/list_videos GET /rest/v1/call/list_videos

Parâmetros

page integer opcional padrão 1 Número da página (1 = primeira página)
page_size integer opcional padrão 10 Tamanho da página (padrão 10, máximo 50)

Pesquisa online

Agenda uma pesquisa na web aberta e lê o resultado quando fica pronta.

3 endpoints
list_online_searches leitura Lista as buscas online mais recentes do cliente (até 10, mais recentes primeiro) com seu status.

Como chamar

POST /rest/v1/tools/list_online_searches GET /rest/v1/call/list_online_searches

Parâmetros

Este endpoint não recebe parâmetros — faça o POST sem corpo.

Suporte

A linha direta com o time da eesier — abre um chamado e lê os que já estão abertos.

2 endpoints
create_support_request escrita Abre uma linha direta com a equipe de suporte da Blue Button. Este é VOCÊ, o agente conectado, falando diretamente com a equipe de suporte e engenharia — use isso para fazer uma pergunta ou relatar um problema por iniciativa própria em segundo plano (o usuário final NÃO é notificado), ou quando o usuário pedir explicitamente que você entre em contato com o suporte. Especifique o type (technical, sales, human ou question) e a severity (low/medium/high/critical). A resposta da equipe volta para você — leia-a depois com list_support_requests.

Como chamar

POST /rest/v1/tools/create_support_request

Parâmetros

message string obrigatório O que você quer perguntar ou relatar à equipe do Blue Button
type string obrigatório Tipo de solicitação: 'technical' (problema de produto/técnico), 'sales' (comercial, cobrança, plano — o cliente quer que um representante de vendas entre em contato), 'human' (o cliente pede um contato humano, sem motivo específico), ou 'question' (uma solicitação simples de informação que você não consegue responder sozinho)
severity string obrigatório Qual o nível de urgência: 'low', 'medium', 'high' ou 'critical'
list_support_requests leitura Lista as solicitações de suporte do cliente — sua thread com a equipe do Blue Button — com status, type, severity de cada solicitação, e a resposta da equipe (null até que respondam). Filtre por status: pending, answered, closed, ou all (padrão all).

Como chamar

POST /rest/v1/tools/list_support_requests GET /rest/v1/call/list_support_requests

Parâmetros

status string opcional padrão all Filtro de status: pending, answered, closed, ou all (padrão all)

Incidentes

Lê os incidentes da plataforma que afetam esta conta.

1 endpoints
list_incidents leitura Lista os incidentes da plataforma (interrupções / degradações / instabilidades) reportados pela equipe do Blue Button, cada um com sua linha do tempo pública de atualizações. Retorna incidentes em andamento (ativos) e incidentes passados resolvidos recentemente. Chame esta ferramenta quando o usuário perguntar se a plataforma está com problemas, ou quando chamadas de ferramentas estiverem falhando inesperadamente — um incidente ativo geralmente explica as falhas.

Como chamar

POST /rest/v1/tools/list_incidents GET /rest/v1/call/list_incidents

Parâmetros

scope string opcional Quais incidentes retornar: 'active' (somente em andamento), 'past' (somente resolvidos) ou 'all' (padrão)
limit integer opcional Número máximo de incidentes passados a retornar (padrão 10, máximo 50)

Perguntas frequentes

Isso é um produto diferente do servidor MCP?
Não. É o mesmo servidor e as mesmas ferramentas, alcançadas por HTTP puro em vez do protocolo MCP. As chamadas caem no mesmo código, então resultados, limites e registro são idênticos.
Preciso de um agente de IA para usar?
Não. É exatamente esse o propósito desta superfície. Um script de shell, um cron, um passo de n8n ou Zapier, ou o seu próprio backend chamam com nada além de curl.
Posso usar REST e MCP ao mesmo tempo?
Sim, com o mesmo token. Seu agente pode manter uma sessão MCP enquanto o seu backend faz POST nos endpoints REST; os dois escrevem na mesma conta.
O que o status HTTP me diz?
Exatamente o que aconteceu: 200 deu certo, 403 significa que o seu plano não inclui aquela ferramenta, 404 que a ferramenta ou o objeto não existe, 422 que a ferramenta recusou a requisição, 500 é uma falha permanente e 503 uma transitória que vale repetir. O corpo sempre traz o motivo legível por máquina.
Existe limite de requisições?
Não há limite por endpoint. Algumas ferramentas de escrita exigem plano ativo e dizem isso em uma mensagem clara, em vez de falhar em silêncio.
Como acompanho as ferramentas novas?
GET /rest/v1/tools é gerado pelo servidor em execução, então ferramenta nova aparece assim que entra no ar. Esta página vem do mesmo registro.

pegue um token em 2 minutos

Fale com o eesier no WhatsApp e peça o MCP — o mesmo token autentica a API REST.

Falar com o eesier

sem cadastro :)

Contratar