Lista de endpoints REST
Endpoints HTTP autenticados via JWT (frontend) ou API_SECRET (server-to-server). O ai-flow-generator pode usar estes via requestNode (chamadas HTTP) ou codeToolNode (sandbox JS com fetch).
## Token Ledger (controle de quota IA)
GET /api/tokens/balance— saldo atualGET /api/tokens/health— status operacional + top featuresGET /api/tokens/usage/timeseries?period=30— agregação diária
## CRM AI Qualifier (BANT/SPIN automático)
POST /api/crm/qualifier/:dealId— qualifica deal. Body:{ force?: boolean }. Throttle 24h por deal.GET /api/crm/qualifier/:dealId/runs— histórico de runs
## Smart Campaigns
POST /api/crm/smart-campaigns/estimate— preview de custo. Body:{ intensity, target_filter, custom_config? }POST /api/crm/smart-campaigns— cria draft (status=awaiting_user_approval)POST /api/crm/smart-campaigns/:id/start— inicia (cria executions + enfileira jobs)POST /api/crm/smart-campaigns/:id/pause|resume|cancel
## Follow-up Sequences
GET|POST|PUT|DELETE /api/crm/followup-sequences— CRUDPOST /api/crm/followup-sequences/:id/start— inicia para deal específico. Body:{ deal_id }GET /api/crm/followup-sequences/deal/:dealId/active— followups ativosPOST /api/crm/followup-sequences/followups/:fId/pause|resume|cancel
## Template Lifecycle
POST /api/cloud-api/templates-lifecycle/drafts/generate— gera template via IAPOST /api/cloud-api/templates-lifecycle/drafts/:id/submit— submete pra Meta
## CRM Dashboard
GET /api/crm/dashboard/metrics?period=30&pipeline_id=...— KPIs agregadosGET /api/crm/dashboard/pipeline-summary— funil por stage
## CRM Holidays
GET /api/crm/holidays?year=2026— feriados do tenantPOST /api/crm/holidays/seed— auto-popula. Body:{ country: 'BR'|'US'|'ES'|'PT' }
## CRM Automations CRUD (v2 — multi-step)
POST /api/crm/automations— cria automation v2. Body:{ pipeline_id, name, trigger_type, trigger_config, conditions[], actions[], is_active?, priority? }PUT /api/crm/automations/:id— atualizaDELETE /api/crm/automations/:id— removePOST /api/crm/automations/:id/toggle— ativa/desativa- Todos com auditDataWrite/Delete + Zod validation rigorosa (não usar supabase direto)
## CRM Automation Runs
GET /api/crm/automation-runs?automation_id=...&deal_id=...— históricoGET /api/crm/automation-runs/stats?automation_id=...— agregado 30d
## Padrão de uso em fluxos
Em codeToolNode, o ledger debita tokens automaticamente quando você inclui tenant_id no metadata. Exemplo:
// Dentro de codeToolNode (sandbox JS)
const res = await fetch('http://localhost:3001/api/crm/qualifier/' + variables.deal_id, {
method: 'POST',
headers: {
'x-api-secret': process.env.API_SECRET,
'x-tenant-id': variables.__tenant_id,
'Content-Type': 'application/json',
},
body: JSON.stringify({ force: false }),
});
const json = await res.json();
output.qualified_score = json.score;
output.summary = json.qualification_data?.summary;
## Bloqueios sob impersonation
Acesso de suporte (impersonation) BLOQUEIA endpoints sensíveis:
- crm.smart_campaigns.create/start/resume
- crm.templates.generate/approve/submit_to_meta
- tokens.quota.change
- security.emergency_stop.disable
Endpoints de leitura permanecem permitidos.