Overview

Pipeline Funnel

Top Sources

New Leads (Last 30 Days)

Pipeline Board

All Leads

Date Name / Email Phone Stage Source Campaign Form % IP Device Actions

API Documentation

Postback Endpoint

Send a POST request to create or update a lead. Matches by lead_id first, then email.

POST /api/postback

Headers

Content-Type: application/json
x-api-key: YOUR_API_KEY   (optional when API_KEY=changeme)

Body Fields

FieldTypeDescription
lead_idstringOptional. Reuse existing lead UUID to update it.
emailstringUsed for dedup if lead_id not provided.
first_namestring
last_namestring
phonestring
companystring
stagestringOne of the pipeline stages below.
sourcestringe.g. "google", "facebook"
domainstringLanding page domain
campaignstringCampaign name or ID
utm_sourcestring
utm_mediumstring
utm_campaignstring
utm_termstring
utm_contentstring
referrerstringFull referrer URL
ip_addressstring
user_agentstring
browserstringe.g. "Chrome 124"
device_typestring"desktop" / "mobile" / "tablet"
form_completion_percentnumber0–100
form_fields_completednumber
form_fields_totalnumber
custom_dataobjectAny extra key/value pairs
force_stagebooleantrue = allow going backwards in stage

Pipeline Stages (in order)

Example — Form Started

curl -X POST http://localhost:3000/api/postback \
  -H "Content-Type: application/json" \
  -d '{
    "email": "john@example.com",
    "first_name": "John",
    "stage": "Form Started",
    "source": "google",
    "domain": "myeinregistry.com",
    "campaign": "llc-spring-2026",
    "utm_source": "google",
    "utm_medium": "cpc",
    "utm_campaign": "llc-spring-2026",
    "ip_address": "192.168.1.1",
    "browser": "Chrome 124",
    "device_type": "desktop",
    "form_completion_percent": 10,
    "form_fields_total": 12
  }'

Example — Application Submitted

curl -X POST http://localhost:3000/api/postback \
  -H "Content-Type: application/json" \
  -d '{
    "email": "john@example.com",
    "stage": "Application Submitted",
    "form_completion_percent": 100,
    "form_fields_completed": 12,
    "form_fields_total": 12
  }'

Other Endpoints

MethodPathDescription
GET/api/leadsList leads. Query: stage, search, source, campaign, from, to, page, limit
GET/api/leads/:idGet single lead + stage history
PUT/api/leads/:id/stageManually update stage. Body: {"stage": "Paid"}
DELETE/api/leads/:idDelete lead
GET/api/analyticsDashboard analytics