Telnyx Calling: Voice API — Documentation Index
Voice API documentation within the Calling section of the Telnyx developer docs (https://developers.telnyx.com). This file: https://developers.telnyx.com/development/llms/calling-voice-api-llms-txt.md · Root index: https://developers.telnyx.com/llms.txt
Voice API Fundamentals
- Getting Started: Complete step-by-step guide to get started with Telnyx Voice API, from account creation to making your first call.
- Commands and Resources: Reference of Telnyx Voice API commands and resources — calls, conferences, recordings, transcriptions — with usage patterns and lifecycle examples.
- Webhooks: Reference for Voice API webhook events, payloads, configuration, and delivery behavior.
- Sending Commands: Send voice commands to Telnyx Programmable Voice — answer, hangup, transfer, play audio, gather DTMF — with code examples and parameter reference.
- Receiving Webhooks: Receive Telnyx Programmable Voice webhooks to drive call flow in real time. Includes event types, payload structure, retries, and SDK examples.
- Command Retries: Telnyx’s Programmable Voice Resources page explain in detail how to
Voice Features
- Speech-to-Text: Transcribe Telnyx Programmable Voice calls with the Voice API and TeXML. Includes language selection, real-time vs post-call modes, and code samples.
- Text-to-Speech: Use text-to-speech on Telnyx Programmable Voice to speak prompts and dynamic content. Supports AWS Polly, Google, ElevenLabs, Azure, and Telnyx voices.
- Call Queueing: how to use the Telnyx Call Queue API to create and manage call
- Answering Machine Detection: Telnyx’s Programmable Voice lets you build custom answering machine
- Call Recordings Storage: Telnyx’s Programmable Voice gives customers the ability to store
- Pay: Accept payments securely over the phone. Telnyx’s Pay over Voice feature guides callers through an automated IVR flow to collect payment details, sends them to the configured payment processor, and r…
- SIPREC Server Configuration: Configure a Telnyx SIPREC session recording server (SRS) to capture and store VoIP call media for compliance, quality assurance, and call archival.
- SIPREC Client: Use the Telnyx SIPREC client to record Voice API and TeXML calls to an external SIPREC server. Includes session setup, metadata, and security options.
AI Capabilities
- Gather Using AI: Capture caller input with AI on Telnyx Programmable Voice. Use Gather using AI to transcribe speech, classify intent, and branch your IVR dynamically.
- Attach an AI Assistant to a Call: Learn how to attach a pre-configured AI assistant to a live call using the ai_assistant_start command.
- Dialogflow Integration: Telnyx’s Dialogflow tutorial will teach you how to create and
- Real-Time Media Streaming: Stream call audio in real time over WebSockets with Telnyx Programmable Voice for transcription, AI integration, and bidirectional media.
- Conversation Relay: Use Conversation Relay to connect Telnyx calls to your WebSocket application for real-time speech, DTMF, and text-to-speech control.
- Noise Suppression: Enable AI noise suppression on Telnyx Programmable Voice calls to remove background noise from inbound and outbound audio for clearer conversations.
- Deepfake Detection: Detect AI-generated voices on live calls with Telnyx’s real-time
Tutorials
- IVR: How to build an IVR using Telnyx Voice API. Start building on Telnyx today.
- Call Center: How to build a call center application using Telnyx APIs. Start
- Call Tracking: How to build a call tracking application using Telnyx Voice API.
- Conferencing: How to build a conferencing using Telnyx Voice API. Start building
Regional & Restrictions
- Voice API Services in Europe: Telnyx Voice API services in Europe — use European points of presence to reduce latency and meet data residency requirements for EU-based voice apps.
- L1 Account Restrictions: Restrictions that apply to Programmable Voice on Telnyx L1 verified accounts — automated speak warnings, call limits, and steps to upgrade verification.
API Reference (Voice API)
Call Control Applications
- List call control applications: Return a list of call control applications.
- Create a call control application: Create a call control application.
- Delete a call control application: Deletes a call control application.
- Retrieve a call control application: Retrieves the details of an existing call control application.
- Update a call control application: Updates settings of an existing call control application.
Call Information
- List all active calls for given connection: Lists all active calls for given connection. Acceptable connections are either SIP connections with webhook_url or xml_request_url, call control or texml. Retu…
- Retrieve a call status: Returns the status of a call (data is available 10 minutes after call ended).
Debugging
- List call events: Filters call events by given filter parameters. Events are ordered by
occurred_at. If filter forleg_idorapplication_session_idis not present, it only…
Call Commands
- Dial: Dial a number or SIP URI from a given connection. A successful response will include a
call_leg_idwhich can be used to correlate the command with subsequent… - Answer call: Answer an incoming call. You must issue this command before executing subsequent commands on an incoming call.
- Bridge calls: Bridge two call control calls.
- Start AI Assistant: Start an AI assistant on the call.
- Join AI Assistant Conversation: Add a participant to an existing AI assistant conversation. Use this command to bring an additional call leg into a running AI conversation.
- Stop AI Assistant: Stop an AI assistant on the call.
- Add messages to AI Assistant: Add messages to the conversation started by an AI assistant on the call.
- Start Conversation Relay: Start a Conversation Relay session on an active call. Conversation Relay connects the call audio to your WebSocket so your application can exchange realtime me…
- Stop Conversation Relay: Stop the active Conversation Relay session on a call.
- Update client state: Updates client state
- Enqueue call: Put the call in a queue.
- Forking start: Call forking allows you to stream the media from a call to a specific target in realtime.
- Forking stop: Stop forking a call.
- Gather: Gather DTMF signals to build interactive menus.
- Gather stop: Stop current gather.
- Gather using AI: Gather parameters defined in the request payload using a voice assistant.
- Gather using audio: Play an audio file on the call until the required DTMF signals are gathered to build interactive menus.
- Gather using speak: Convert text to speech and play it on the call until the required DTMF signals are gathered to build interactive menus.
- Hangup call: Hang up the call.
- Reject a call: Reject an incoming call.
- Remove call from a queue: Removes the call from a queue.
- Process a payment: Collect payment details from the caller using DTMF and either charge or tokenize the payment method through a configured Pay connector. Pay pauses active call…
- Play audio URL: Play an audio file on the call. If multiple play audio commands are issued consecutively,
- Stop audio playback: Stop audio being played on the call.
- Recording start: Start recording the call. Recording will stop on call hang-up, or can be initiated via the Stop Recording command.
- Recording stop: Stop recording the call.
- Record resume: Resume recording the call.
- Record pause: Pause recording the call. Recording can be resumed via Resume recording command.
- Send DTMF: Sends DTMF tones from this leg. DTMF tones will be heard by the other end of the call.
- SIP Refer a call: Initiate a SIP Refer on a Call Control call. You can initiate a SIP Refer at any point in the duration of a call.
- SIPREC start: Start siprec session to configured in SIPREC connector SRS.
- SIPREC stop: Stop SIPREC session.
- Speak text: Convert text to speech and play it back on the call. If multiple speak text commands are issued consecutively, the audio files will be placed in a queue awaiti…
- Streaming start: Start streaming the media from a call to a specific WebSocket address or Dialogflow connection in near-realtime. Audio will be delivered as base64-encoded RTP…
- Streaming stop: Stop streaming a call to a WebSocket.
- Noise Suppression Start (BETA): Start noise suppression on an active call to reduce background noise. This feature is currently in beta.
- Noise Suppression Stop (BETA): Stop noise suppression previously started on an active call. This feature is currently in beta.
- Switch supervisor role: Switch the supervisor role for a bridged call. This allows switching between different supervisor modes during an active call
- Transcription start: Start real-time transcription. Transcription will stop on call hang-up, or can be initiated via the Transcription stop command.
- Transcription stop: Stop real-time transcription.
- Transfer call: Transfer a call to a new destination. If the transfer is unsuccessful, a
call.hangupwebhook for the other call (Leg B) will be sent indicating that the tran…
Callbacks
- Call Answered
- Call Cost
- Call Deepfake Detection Error
- Call Deepfake Detection Result
- Call Hold
- Call Initiated
- Call Streaming Failed
- Call Streaming Started
- Call Streaming Stopped
- Call Unhold
- Call Bridged
- Call Conversation Ended
- Call Conversation Insights Generated
- Call Enqueued
- Call Left Queue
- Call Fork Started
- Call Fork Stopped
- Call Dtmf Received
- Call Gather Ended
- Call AI Gather Ended
- Call AI Gather Message History Updated
- Call AI Gather Partial Results
- Call Playback Ended
- Call Playback Started
- Call Hangup
- Call Recording Saved
- Call Payment Completed
- Call Payment Progress
- Call Speak Ended
- Call Recording Error
- Call Recording Transcription Saved
- Call Refer Completed
- Call Refer Failed
- Call Refer Started
- Call Siprec Failed
- Call Siprec Started
- Call Siprec Stopped
- Call Speak Started
- Transcription
- Call Machine Detection Ended
- Call Machine Greeting Ended
- Call Machine Premium Detection Ended
- Call Machine Premium Greeting Ended
- Conference Created
- Conference Ended
- Conference Floor Changed
- Conference Participant Joined
- Conference Participant Left
- Conference Participant Playback Ended
- Conference Participant Playback Started
- Conference Participant Speak Ended
- Conference Participant Speak Started
- Conference Playback Ended
- Conference Playback Started
- Conference Recording Saved
- Conference Speak Ended
- Conference Speak Started
Conference Commands
- List conferences: Lists conferences. Conferences are created on demand, and will expire after all participants have left the conference or after 4 hours regardless of the number…
- Create conference: Create a conference from an existing call leg using a
call_control_idand a conference name. Upon creating the conference, the call will be automatically bri… - Retrieve a conference: Retrieve an existing conference
- Hold conference participants: Hold a list of participants in a conference call
- Join a conference: Join an existing call leg to a conference. Issue the Join Conference command with the conference ID in the path and the
call_control_idof the leg you wish t… - Leave a conference: Removes a call leg from a conference and moves it back to parked state.
- Mute conference participants: Mute a list of participants in a conference call
- Play audio to conference participants: Play audio to all or some participants on a conference call.
- Conference recording pause: Pause conference recording.
- Conference recording resume: Resume conference recording.
- Conference recording start: Start recording the conference. Recording will stop on conference end, or via the Stop Recording command.
- Conference recording stop: Stop recording the conference.
- Speak text to conference participants: Convert text to speech and play it to all or some participants.
- Stop audio being played on the conference: Stop audio being played to all or some participants on a conference call.
- Unhold conference participants: Unhold a list of participants in a conference call
- Unmute conference participants: Unmute a list of participants in a conference call
- Update conference participant: Update conference participant supervisor_role
- End a conference: End a conference and terminate all active participants.
- Gather DTMF using audio prompt in a conference: Play an audio file to a specific conference participant and gather DTMF input.
- Send DTMF to conference participants: Send DTMF tones to one or more conference participants.
- List conference participants: Lists conference participants
- Retrieve a conference participant: Retrieve details of a specific conference participant by their ID or label.
- Update a conference participant: Update properties of a conference participant.