Pular para o conteúdo

Listas

Base path: /api/v1/lists Scopes: lists:read | lists:write

Listas agrupam contatos, empresas ou deals pra usar em campanhas, segmentação ou exports.

  • Listas estáticas — membros adicionados/removidos manualmente
  • Listas dinâmicas — definidas por filtros, recalculadas automaticamente (1x/min) quando dados mudam

Via API você pode ler ambos os tipos. Para escrita, API Key só manipula listas estáticas (add/remove de membros) — listas dinâmicas são criadas/editadas pela UI porque a definição dos filtros é complexa.

Lista todas as listas

GET /api/v1/lists?objectType=contact

Scope: lists:read

ParamTipoDescrição
objectTypecontact | company | dealFiltra por tipo
[
{
"id": "ckl4ls01...",
"name": "Clientes ativos SP",
"objectType": "contact",
"kind": "dynamic",
"memberCount": 234,
"createdAt": "2026-03-01T00:00:00.000Z",
"updatedAt": "2026-05-22T17:00:00.000Z"
},
{
"id": "ckl4ls02...",
"name": "Convidados evento",
"objectType": "contact",
"kind": "static",
"memberCount": 87,
"createdAt": "2026-05-15T00:00:00.000Z"
}
]

Busca uma lista

GET /api/v1/lists/:id

Scope: lists:read

Cria uma lista

POST /api/v1/lists

Scope: lists:write

CampoTipoObrigatórioDescrição
namestringNome
objectTypecontact | company | dealTipo
kindstaticVia API só static. Dinâmicas pela UI
descriptionstringDescrição opcional
Terminal window
curl -X POST https://app.indutivacrm.com.br/api/v1/lists \
-H "X-API-Key: crm_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Importados do Mailchimp",
"objectType": "contact",
"kind": "static"
}'

Atualiza uma lista

PATCH /api/v1/lists/:id

Scope: lists:write

Permite renomear / atualizar descrição. Não permite mudar objectType ou kind.

Deleta uma lista

DELETE /api/v1/lists/:id

Scope: lists:write

Soft-delete da lista. Membros não são deletados — contatos, empresas, deals continuam intactos, só perdem a associação com essa lista.

Lista membros

GET /api/v1/lists/:id/members?page=1&pageSize=100

Scope: lists:read

Retorna a paginação padrão ({ data, pagination }). data[].id é o id do contato/empresa/deal (não da membership).

Adiciona membros

POST /api/v1/lists/:id/members

Scope: lists:write

CampoTipoObrigatórioDescrição
objectIdsstring[]IDs de contatos/empresas/deals (depende do objectType da lista)
Terminal window
curl -X POST https://app.indutivacrm.com.br/api/v1/lists/ckl4ls02.../members \
-H "X-API-Key: crm_live_..." \
-H "Content-Type: application/json" \
-d '{"objectIds": ["ckl4c01...", "ckl4c02...", "ckl4c03..."]}'

IDs duplicados (já membros) são silenciosamente ignorados — operação idempotente.

Remove um membro

DELETE /api/v1/lists/:id/members/:objectId

Scope: lists:write

Remove o objeto (contato/empresa/deal) da lista. Resposta 204 No Content.

Erros específicos

StatuserrorCenário
409list_kind_mismatchTentou manipular membros de lista dinâmica
400validation_failedCampos obrigatórios faltando
404not_foundLista, objeto ou membro não existe