Product

How Jentic Works

From API assessment to production deployment in four simple steps.

Product Overview

PLATFORM

Jentic OneSelf-hosted, open-source control plane between your agents and any APIAPI DirectoryBrowse 10,000+ APIs ready for AI agent integrationAPI ScorecardAssess your APIs for AI-readiness with automated scoringAgentic SandboxSafely simulate AI agents with your production APIsJenticSign in to the Jentic web app

CAPABILITIES

IntegrationConnect AI agents to your existing systemsWorkflowsDiscover and capture successful agent workflowsGovernanceDefine, observe, and enforce AI policies

TOOLS

Arazzo UIVisualize Arazzo workflows as interactive documentationArazzo EditorBuild and edit multi-step API workflows visually
Pricing
Developers

GET STARTED

DocumentationGuides and API referenceQuickstartGet up and running in minutes

COMMUNITY

GitHubOpen source projects and examples
Resources
BlogLatest articles and insightsPress & MediaBrand assets and press contactOpen StandardsBuilt on open specs. Never locked in.NewsletterAPIs, AI agents, mixed with architecture and strategy.
Company
About UsOur mission and teamCareersJoin our teamContactGet in touch
Install Jentic OneBook a Demo
How Jentic WorksJentic OneAPI DirectoryAPI ScorecardAgentic SandboxJenticIntegrationWorkflowsGovernanceArazzo UIArazzo Editor
Pricing
DocumentationQuickstartGitHub
BlogPress & MediaOpen StandardsNewsletter
About UsCareersContact
Request a demoInstall Jentic One
Jentic
For Enterprises
  • Product Overview
  • Agentic Sandbox
  • Book a Demo
For Developers
  • Jentic One
  • Documentation
  • GitHub
Company
  • About Jentic
  • Careers
  • Contact Us
ISO/IEC 27001:2022 certification badge issued by Prescient Security

Information Security Management System

Certified to ISO/IEC 27001:2022 by Prescient Security

Terms & Conditions•Privacy Policy•
© 2026 Jentic. All rights reserved.
APIs / Communications / Nexmo / Voice API
Voice API logo

Nexmo Voice API

Browse all Nexmo APIs
★ Only Publicly Available OpenAPI DocumentCommunicationsVoice Telephonybearer9 EndpointsREST

For Agents

Place outbound voice calls, control in-progress calls with TTS, audio streaming, and DTMF, and retrieve historical call records by UUID.

Use for: I need to place an outbound call to a customer, Play a TTS announcement into an in-progress call, Retrieve the status of a specific Vonage call by UUID, List all completed calls from the last 24 hours

Not supported: Does not send SMS, WhatsApp, or run identity verification — use for outbound voice calling and in-call control only.

Jentic publishes the only available OpenAPI specification for Voice API, keeping it validated and agent-ready. The Vonage Voice API places outbound calls, controls in-progress calls, and surfaces historical call records through 9 endpoints. Calls are driven by a Nexmo Call Control Object that defines the connect, talk, stream, and input actions, and live calls can be muted, hung up, or sent DTMF tones, audio streams, and TTS prompts mid-call. The API is authenticated with JWT bearer tokens scoped to a Vonage application that holds the public key.

Jentic One on GithubView OpenAPI Document

Install Jentic One Beta

Connect the Voice API to your agent

Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Voice API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.

Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.

1

Step 1: Jentic One Host machine

# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
2

Step 2: Agent machine

# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register       # connects your agent to your Jentic One instance

Jentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.

Capabilities

What an agent can do with Voice API.

Place outbound voice calls to a phone number, SIP endpoint, or WebSocket using a Nexmo Call Control Object

List historical calls with filters for status, direction, and date range for billing and audit

Modify an in-progress call to mute, unmute, hang up, or transfer to a new NCCO

Stream an audio file into an active call and stop the stream when complete

Play text-to-speech prompts into an active call in dozens of languages and voices

Send DTMF tones into a call programmatically for IVR navigation or accepting input from a remote system

Use Cases

Patterns agents use Voice API for, with concrete tasks.

★ Outbound Voice Notification

Place an outbound voice call that delivers a TTS message — appointment reminders, alert escalations, or callback offers. POST / accepts the to and from endpoints plus an NCCO that defines the talk action with the message and language. Status callbacks fire at ringing, answered, and completed, allowing retry logic when the call goes unanswered.

POST / with to=[{type:'phone',number:'+15551234567'}], from={type:'phone',number:'+447700900000'}, and an NCCO containing a talk action delivering the reminder, then GET /{uuid} to track the status

In-Call Audio and TTS Control

Drive a live call mid-flight by playing TTS, streaming audio, or injecting DTMF without rebuilding the call. PUT /{uuid}/talk plays a TTS prompt, PUT /{uuid}/stream starts an audio file, and PUT /{uuid}/dtmf sends touch-tone digits. The matching DELETE endpoints stop streaming or talking, freeing the call to receive the next instruction.

PUT /{uuid}/talk with text='Please hold' and language='en-US' to play a hold message, then DELETE /{uuid}/talk and PUT /{uuid}/stream to play music

