Managing Applications

A Vonage API application contains the security and configuration information you need to connect to Vonage endpoints and use the Vonage APIs. Each Vonage application created can support multiple capabilities. For example, you can create an Application that supports using the Voice, Messages and RTC APIs.

You can use the Vonage CLI to create and manage your applications, add new capabilities, and update your webhook configuration information.

Creating an Application

The vonage apps create <name> command allows you to create an application. You must pass in an application name, as the CLI will not generate one for you.

The command has the following flags:

Note: If you do not supply your own key, Vonage will create one for you. However, if you do not save the key when the application is created, you will not be able to access it again. You will have to regenerate the key if you lose it.

vonage apps create 'Your application'

✅ Creating Application
Saving private key ... Done!
Application created

Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
  None Enabled
vonage apps create 'Your application'

✅ Creating Application
Saving private key ... Done!
Application created

Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
  None Enabled
vonage apps create 'Your application' ✅ Creating Application Saving private key ... Done! Application created Name: Your application Application ID: 00000000-0000-0000-0000-000000000000 Improve AI: Off Private/Public Key: Set Capabilities: None Enabled

Listing Your Applications

By default, when you run vonage apps it will run the same sub-command as vonage apps list. There are a number of flags you can pass to refine your search:

vonage apps

✅ Loading applications... Done

App ID                                Name               Capabilities
------------------------------------  -----------------  ------------------------------------------------------
00000000-0000-0000-0000-000000000000  Application        None
00000000-0000-0000-0000-000000000000  voice Application  Messages, Voice
00000000-0000-0000-0000-000000000000  All enabled        Messages, Network APIs, RTC, VBC, Verify, Video, Voice
vonage apps

✅ Loading applications... Done

App ID                                Name               Capabilities
------------------------------------  -----------------  ------------------------------------------------------
00000000-0000-0000-0000-000000000000  Application        None
00000000-0000-0000-0000-000000000000  voice Application  Messages, Voice
00000000-0000-0000-0000-000000000000  All enabled        Messages, Network APIs, RTC, VBC, Verify, Video, Voice
vonage apps ✅ Loading applications... Done App ID Name Capabilities ------------------------------------ ------------------ ------------------------------------------------------ 00000000-0000-0000-0000-000000000000 Application None 00000000-0000-0000-0000-000000000000 voice Application Messages, Voice 00000000-0000-0000-0000-000000000000 All enabled Messages, Network APIs, RTC, VBC, Verify, Video, Voice

Show Application Details

The show sub command allows you to get the details of a specific application. The format of the command is vonage apps show <id>, where <id> is the UUID of the application.

Note: This will not display the public key. If you need to view the public key, you can use the --show-all, --json, or --yaml flags, which will not redact any information.

vonage apps show 00000000-0000-0000-0000-000000000000

✅ Fetching application

