Managing Capabilities

The vonage apps capabilities command can be used to add, update, and remove the Vonage API capabilities associated with your application.

Adding and Updating a Capability

To add a new capability to an application, or update the settings of a capability that an application has already been configured to use, run the command vonage apps capabilities update <application-id> <capability>.

Each API has a different set of flags for its associated settings to be configured; the list of flags for each API can be found in the relevant section below.

Network Features

Flag Description Type
--network-app-id Network registration application ID String
--network-redirect-url URL to redirect to exchange code for token String
vonage apps capabilities update 00000000-0000-0000-0000-000000000000 networkApis `
  --network-app-id'00000000-0000-0000-0000-000000000000' `
  --network-redirect-url='https://example.com/network/redirect'
  
✅ Fetching Application
✅ Adding network capability to application 00000000-0000-0000-0000-000000000000

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

Capabilities:
  NETWORK APIS:
    Redirect URL: [GET] https://example.com/network/redirect

Messages

Flag Description Type
--messages-inbound-url URL for inbound messages String
--messages-status-url URL for status messages String
--messages-version Version for webhook data. Must be either "v0.1" or "v1" String
--messages-authenticate-media Authenticate inbound media Boolean
vonage apps capabilities update 00000000-0000-0000-0000-000000000000 messages `
  --messages-inbound-url='https://example.com/webhooks/messages/inbound' `
  --messages-status-url='https://example.com/webhooks/messages/status' `
  --messages-version='v1' \
  --messages-authenticate-media                                                                                                                                                                                 [boolean]
  
✅ Fetching Application
✅ Adding messages capability to application 00000000-0000-0000-0000-000000000000

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

Capabilities:
 MESSAGES:
    Authenticate Inbound Media: On
    Webhook Version: v1
    Status URL: [POST] https://manchuck.com/meetings/status
    Inbound URL: [POST] https://manchuck.com/meetings/inbound

Verify

Flag Description Type
--verify-status-url URL for verify status messages String
vonage apps capabilities update 00000000-0000-0000-0000-000000000000 verify `
  --verify-status-url='https://example.com/webhooks/verify/status'
  
✅ Fetching Application
✅ Adding voice capability to application 00000000-0000-0000-0000-000000000000

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

Capabilities:
 VERIFY:
    Webhook Version: v2
    Status URL: [POST] https://example.com/webhooks/verify/status

Voice

