API Reference

Neo Dialer exposes the same REST API the web application uses. Everything is scoped to the calling user's organisation and authenticated with a bearer token.

Long-lived API keys are not issued yet

The API Keys screen under Admin → Security is a placeholder — it renders a key in the browser but stores nothing, and that key will not authenticate. Use a bearer token from an authenticated session instead, as described in Authentication. If you are planning an integration, talk to us first.

Base URL

https://dialer.neomd.health/api

There is no versioned /v1 prefix. This API grew as the application's own back end rather than as a public product, so conventions vary between groups. For a substantial integration, agree the contract with us rather than discovering its edges.

Authentication

curl https://dialer.neomd.health/api/campaigns \
  -H "Authorization: Bearer $NEODIALER_TOKEN"

The token identifies the user; the user's organisation determines which tenant's data the request reaches. There is no tenant parameter to set. Full detail in Authentication.

Endpoint groups

Calling

/api/callsCall records and call control
/api/campaignsCampaigns, contacts, start and stop
/api/dialer-queueThe outbound dialing queue
/api/callbacksScheduled callbacks
/api/agent-statusAgent presence and availability
/api/recordingsCall recordings

Inbound

/api/inboundRoutes, IVR menus, queues, ring groups
/api/schedulesBusiness hours
/api/voicemail-messagesVoicemail and transcripts

AI

/api/aiAI capability status for the tenant
/api/ai-dialerAI-handled campaign dialing
/api/knowledge-baseArticles and quick responses
/api/pending-bookingsBookings the AI could not complete

Quality

/api/qaQA scorecards and templates
/api/complianceCompliance checks
/api/coachingCoaching and performance digests
/api/dncDo-not-call list

Configuration

/api/sipSIP trunks and phone numbers
/api/integrationsCalendars, sheets and CRMs
/api/webhooks/outboundOutbound webhook configuration
/api/tenantTenant administration
Full endpoint reference

Webhook events

Subscribing to an event outside this list is rejected when the webhook is saved, rather than silently accepted and never delivered.

call_completed
A call finished — outcome, duration, transcript
appointment_booked
An appointment was successfully booked
qa_scored
A QA scorecard was completed for a call
compliance_checked
A compliance check ran against a call
coaching_alert
A coaching alert was raised

Every delivery carries an X-Webhook-Signature header — an HMAC-SHA256 of the raw body, keyed with your webhook secret. Verify it before trusting the payload; Webhooks has the code.

Real-time events

For live call and agent state, connect a Socket.io client to the same host rather than polling. Events broadcast to rooms scoped by organisation and by agent, so a connection receives only its own tenant's events.