Name: All enabled
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
  VOICE:
    Uses Signed callbacks: On
    Conversation TTL: 41 hours
    Leg Persistence Time: 6 days
    Event URL: [GET] https://example.com/voice/event
    Answer URL: [GET] https://example.com/voice/answer
    Fallback URL: [GET] https://example.com/voice/fallback
  
  MESSAGES:
    Authenticate Inbound Media: On
    Webhook Version: v1
    Status URL: [POST] https://example.com/meetings/status
    Inbound URL: [POST] https://example.com/meetings/inbound
  
  VERIFY:
    Webhook Version: v2
    Status URL: [POST] https://example.com/verify2/status
  
  RTC:
    Event URL: [POST] https://example.com/rtc/event
    Uses Signed callbacks: On
  
  VIDEO:
    Archive Status URL: [POST] https://example.com/video/archive-status
    Archive Status Signature Secret: archive status
    Broadcast Status URL: [POST] https://example.com/video/broadcast-status
    Broadcast Status Signature Secret: broadcast status
    Caption Status URL: [POST] https://example.com/video/caption-status
    Caption Status Signature Secret: caption-status
    Connection Created URL: [POST] https://example.com/video/connected-created
    Connection Created Signature Secret: connection created
    Connection Destroyed URL: [POST] https://example.com/video/connection-destroyed
    Connection Destroyed Signature Secret: connection destroyed
    Render Status URL: [POST] https://example.com/video/render-status
    Render Status Signature Secret: render status
    SIP Call Created URL: [POST] https://example.com/video/sip1
    SIP Call Created Signature Secret: Off
    SIP Call Destroyed URL: [POST] https://example.com/video/sip3
    SIP Call Destroyed Signature Secret: Off
    SIP Call Mute Forced URL: [POST] https://example.com/video/sip4
    SIP Call Mute Forced Signature Secret: Off
    SIP Call Updated URL: [POST] https://example.com/video/sip2
    SIP Call Updated Signature Secret: Off
    Stream Created URL: [POST] https://example.com/video/stream-created
    Stream Created Signature Secret: stream created
    Stream Destroyed URL: [POST] https://example.com/video/stream-destroyed
    Stream Destroyed Signature Secret: stream destroyed
  
    RECORDINGS STORAGE:
      Cloud Storage: On
      Storage Type: AmazonS3
      Credential: manchuck_aws_bucket
      End to End Encryption: On
      Server Side Encryption: On
  
  NETWORK APIS:
    Redirect URL: [GET] https://example.com/gnp/redirect
  
  NB: VBC capabilities is not supported through the command line.
vonage apps show 00000000-0000-0000-0000-000000000000

✅ Fetching application

Name: All enabled
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
  VOICE:
    Uses Signed callbacks: On
    Conversation TTL: 41 hours
    Leg Persistence Time: 6 days
    Event URL: [GET] https://example.com/voice/event
    Answer URL: [GET] https://example.com/voice/answer
    Fallback URL: [GET] https://example.com/voice/fallback
  
  MESSAGES:
    Authenticate Inbound Media: On
    Webhook Version: v1
    Status URL: [POST] https://example.com/meetings/status
    Inbound URL: [POST] https://example.com/meetings/inbound
  
  VERIFY:
    Webhook Version: v2
    Status URL: [POST] https://example.com/verify2/status
  
  RTC:
    Event URL: [POST] https://example.com/rtc/event
    Uses Signed callbacks: On
  
  VIDEO:
    Archive Status URL: [POST] https://example.com/video/archive-status
    Archive Status Signature Secret: archive status
    Broadcast Status URL: [POST] https://example.com/video/broadcast-status
    Broadcast Status Signature Secret: broadcast status
    Caption Status URL: [POST] https://example.com/video/caption-status
    Caption Status Signature Secret: caption-status
    Connection Created URL: [POST] https://example.com/video/connected-created
    Connection Created Signature Secret: connection created
    Connection Destroyed URL: [POST] https://example.com/video/connection-destroyed
    Connection Destroyed Signature Secret: connection destroyed
    Render Status URL: [POST] https://example.com/video/render-status
    Render Status Signature Secret: render status
    SIP Call Created URL: [POST] https://example.com/video/sip1
    SIP Call Created Signature Secret: Off
    SIP Call Destroyed URL: [POST] https://example.com/video/sip3
    SIP Call Destroyed Signature Secret: Off
    SIP Call Mute Forced URL: [POST] https://example.com/video/sip4
    SIP Call Mute Forced Signature Secret: Off
    SIP Call Updated URL: [POST] https://example.com/video/sip2
    SIP Call Updated Signature Secret: Off
    Stream Created URL: [POST] https://example.com/video/stream-created
    Stream Created Signature Secret: stream created
    Stream Destroyed URL: [POST] https://example.com/video/stream-destroyed
    Stream Destroyed Signature Secret: stream destroyed
  
    RECORDINGS STORAGE:
      Cloud Storage: On
      Storage Type: AmazonS3
      Credential: manchuck_aws_bucket
      End to End Encryption: On
      Server Side Encryption: On
  
  NETWORK APIS:
    Redirect URL: [GET] https://example.com/gnp/redirect
  
  NB: VBC capabilities is not supported through the command line.
