OnDial API

Enterprise AI Voice Agent API for Developers

Skip the telecom complexity. Deploy, manage, and scale intelligent phone bots through a single REST and WebSocket interface - with absolute control over routing, logic, and data extraction.

OnDial API performance highlights: < 200ms Response latency; 10,000+ Concurrent channels; 60+ Local number markets; 100+ Languages supportedDecorative performance statistics background

< 200ms

Response latency

10,000+

Concurrent channels

60+

Local number markets

100+

Languages supported

Quick Answer

What is the OnDial AI Voice Agent API?

The OnDial AI Voice Agent API is a developer-focused REST and WebSocket interface for programming inbound and outbound conversational bots. It handles telecom routing, speech-to-text, natural language processing, and text-to-speech rendering, allowing engineering teams to automate enterprise phone calls and synchronize extracted data directly into custom backends.

API Overview

Built for modern software architecture

Fits cleanly into CI/CD pipelines and microservices - from number provisioning to real-time audio streaming.

Why Choose OnDial API

Enterprise control without telecom overhead

Compare our infrastructure to traditional telecom providers or basic wrapper tools - the engineering advantages are clear.

API Features

Programmable voice capabilities for every workflow

Quick Start

First request in under five minutes

  1. Create Account

    Register your developer profile in the OnDial dashboard.

  2. Generate API Key

    Open the Developers tab and generate a production secret. Copy it immediately - it is shown once.

  3. Authentication

    Include Authorization: Bearer <YOUR_API_KEY> on every request.

  4. Make First Request

    POST to /v1/calls/outbound with a destination number and agent prompt in the JSON body.

  5. Receive Response

    The server returns 201 Created with a unique call_id for the session.

  6. Deploy Webhooks

    Expose a local server, register the URL in webhook settings, and stream live call events.

Authentication and Security

Secure server-to-server access by default

All interactions with OnDial infrastructure require strict authentication.

API Keys

Standard secret keys for server-to-server authorization. Never embed them in client-side apps or public repositories.

Bearer Tokens

Format headers exactly as Authorization: Bearer sk_live_…

Content Type

Every POST, PUT, and PATCH request must include Content-Type: application/json.

OAuth 2.0

Reserved for partners building marketplace apps. Standard enterprise implementations should use API keys.

Production

https://api.ondial.ai/v1

Standard billing rates

Sandbox

https://sandbox.ondial.ai/v1

Free testing; audio is watermarked

URI path versioning is active on v1. Breaking changes follow a 12-month deprecation cycle with engineering contact notices.

API Endpoints

Core endpoints for agents, calls, and integrations

MethodEndpointTitleDescription
  • POST

    /v1/agents

    Create AI Agent

    Compile system prompt, voice characteristics, and behavioral rules into a reusable agent ID.

  • POST

    /v1/calls/config

    Create Call Configuration

    Draft a session without dialing - useful for pre-loading variables before outbound campaigns.

  • PATCH

    /v1/numbers/{number_id}

    Inbound Call Routing

    Bind a purchased number to a specific agent instead of a generic holding queue.

  • POST

    /v1/calls/outbound

    Outbound Call Execution

    Dial a destination in E.164 format and attach an agent when the call is answered.

  • POST

    /v1/calls/{call_id}/transfer

    Transfer Active Call

    Bridge the current session to a target SIP URI or phone number.

  • POST

    /v1/calls/{call_id}/hangup

    End Call

    Terminate the session immediately and trigger the final summary webhook.

  • GET

    /v1/analytics/agents/{agent_id}

    Fetch Analytics

    Pull historical minutes, average duration, and error rates for a time range.

  • POST

    /v1/webhooks

    Register Webhook

    Add a destination URL and subscribe to the events your system needs.

  • PATCH

    /v1/calls/{call_id}/voice

    Update Voice Configuration

    Alter speaking rate or pitch dynamically during an active call.

  • PATCH

    /v1/calls/{call_id}/language

    Language Selection

    Disable auto-detect and force a specific locale such as fr-CA.

  • POST

    /v1/calls/{call_id}/sync

    Trigger CRM Sync

    Bypass normal delay and immediately POST call data to your CRM integration.

  • POST

    /v1/integrations/calendar/book

    Post Appointment Data

    Inject extracted scheduling data into connected Google or Outlook accounts.

  • GET

    /v1/calls/{call_id}/qualification

    Fetch Lead Qualification

    Return a boolean array of which required questions the caller answered positively.

  • POST

    /v1/notifications

    Trigger Notifications

    Send SMS or email alerts to admins based on call events.

  • GET

    /v1/calls/{call_id}/summary

    Retrieve Call Summary

    Return the transcript array and an LLM-generated executive summary.

SDKs

Official packages for your stack

Skip raw HTTP when you can. Use an official OnDial SDK for your preferred language.

Python

pip package

Node.js

npm package

Java

Maven package

PHP

Composer package

Go

go get package

C#

NuGet package

Webhooks

Real-time call state for your architecture

Webhooks push state changes to your systems as the conversation unfolds.

Webhook Events

Critical events include call.ringing, call.answered, speech.user_started, speech.agent_responded, and call.completed.

Retry Logic

On 4xx or 5xx responses, delivery retries up to 5 times with exponential backoff across 24 hours.

Security & Validation

Every payload includes X-OnDial-Signature. Verify with HMAC SHA256 of the raw body using your webhook secret.

Voice Workflow Architecture

From speech to response in under 200ms

  1. Step 010ms
    0ms

    User speaks into their phone.

  2. Step 0220ms
    20ms

    Audio packets travel through the SIP trunk to the OnDial ingress node.

  3. Step 0370ms
    70ms

    STT engine transcribes raw audio bytes into text.

  4. Step 04120ms
    120ms

    Text is processed by the designated LLM using your agent system prompt.

  5. Step 05160ms
    160ms

    LLM streams tokens to the TTS engine.

  6. Step 06190ms
    190ms

    Synthesized audio is pushed back through the telecom trunk.

  7. Step 07Async
    Async

    After the reply, a background webhook logs the interaction and syncs data to your CRM.

Integrations

Connect voice data to your stack

Security Protocol

Hardened at every layer

Performance Metrics

Built for natural conversation at scale

Response latency so bots don't talk over users
< 200ms

Response latency so bots don't talk over users

Availability SLA with financially backed credits
99.99%

Availability SLA with financially backed credits

Concurrent sessions per enterprise tenant
10,000+

Concurrent sessions per enterprise tenant

Media nodes across US, EU, and AP regions
Global

Media nodes across US, EU, and AP regions

Industry Use Cases

Solve distinct architectural challenges by vertical

API Comparison

How OnDial compares

FeatureOnDial APIElevenLabsBland AIVapiRetell AIDeepgram
Core ArchitectureEnterprise Voice Agent APITTS GenerationGeneral CallingVoice UIConversational AISTT / Audio
HIPAA / BAA SupportYes (Standard)VariesYesVariesYesYes
WebSocket Latency< 200msN/A~600ms~500ms~500msN/A
Direct DB/CRM MappingYes (Native)NoLimitedNoLimitedNo
SIP Bridge RoutingYes (Full Control)NoYesYesYesNo
Bring Your Own LLMYesNoNoYesYesNo

Developer FAQ

Frequently asked questions

Common questions from teams integrating the OnDial Voice Agent API.

Yes. You can point purchased numbers to your webhooks for inbound handling, and use the /v1/calls/outbound endpoint to generate calls programmatically.

Ready to Build

Ready to build with the OnDial API?

Stop spending engineering hours on telecom plumbing. Generate sandbox keys and initiate your first programmatic call in minutes.