Call Detail Record Lookup

Retrieve historical call records for billing reconciliation, support investigations, or analytics dashboards. GET / lists calls with filters for date_start, date_end, status, and direction, and GET /{uuid} returns the full record including duration, price, and direction for a specific call. Pair with the Reports API for bulk historical exports.

GET / with status=completed and date_start covering the last 24 hours to list completed calls, then GET /{uuid} for any call that needs deeper investigation

AI Agent Voice Operations

Through Jentic, an AI agent places and controls calls without holding the Vonage application's private key. The agent searches Jentic with the intent 'place an outbound voice call', loads the POST / schema, and executes with the to, from, and NCCO arguments. Mid-call talk, stream, and DTMF endpoints become subsequent Jentic calls, with JWT bearer tokens minted from the MAXsystem vault.

Use Jentic search query 'place an outbound voice call' to load POST /, execute with to, from, and NCCO, then chain PUT /{uuid}/talk to play a TTS prompt

Key Endpoints

9 endpoints — jentic publishes the only available openapi specification for voice api, keeping it validated and agent-ready.

METHOD

PATH

DESCRIPTION

POST

/

Create an outbound call

GET

/

List historical calls

GET

/{uuid}

Get details of a specific call

PUT

/{uuid}

Modify an in-progress call

PUT

/{uuid}/talk

Play TTS into an active call

PUT

/{uuid}/stream

Stream audio into an active call

PUT

/{uuid}/dtmf

Send DTMF tones into an active call

DELETE

/{uuid}/stream

Stop streaming audio into a call

POST

/

Create an outbound call

GET

/

List historical calls

GET

/{uuid}

Get details of a specific call

PUT

/{uuid}

Modify an in-progress call

PUT

/{uuid}/talk

Play TTS into an active call

PUT

/{uuid}/stream

Stream audio into an active call

PUT

/{uuid}/dtmf

Send DTMF tones into an active call

DELETE

/{uuid}/stream

Stop streaming audio into a call

Why Jentic?

Three things that make agents converge on Jentic-routed access.

Credential management

Credential isolation

The Vonage application ID and private key are stored encrypted in the Jentic MAXsystem vault. Jentic mints a short-lived JWT at execution time and adds it as Authorization: Bearer, so the agent never sees the private key.

Intent-based discovery

Intent-based discovery

Agents search Jentic with the intent 'place an outbound voice call' and Jentic returns POST / with the NCCO schema, so calls can be assembled with structured to, from, and ncco arguments instead of hand-built HTTP requests.

Time to first call

Time to first call

Direct Voice integration: 2-4 days for JWT minting, NCCO modelling, and webhook handling. Through Jentic: under 1 hour to search, load, and execute the create-call and in-call control endpoints.

Related APIs

Alternatives and complements available in the Jentic catalogue.

Complementary

Vonage Messages API

→

Sends SMS, WhatsApp, and other text-channel messages alongside voice contact attempts.

Use Voice when the contact path is a phone call; use Messages when the same recipient should also receive an SMS or WhatsApp.

Complementary

Vonage Reports API

→

Bulk historical export of call records for billing and analytics.

Use Voice's GET / for recent calls; use Reports API when exporting millions of historical records.

Alternative

Twilio Voice

→

Twilio's voice service offers comparable outbound calling, TTS, and DTMF control.

Choose Twilio Voice when the rest of the stack is already on Twilio; choose Vonage Voice for accounts standardising on NCCO-based call flows.

FAQs

Specific to using Voice API through Jentic.

Why is there no official OpenAPI spec for Voice API?

Vonage does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Voice API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.

What authentication does the Vonage Voice API use?

Voice uses JWT bearer tokens. The application signs a short-lived JWT with the private key paired to the Vonage application's public key and sends it as Authorization: Bearer <jwt> on every call. Jentic stores the application ID and private key in the MAXsystem vault and mints the JWT at execution time.

How do I place an outbound voice call?

POST / with a JSON body containing to, from, and an answer_url or ncco that defines the call flow. The response includes a uuid that identifies the call for subsequent GET /{uuid} status checks and PUT /{uuid}/talk or /stream control calls.

Can I play a TTS message into a live call?

Yes. PUT /{uuid}/talk with the text, language, and voice plays the TTS prompt into the connected call leg. DELETE /{uuid}/talk stops the playback early so the next instruction (a stream, transfer, or hangup) can take over.

How do I retrieve a list of recent Vonage calls?

GET / accepts date_start, date_end, status, and direction query parameters and returns paginated call records with duration, price, and direction. For exports beyond a few thousand calls use the Vonage Reports API which is purpose-built for bulk record retrieval.

How do I place a Vonage voice call through Jentic?

Run pip install jentic, then use the Jentic search query 'place an outbound voice call' to load POST /. Execute with to, from, and an NCCO containing a talk action — Jentic mints the JWT from the application credentials in the vault. Sign up at https://app.jentic.com/sign-up.

GET STARTED

Start building with Voice API

Explore with Jentic
View OpenAPI Document