REST API reference
A small, consistent JSON API. All requests are HTTPS, all errors are RFC 7807-style problem responses.
Bearer JWT
Sign in once via /api/auth/login, then attach the token to every request.
Per-tenant scope
Tokens are scoped to the user's workspace. No cross-tenant access.
Realtime via Socket.IO
Subscribe to new_lead / lead_updated for live UIs.
Quickstart
Authenticate, then create a lead — the AI voice agent dials it within seconds.
Endpoints
Grouped by resource. All paths are relative to https://api.dialbotix.com.
/api/auth/loginExchange email + password for a JWT.
/api/auth/meReturn the current authenticated user.
/api/leadsList leads scoped to the calling user.
/api/leadsCreate a lead and queue an AI call.
/api/manual-leads/createCreate a manual-source lead through the manual-leads module.
/api/campaignsList user-scoped campaigns with stats.
/api/campaignsCreate a campaign (script, retries, timezone, booking link).
/api/campaigns/:idUpdate a campaign — partial fields supported.
/api/analytics/overviewTotals + per-campaign breakdown.
/api/analytics/timeseriesLast 12 months of leads / calls / bookings.
/api/billing/subscriptionCurrent plan, status, period end.
/api/billing/checkoutReturns Paddle overlay parameters for the frontend.
/api/billing/cancelCancel the current subscription at the end of the billing period.
Webhooks
Inbound webhook URLs Dialbotix exposes. Each one verifies its signature and is idempotent on the provider's event id.
/api/webhook/lead/:campaignIdPublic lead intake from forms / ad platforms / CRMs.
/api/webhook/vapiVapi end-of-call event with transcript + recording.
/api/webhooks/hubspotHubSpot CRM events. Signed with HMAC-SHA256.
/api/billing/webhookPaddle subscription + transaction lifecycle events. Signed with HMAC-SHA256.
Error format
All errors return JSON with a message field plus the appropriate HTTP status.