Flag Description Type
--voice-signed-callbacks Enable signed callbacks Boolean
--voice-conversations-ttl The time-to-live for conversations (measured in seconds)
--voice-leg-persistence-time The persistence duration for legs (measured in days)
--voice-region All inbound, programmable SIP and SIP connect calls will be sent to the selected region. If the call is using a regional endpoint this will override the application setting String
--voice-answer-url Answer Webhook URL Address String
--voice-answer-http Answer Webhook HTTP Method String
--voice-answer-connection-timeout Answer connection timeout
--voice-answer-socket-timeout Answer socket timeout
--voice-event-url Event Webhook URL Address String
--voice-event-http Event Webhook HTTP Method String
--voice-event-connection-timeout Event connection timeout
--voice-event-socket-timeout Event socket timeout
--voice-fallback-url Fallback Webhook URL Address String
--voice-fallback-http Fallback Webhook HTTP Method String
--voice-fallback-connection-timeout Fallback connection timeout
--voice-fallback-socket-timeout Fallback socket timeout
vonage apps capabilities update 00000000-0000-0000-0000-000000000000 voice `
  --voice-answer-url='https://example.com/webhooks/voice/answer' `
  --voice-event-url='https://example.com/webhooks/voice/event' `
  --voice-fallback-url='https://example.com/webhooks/voice/fallback'
  
✅ Fetching Application
✅ Adding voice capability to application 00000000-0000-0000-0000-000000000000

Name: Your application
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: [POST] https://example.com/webhooks/voice/event
    Answer URL: [POST] https://example.com/webhooks/voice/answer
    Fallback URL: [POST] https://example.com/webhooks/voice/fallback

Video

Flag Description Type
--video-archive-status-url URL for Archive String
--video-archive-status-secret Secret for Archive URL String
--video-broadcast-status-url Broadcast status URL String
--video-broadcast-status-secret Secret for Broadcast URL String
--video-captions-status-url URL for caption status String
--video-captions-status-secret Secret for Caption Status String
--video-connection-created-url URL for created connections String
--video-connection-created-secret Secret for created connection URL String
--video-connection-destroyed-url URL for destroyed connections String
--video-connection-destroyed-secret Secret for destroyed connections String
--video-render-status-url URL for render status String
--video-render-status-secret Secret for render status String
--video-sip-call-created-url URL for SIP created calls String
--video-sip-call-created-secret Secret for SIP created String
--video-sip-call-destroyed-url URL for SIP destroyed String
--video-sip-call-destroyed-secret Secret for SIP destroyed String
--video-sip-call-mute-forced-url URL for SIP call muted String
--video-sip-call-mute-forced-secret Secret for call muted SIP String
--video-sip-call-updated-url URL for SIP updated String
--video-sip-call-updated-secret Secret for SIP updated String
--video-stream-created-url URL for stream created String
--video-stream-created-secret Secret for stream created String
--video-stream-destroyed-url URL for stream destroyed String
--video-stream-destroyed-secret Secret for stream destroyed String
vonage apps capabilities update 00000000-0000-0000-0000-000000000000 video `
  --video-archive-status-url='https://example.com/video/archive-status' `
  --video-archive-status-secret='your status secret' `
  --video-broadcast-status-url='https://example.com/video/broadcast-status' `
  --video-broadcast-status-secret='your broadcast secret' `
  --video-captions-status-url='https://example.com/video/caption-status' `
  --video-captions-status-secret='your caption status secret' `
  --video-connection-created-url='https://example.com/video/connected-created' `
  --video-connection-created-secret='your connection created secret' `
  --video-connection-destroyed-url='https://example.com/video/connection-destroyed' `
  --video-connection-destroyed-secret='your connection destroyed secret' `
  --video-render-status-url='https://example.com/video/render-status' `
  --video-render-status-secret='yoru render status secret' `
  --video-sip-call-created-url='https://example.com/video/sip1' `
  --video-sip-call-created-secret='your sip created secret' `
  --video-sip-call-destroyed-url='https://example.com/video/sip3' `
  --video-sip-call-destroyed-secret='your sip destroyed secret' `
  --video-sip-call-mute-forced-url='https://example.com/video/sip4' `
  --video-sip-call-mute-forced-secret='your sip mute forced secret' `
  --video-sip-call-updated-url='https://example.com/video/sip2' `
  --video-sip-call-updated-secret='your sip updated secret' `
  --video-stream-created-url='https://example.com/video/stream-created' `
  --video-stream-created-secret='your stream created secret' `
  --video-stream-destroyed-url='https://example.com/video/stream-destroyed' `
  --video-stream-destroyed-secret='your stream destroyed secret
  
✅ Fetching Application
✅ Adding video capability to application 00000000-0000-0000-0000-000000000000

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

Capabilities:
 VIDEO:
    Archive Status URL: [POST] https://example.com/video/archive-status
    Archive Status Signature Secret: your status secret
    Broadcast Status URL: [POST] https://example.com/video/broadcast-status
    Broadcast Status Signature Secret: your broadcast secret
    Caption Status URL: [POST] https://example.com/video/caption-status
    Caption Status Signature Secret: your caption status secret
    Connection Created URL: [POST] https://example.com/video/connected-created
    Connection Created Signature Secret: your connection created secret
    Connection Destroyed URL: [POST] https://example.com/video/connection-destroyed
    Connection Destroyed Signature Secret: your connection destroyed secret
    Render Status URL: [POST] https://example.com/video/render-status
    Render Status Signature Secret: yoru render status secret
    SIP Call Created URL: [POST] https://example.com/video/sip1
    SIP Call Created Signature Secret: your sip created secret
    SIP Call Destroyed URL: [POST] https://example.com/video/sip3
    SIP Call Destroyed Signature Secret: your sip destroyed secret
    SIP Call Mute Forced URL: [POST] https://example.com/video/sip4
    SIP Call Mute Forced Signature Secret: your sip mute forced secret
    SIP Call Updated URL: [POST] https://example.com/video/sip2
    SIP Call Updated Signature Secret: your sip updated secret
    Stream Created URL: [POST] https://example.com/video/stream-created
    Stream Created Signature Secret: your stream created secret
    Stream Destroyed URL: [POST] https://example.com/video/stream-destroyed
    Stream Destroyed Signature Secret: your stream destroyed secret

Remove a Capability

You can remove a capability by running the command vonage apps capabilities rm <application-id> <capability>, where <application-id> is the ID of the application you want to update, and <capability> is the API capability you want to remove.

vonage apps capabilities rm 00000000-0000-0000-0000-000000000000 messages 

✅ Fetching Application

Remove Messages capability from testing (00000000-0000-0000-0000-000000000000)? [y/n] 

✅ Removing messages capability from application 

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

Capabilities:
  None Set