Empresas
Base path: /api/v1/companies
Scopes: companies:read | companies:write
Empresas (companies) são pessoas jurídicas no seu CRM. Cada empresa pode ter múltiplos contatos vinculados e múltiplos negócios.
Lista empresas
GET /api/v1/companiesScope: companies:read
| Param | Tipo | Default | Descrição |
|---|---|---|---|
page | number | 1 | Página atual |
pageSize | number | 50 | Itens por página (máx 100) |
search | string | — | Busca em nome, CNPJ, website |
ownerId | string | — | Filtra por owner |
sortKey | string | createdAt | Campo de ordenação |
sortOrder | asc | desc | desc | Direção |
curl "https://app.indutivacrm.com.br/api/v1/companies?search=acme" \ -H "X-API-Key: crm_live_..."{ "data": [ { "id": "ckl4c01...", "name": "Acme Indústria SA", "cnpj": "00.000.000/0001-00", "website": "https://acme.com.br", "phone": "+551133334444", "domain": "acme.com.br", "ownerId": "ckl4z00...", "industry": "Manufatura", "createdAt": "2026-05-22T14:30:00.000Z" } ], "pagination": { ... }}Busca uma empresa
GET /api/v1/companies/:idScope: companies:read
Retorna a empresa com todos os campos padrão + customProperties.
Cria uma empresa
POST /api/v1/companiesScope: companies:write
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | ✅ | Razão social ou nome fantasia |
cnpj | string | — | CNPJ (será normalizado pra só dígitos) |
website | string | — | URL completa (https://…) |
domain | string | — | Domínio puro (acme.com.br) — usado pra match automático com contatos |
phone | string | — | Telefone |
industry | string | — | Setor/indústria |
ownerId | string | — | User dono |
customProperties | object | — | { propertyId: value } |
curl -X POST https://app.indutivacrm.com.br/api/v1/companies \ -H "X-API-Key: crm_live_..." \ -H "Content-Type: application/json" \ -d '{ "name": "Acme Indústria SA", "cnpj": "00000000000100", "domain": "acme.com.br", "industry": "Manufatura" }'Atualiza uma empresa
PATCH /api/v1/companies/:idScope: companies:write
Atualização parcial. Mesmos campos do POST.
Deleta uma empresa
DELETE /api/v1/companies/:idScope: companies:write
Soft-delete. Contatos e deals vinculados ficam — só perdem a referência à empresa.
Resposta 204 No Content.
Erros específicos
| Status | error | Cenário |
|---|---|---|
| 409 | duplicate_cnpj | POST com CNPJ já existente no tenant |
| 409 | duplicate_domain | POST com domínio já existente |
| 400 | validation_failed | name ausente, CNPJ malformado |
| 404 | not_found | id não existe |