Nexmo is now called Vonage, but there are still references to Nexmo in our URLs, code snippets and message templates.

Vonage's Voice API allows you to create and manage high-quality voice operation applications on the cloud, such as IVR, WebRTC and PSTN calling. Voice is a HTTP-based RESTful API. It is accessed over HTTPS combined with OAuth2.0 for extra security. Request and response bodies follow the JSON format to make the exchange of information fast, easy and reliable.

API specification

Test the API on SwaggerHub

Base URL

Conceptual model

Conceptual model


Conversation, leg, conference

Communication can be 1-to-1 or 1-to-n from or to the Vonage platform. While 1-to-1 calls are known as a leg, 1-to-n calls are known as a conversation. Each call connected to a conversation is its own leg.


A Nexmo Call Control Object (NCCO) is a JSON array that you use to control the flow of a Voice API call. For your NCCO to execute correctly, the JSON objects must be valid.

The Call event model is asynchronous. A static or dynamically created NCCO script provides the business logic for your Call. When a Call is placed to your number, Vonage (formerly Nexmo) makes a synchronous request to the webhook endpoint you set as the answer_url for your number and retrieves the NCCO object that controls the Call.

Extended information regarding NCCOs can be found in our NCCO reference page.


Method to augment or alter the behavior of your application via user-defined HTTP callbacks. In your case webhook defines the behavior of your application.


Dual Tone Multi Frequency (DTMF), is a form of signaling used by phone systems to transmit the digits 0-9 and the * and # characters.


Vonage uses Text-to-speech engines to allow you to play machine generated speech in your calls. This feature can be added via NCCOs with the use of talk action or by making a put request on an in-progress call. There are 23 languages available with different styles and genders.


Vonage's Voice API offers the ability to record call audio in several ways:

SIP Trunk

To use Session Initiation Protocol (SIP), see the SIP documentation page

API workflow

API workflow


  • Scales with existing web solutions
  • Easy to configure
  • Records and stores any call
  • Conference calls
  • Text-to-Speech messages in 23 languages

How to...

The API is divided into 2 groups of resources:

  • Application: Vonage App Management resource. Allows CRUD on applications
  • Voice: Voice call management resource. Allows CRUD on the call

Create the Vonage Application

Remember the application UUID, because it will be needed to make calls.


  1. Select POST /applications
  2. Click on Try out
  3. Edit the request body by filling the name and answer_url
  4. Click on execute button
  5. Check the response code and message


  1. Click on (POST) Create new application resource
  2. Fill the name and answer_url
  3. Click on send
  4. Check the response code and message

Create a call


  1. Select POST /voice/calls
  2. Click on Try out
  3. Update the ApplicationID header with your application identifier
  4. Edit the request body by filling to, from and answer_url fields
  5. Click on execute button
  6. Check the response code and message


  1. Click on (POST) Create an outbound call Update the Headers section by filling the ApplicationId field
  2. Update the body fields
  3. Click on send
  4. Check the response code and message

Return codes

Code Description
200 Success.
201 Created.
202 Accepted.
302 Found. Link in location header.
400 Bad request.
401 Unauthorized.
403 Forbidden.
404 Not found.
405 Method not allowed.
412 Precondition failed.
429 Too many requests.
500 Internal server error.
502 Bad gateway.
503 Service unavailable.

Mopinion feedback