Referência da API
Convenções compartilhadas pelos endpoints da API v1 da Colmeia.
Referência da API
Esta página reúne as convenções compartilhadas pelos endpoints da API v1 autenticados por chave de API. Cada página de recurso detalha os métodos, campos, filtros, ordenações e respostas aplicáveis àquela rota.
Base URL
https://app.usecolmeia.com/api/v1Nos exemplos, os caminhos são relativos a essa URL. Por exemplo, GET /clients corresponde a GET https://app.usecolmeia.com/api/v1/clients.
Recursos
Clientes
Pessoas físicas e jurídicas em /clients.
Oportunidades
Pipeline comercial em /deals.
Projetos
Trabalho operacional em /projects.
Tarefas
Itens de execução em /tasks.
Campanhas
Campanhas vinculadas a projetos em /campaigns.
Atividades
Histórico operacional em /activities.
Contatos e mensagens em /whatsapp.
Webhooks
Endpoints e recebimento de webhooks de entrada em /webhooks.
Autenticação
Envie a chave de API no header Authorization dos endpoints autenticados por chave:
Authorization: Bearer ea_live_sua_chave_aqui
Content-Type: application/jsonA chave determina o time da requisição; não envie team_id para selecionar outro time. Consulte Autenticação para criar, rotacionar e proteger suas chaves.
Exceção: GET e POST /webhooks/inbound/:endpointId são públicos e não usam Bearer. Quando o endpoint estiver configurado com segredo, apenas o POST exige X-Webhook-Secret; essas rotas têm formato de resposta próprio. Consulte Webhooks.
Respostas
Sucesso
Nos endpoints autenticados por chave de API, operações que retornam um recurso usam o envelope abaixo:
{
"success": true,
"data": {
"id": "00000000-0000-4000-8000-000000000001"
}
}Lista paginada
Nos endpoints autenticados por chave de API, operações de listagem retornam os itens em data e os metadados em pagination:
{
"success": true,
"data": [],
"pagination": {
"page": 1,
"limit": 20,
"total": 0,
"pages": 0
}
}Erro
Nos endpoints autenticados por chave de API, erros usam success: false e descrevem o motivo em error:
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Campo 'title' é obrigatório"
}
}Paginação
As rotas de lista autenticadas por chave de API aceitam os parâmetros abaixo:
| Parâmetro | Padrão | Máximo | Descrição |
|---|---|---|---|
page | 1 | — | Página a retornar. |
limit | 20 | 100 | Quantidade de itens por página. |
Ordenação
Use sort=campo para ordem ascendente e sort=-campo para ordem descendente:
GET /clients?sort=full_name
GET /clients?sort=-created_atCada página de recurso informa os campos aceitos para ordenação. Um campo fora do allowlist da rota não deve ser usado como contrato de integração.
Datas e horários
Timestamps usam ISO 8601, por exemplo 2026-08-11T14:30:00Z. Quando um campo exigir uma data civil, envie YYYY-MM-DD, por exemplo 2026-08-11.
Idempotência em oportunidades
Somente POST /deals aceita o header opcional Idempotency-Key. Use uma chave de até 512 caracteres ao criar uma oportunidade:
POST /deals
Idempotency-Key: oportunidade-integracao-001Reenvie a mesma chave com payload idêntico para reproduzir a criação já registrada, sem criar uma segunda oportunidade. A criação inicial responde 201; um replay responde 200 com o recurso existente. Reutilizar a mesma chave com payload diferente retorna 409 CONFLICT por idempotency_conflict.
Códigos HTTP
Os códigos abaixo aparecem na API v1. Eles não se aplicam a todas as rotas: consulte a página do recurso para saber quais respostas uma operação pode devolver.
| Código | Quando ocorre |
|---|---|
200 | Leitura, atualização, arquivamento ou replay idempotente concluído. |
201 | Recurso criado. |
400 | Parâmetros, corpo ou validação de entrada inválidos. |
401 | Header Bearer ausente ou chave de API inválida/inativa. |
403 | Limite de plano aplicável à operação foi atingido. |
404 | Recurso não encontrado. |
409 | Conflito ou operação bloqueada por uma regra do recurso. |
422 | Registro duplicado ou outro dado semanticamente inválido indicado pela rota. |
500 | Erro interno da API. |
502 | Falha de serviço externo, somente nas rotas que a página específica indicar. |