vonage apps show 00000000-0000-0000-0000-000000000000 ✅ Fetching application Name: All enabled Application ID: 00000000-0000-0000-0000-000000000000 Improve AI: Off Private/Public Key: Set Capabilities: VOICE: Uses Signed callbacks: On Conversation TTL: 41 hours Leg Persistence Time: 6 days Event URL: [GET] https://example.com/voice/event Answer URL: [GET] https://example.com/voice/answer Fallback URL: [GET] https://example.com/voice/fallback MESSAGES: Authenticate Inbound Media: On Webhook Version: v1 Status URL: [POST] https://example.com/meetings/status Inbound URL: [POST] https://example.com/meetings/inbound VERIFY: Webhook Version: v2 Status URL: [POST] https://example.com/verify2/status RTC: Event URL: [POST] https://example.com/rtc/event Uses Signed callbacks: On VIDEO: Archive Status URL: [POST] https://example.com/video/archive-status Archive Status Signature Secret: archive status Broadcast Status URL: [POST] https://example.com/video/broadcast-status Broadcast Status Signature Secret: broadcast status Caption Status URL: [POST] https://example.com/video/caption-status Caption Status Signature Secret: caption-status Connection Created URL: [POST] https://example.com/video/connected-created Connection Created Signature Secret: connection created Connection Destroyed URL: [POST] https://example.com/video/connection-destroyed Connection Destroyed Signature Secret: connection destroyed Render Status URL: [POST] https://example.com/video/render-status Render Status Signature Secret: render status SIP Call Created URL: [POST] https://example.com/video/sip1 SIP Call Created Signature Secret: Off SIP Call Destroyed URL: [POST] https://example.com/video/sip3 SIP Call Destroyed Signature Secret: Off SIP Call Mute Forced URL: [POST] https://example.com/video/sip4 SIP Call Mute Forced Signature Secret: Off SIP Call Updated URL: [POST] https://example.com/video/sip2 SIP Call Updated Signature Secret: Off Stream Created URL: [POST] https://example.com/video/stream-created Stream Created Signature Secret: stream created Stream Destroyed URL: [POST] https://example.com/video/stream-destroyed Stream Destroyed Signature Secret: stream destroyed RECORDINGS STORAGE: Cloud Storage: On Storage Type: AmazonS3 Credential: manchuck_aws_bucket End to End Encryption: On Server Side Encryption: On NETWORK APIS: Redirect URL: [GET] https://example.com/gnp/redirect NB: VBC capabilities is not supported through the command line.

Update an Application

vonage apps update <id> allows you to update the name of an existing application, change the Improve AI setting, or set a new public key:

vonage apps update 00000000-0000-0000-0000-000000000000 `
  --name="New Application Name"
  
✅ Fetching Application
✅ Updating Application

Name: New Application Name
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set
vonage apps update 00000000-0000-0000-0000-000000000000 ^
  --name="New Application Name"
  
✅ Fetching Application
✅ Updating Application

Name: New Application Name
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set
vonage apps update 00000000-0000-0000-0000-000000000000 \ --name="New Application Name" ✅ Fetching Application ✅ Updating Application Name: New Application Name Application ID: 00000000-0000-0000-0000-000000000000 Improve AI: Off Private/Public Key: Set

Delete an Application

You can delete an application with the command vonage apps delete <id>, where id is the UUID of the application:

vonage apps delete 00000000-0000-0000-0000-000000000000

✅ Fetching application
Delete application New Name (7d7133ab-de4e-4b7a-8e1e-376670077c71)? [y/n] 
✅ Deleting application
vonage apps delete 00000000-0000-0000-0000-000000000000

✅ Fetching application
Delete application New Name (7d7133ab-de4e-4b7a-8e1e-376670077c71)? [y/n] 
✅ Deleting application
vonage apps delete 00000000-0000-0000-0000-000000000000 ✅ Fetching application Delete application New Name (7d7133ab-de4e-4b7a-8e1e-376670077c71)? [y/n] ✅ Deleting application