Documentation Index Fetch the complete documentation index at: https://docs.vistum.com.br/llms.txt
Use this file to discover all available pages before exploring further.
Autenticação
Bearer vg_live_<sua_chave> — API Key com escopo leads:write
Body
Número de telefone do contato. Aceita formato E.164 (5511999887766) ou brasileiro (11999887766 ou (11) 99988-7766). O número é normalizado automaticamente com DDI 55 se ausente.
Nome completo do contato.
Observações internas. Aparece no campo de notas do contato no CRM.
Lista de tags para aplicar ao contato. Tags inexistentes são criadas automaticamente. Máximo de 20 tags por requisição. "tags" : [ "lead-quente" , "instagram" , "produto-x" ]
Nome ou ID do pipeline onde o card deve ser criado. Se o pipeline não for encontrado, nenhum card é criado (o contato ainda é salvo).
Nome ou ID da etapa do pipeline. Se omitido, o card vai para a primeira etapa do pipeline.
Valor do negócio em BRL. Aparece no card do pipeline.
Origem do lead. Valor livre, usado para rastrear a fonte da integração (ex: "n8n", "typeform", "google-ads"). Máximo 64 caracteres. Padrão: "api".
Nome do produto de interesse. Se não existir no workspace, é criado automaticamente.
Nome completo do atendente responsável. Deve corresponder exatamente ao nome de um membro do workspace (case-insensitive).
Campos personalizados adicionais. São convertidos em texto e adicionados às notas do contato. "customFields" : {
"Campanha" : "Black Friday 2025" ,
"Interesse" : "Plano Growth" ,
"Score" : "8.5"
}
Máximo de 50 campos por requisição. Chaves com até 64 caracteres, valores com até 512 caracteres.
Comportamento de upsert
O endpoint não cria duplicatas. Se um contato com o mesmo phone já existir no workspace:
Os campos name, email e notes são atualizados se fornecidos
As tags são adicionadas (não substituídas)
O card do pipeline é atualizado se já houver um card aberto para o contato naquele pipeline
A resposta retorna "action": "updated" em vez de "action": "created"
Resposta de sucesso
Sempre true em caso de sucesso.
"created" se um novo contato foi criado, "updated" se o contato já existia.
Dados do contato criado ou atualizado. Telefone normalizado (E.164).
Card criado ou atualizado no pipeline. null se nenhum pipeline foi especificado ou encontrado. ID da etapa onde o card foi colocado.
Origem registrada no card.
Novo lead com pipeline
Lead simples (só contato)
curl -X POST https://crm.vistum.com.br/api/v1/leads \
-H "Authorization: Bearer vg_live_SUA_CHAVE_AQUI" \
-H "Content-Type: application/json" \
-d '{
"phone": "11999887766",
"name": "João Ferreira",
"email": "joao@empresa.com",
"pipeline": "Vendas",
"stage": "Qualificação",
"value": 2500,
"origin": "landing-page",
"tags": ["lead-quente", "formulario-site"],
"assignedTo": "Carlos Atendente",
"customFields": {
"Cidade": "São Paulo",
"Interesse": "Plano PRO"
}
}'
201 — Criado
200 — Atualizado
{
"ok" : true ,
"action" : "created" ,
"contact" : {
"id" : "cnt_cmnl5abc123" ,
"name" : "João Ferreira" ,
"phone" : "5511999887766" ,
"email" : "joao@empresa.com"
},
"card" : {
"id" : "card_def456ghi" ,
"stageId" : "stage_xyz789" ,
"origin" : "landing-page"
}
}