Skip to main content
Esta documentação é destinada a desenvolvedores e empresas que desejam integrar seus sistemas com o Timely.ai. Para informações sobre o uso da plataforma, consulte os Guias.

Visão geral

A API do Timely.ai permite gerenciar programaticamente todos os recursos da plataforma:
  • Agentes — criação, configuração e gerenciamento de agentes IA
  • Treinamentos — gestão da base de conhecimento dos agentes
  • Canais — configuração de canais de comunicação (WhatsApp, Telegram, Email, Website)
  • Contatos — cadastro e gerenciamento de clientes
  • Leads — controle do funil de vendas com scoring e qualificação
  • Oportunidades — acompanhamento de negócios e valores
  • Pipeline — visualização das colunas do pipeline de vendas
  • Conversas — histórico de conversas, envio de mensagens e handoff humano
  • Campos Personalizados — definição de campos customizados para o CRM
  • Interações — consulta e gerenciamento de interações com filtros avançados
  • Intenções — configuração de intenções dos agentes IA
  • Ações de Inatividade — ações automáticas quando o cliente fica inativo
  • Regras de Transferência — regras para transferência automática de atendimento
  • MCP Servers — gerenciamento de servidores Model Context Protocol
  • Chats — gerenciamento de mensagens, edição e handoff humano

Base URL

https://api.timelyai.com.br
Todos os endpoints utilizam o prefixo /v1.

Autenticação

Todas as requisições (exceto /v1/health) requerem autenticação via header x-api-key:
curl -H "x-api-key: sua_chave_aqui" \
  https://api.timelyai.com.br/v1/me
Também é aceito o header Authorization: Bearer <token> para chaves com prefixo tml. Para obter sua chave de API, acesse a página de desenvolvedores.

Scopes

Cada API key possui escopos que controlam quais recursos podem ser acessados:
ScopeDescrição
agents:readLeitura de agentes, configurações, webhooks, créditos e histórico
agents:writeCriação, atualização, exclusão e operações de agentes
trainings:readLeitura de treinamentos dos agentes
trainings:writeCriação, atualização e exclusão de treinamentos
channels:readLeitura de canais, configurações, QR code e widget
channels:writeCriação, atualização, exclusão de canais e configurações
contacts:readLeitura de contatos
contacts:writeCriação, atualização e exclusão de contatos
leads:readLeitura de leads
leads:writeCriação, atualização e exclusão de leads
pipeline:readLeitura de oportunidades e colunas do pipeline
pipeline:writeCriação, atualização e exclusão de oportunidades
conversations:readLeitura de conversas
messages:readLeitura de mensagens das conversas
chats:writeEnvio, edição, exclusão de mensagens e handoff humano
custom-fields:readLeitura de campos personalizados
custom-fields:writeCriação, atualização e arquivamento de campos personalizados
interactions:readLeitura de interações e mensagens
interactions:writeEncerramento de interações
intentions:readLeitura de intenções dos agentes
intentions:writeCriação, atualização e exclusão de intenções
idle-actions:readLeitura de ações de inatividade
idle-actions:writeCriação, atualização e exclusão de ações de inatividade
transfer-rules:readLeitura de regras de transferência
transfer-rules:writeCriação, atualização e exclusão de regras de transferência
webhooks:readLeitura de webhooks dos agentes
webhooks:writeCriação e atualização de webhooks
mcp:readLeitura de servidores e ferramentas MCP
mcp:writeGerenciamento de servidores MCP, ferramentas e conexões
Use o endpoint GET /v1/me para verificar os scopes da sua API key.

Rate limiting

A API limita a 100 requisições por minuto por API key. Os headers de resposta incluem:
HeaderDescrição
X-RateLimit-LimitLimite de requisições por janela (100)
X-RateLimit-RemainingRequisições restantes na janela atual
X-RateLimit-ResetTimestamp Unix do reset da janela
Ao exceder o limite, a API retorna status 429 com o header Retry-After indicando quantos segundos aguardar.

Paginação

Endpoints de listagem suportam paginação com os seguintes parâmetros:
ParâmetroTipoPadrãoDescrição
pageinteger1Número da página (mínimo 1)
limitinteger20Itens por página (1-100)
sortstringvariaCampo de ordenação
orderstringdescDireção: asc ou desc
A resposta inclui um objeto pagination:
{
  "data": [...],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 150,
    "total_pages": 8
  }
}

Formato de erros

Todas as respostas de erro seguem o mesmo formato:
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "customer_name: String must contain at least 1 character(s)",
    "status": 400
  }
}
CódigoHTTPDescrição
UNAUTHORIZED401API key inválida ou ausente
FORBIDDEN403Scope insuficiente
NOT_FOUND404Recurso não encontrado
VALIDATION_ERROR400Dados da requisição inválidos
RATE_LIMIT_EXCEEDED429Limite de requisições excedido
INTERNAL_ERROR500Erro interno do servidor