{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/vonage/main/json-schema/vonage-application-response-schema.json", "title": "ApplicationResponse", "x-generated": "2026-10-08", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/vonage-application-v2-openapi.yml#/components/schemas/ApplicationResponse", "properties": { "id": { "type": "string", "description": "The application's ID" }, "name": { "type": "string", "description": "Friendly identifier for your application. This is not unique" }, "capabilities": { "type": "object", "description": "Configuration for the products available in this application", "properties": { "voice": { "type": "object", "description": "Voice related configuration", "properties": { "webhooks": { "type": "object", "properties": { "answer_url": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage requests when a call is placed/received. Must return an NCCO" }, "http_method": { "type": "string", "description": "The HTTP method used to fetch your NCCO from your `answer_url`" }, "connect_timeout": { "type": "integer", "description": "If Vonage can't connect to the webhook URL for this specified amount of time, then Vonage makes one additional attempt to connect to the webhook endpoint. This is an integer value specified in milliseconds." }, "socket_timeout": { "type": "integer", "description": "If a response from the webhook URL can't be read for this specified amount of time, then Vonage makes one additional attempt to read the webhook endpoint. This is an integer value specified in milliseconds." } } }, "fallback_answer_url": { "type": "object", "properties": { "address": { "type": "string", "description": "If your `answer_url` is offline or returns a HTTP error code, Vonage will make a request to a\n`fallback_answer_url` if it is set. This URL must return an NCCO.\n" }, "http_method": { "type": "string", "description": "The HTTP method used to fetch your NCCO from your `answer_url`" }, "connect_timeout": { "type": "integer", "description": "Connection timeout in milliseconds" }, "socket_timeout": { "type": "integer", "description": "Reading timeout in milliseconds" } } }, "event_url": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events related to your call to" }, "http_method": { "type": "string", "description": "The HTTP method used to send events to your server" }, "connect_timeout": { "type": "integer", "description": "If Vonage can't connect to the webhook URL for this specified amount of time, then Vonage makes one additional attempt to connect to the webhook endpoint. This is an integer value specified in milliseconds." }, "socket_timeout": { "type": "integer", "description": "If a response from the webhook URL can't be read for this specified amount of time, then Vonage makes one additional attempt to read the webhook endpoint. This is an integer value specified in milliseconds." } } } } }, "signed_callbacks": { "description": "Whether to use signed webhooks. This is a way of verifying that the request is coming from Vonage. Refer to [the Webhooks documentation](https://developer.vonage.com/en/getting-started/concepts/webhooks#decoding-signed-webhooks) for more information.", "type": "boolean", "default": "true" }, "conversations_ttl": { "description": "The length of time named conversations will remain active for after creation, in hours. Maximum value is 9000 (i.e. 365 days).", "type": "integer", "default": 48, "maximum": 9000, "minimum": 1 }, "leg_persistence_time": { "description": "The persistence duration for legs, in days. Maximum value is 31.", "type": "integer", "default": 2, "maximum": 31, "minimum": 1 }, "region": { "$ref": "#/$defs/VoiceRegion" } } }, "messages": { "type": "object", "description": "Messages / Dispatch related configuration", "properties": { "webhooks": { "type": "object", "properties": { "inbound_url": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage forwards inbound messages to on your server" }, "http_method": { "type": "string", "description": "The HTTP method used to send inbound messages to your server" } } }, "status_url": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events related to your messages to" }, "http_method": { "type": "string", "description": "The HTTP method used to send events to your server (always `POST`)" } } } } } } }, "rtc": { "type": "object", "description": "RTC / Conversation Service related configuration", "properties": { "webhooks": { "type": "object", "properties": { "event_url": { "type": "object", "properties": { "address": { "type": "string" }, "http_method": { "type": "string" } } } } }, "signed_callbacks": { "description": "Whether to use signed webhooks. This is a way of verifying that the request is coming from Vonage. Refer to [the Webhooks documentation](https://developer.vonage.com/en/getting-started/concepts/webhooks#decoding-signed-webhooks) for more information.", "type": "boolean", "default": "true" } } }, "vbc": { "type": "object", "description": "Specify the `vbc` capability to enable zero-rated calls for VBC number programmability service applications. This is always an empty object." }, "network_apis": { "type": "object", "description": "Network APIs", "properties": { "network_application_id": { "type": "string" }, "redirect_uri": { "type": "string" } } }, "meetings": { "type": "object", "description": "Meetings related configuration", "properties": { "webhooks": { "type": "object", "properties": { "recording_changed": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage forwards recording information to on your server" }, "http_method": { "type": "string", "description": "The HTTP method used to send recording information to your server (always `POST`)" } } }, "room_changed": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage forwards meeting room information on your server." }, "http_method": { "type": "string", "description": "The HTTP method used to send meeting room information to your server (always `POST`)" } } }, "session_changed": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage forwards session information on your server." }, "http_method": { "type": "string", "description": "The HTTP method used to send session information to your server (always `POST`)" } } } } } } }, "verify": { "type": "object", "description": "Verify v2 related configuration", "properties": { "version": { "type": "string", "description": "The version of the Verify API to use" }, "webhooks": { "type": "object", "properties": { "status_url": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events related to your verify requests to" }, "http_method": { "type": "string", "description": "The HTTP method used to send events to your server (always `POST`)" } } } } } } }, "video": { "$ref": "#/$defs/VideoResponse" } } }, "privacy": { "type": "object", "description": "Application privacy config", "properties": { "improve_ai": { "type": "boolean", "description": "If set to `true`, Vonage may store and use your content and data for the improvement of Vonage's AI based services and technologies." } } } }, "$defs": { "VideoResponse": { "type": "object", "description": "Video related configuration", "properties": { "webhooks": { "type": "object", "properties": { "archive_status": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events informing about the archive status" }, "active": { "$ref": "#/$defs/active_webhook" } } }, "connection_created": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events when a video connection is created" }, "active": { "$ref": "#/$defs/active_webhook" } } }, "connection_destroyed": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events when a video connection is destroyed" }, "active": { "$ref": "#/$defs/active_webhook" } } }, "session_created": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events when a video session is created" }, "active": { "$ref": "#/$defs/active_webhook" } } }, "session_destroyed": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events when a video session is destroyed" }, "active": { "$ref": "#/$defs/active_webhook" } } }, "session_notification": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends session notifications to" }, "active": { "$ref": "#/$defs/active_webhook" } } }, "stream_created": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events when a stream is created" }, "active": { "$ref": "#/$defs/active_webhook" } } }, "stream_destroyed": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events when a stream is destroyed" }, "active": { "$ref": "#/$defs/active_webhook" } } }, "render_status": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events when a render status changes" }, "active": { "$ref": "#/$defs/active_webhook" } } }, "captions_status": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events when captions status changes" }, "active": { "$ref": "#/$defs/active_webhook" } } }, "broadcast_status": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events when a broadcast status changes" }, "active": { "$ref": "#/$defs/active_webhook" } } }, "sip_call_created": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events when a sip call is created" }, "active": { "$ref": "#/$defs/active_webhook" } } }, "sip_call_updated": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events when a sip call is updated" }, "active": { "$ref": "#/$defs/active_webhook" } } }, "sip_call_destroyed": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events when a sip call is destroyed" }, "active": { "$ref": "#/$defs/active_webhook" } } }, "sip_call_mute_forced": { "type": "object", "properties": { "address": { "type": "string", "description": "The URL that Vonage sends events when a sip call is muted" }, "active": { "$ref": "#/$defs/active_webhook" } } } } }, "storage": { "type": "object", "properties": { "server_side_encryption": { "type": "boolean", "description": "Whether to use server-side encryption" }, "end_to_end_encryption": { "type": "boolean", "description": "Whether to use end-to-end encryption" }, "cloud_storage": { "type": "boolean", "description": "Whether to use cloud storage feature" } } } } }, "VoiceRegion": { "description": "Selecting a region means all inbound, programmable SIP and SIP connect calls will be sent to the selected region unless the call is sent to a regional endpoint, if the call is using a regional endpoint this will override the application setting. Use the following parameter values:\n * **na-east** - North America - East (api-us-3.vonage.com)\n * **na-west** - North America - West (api-us-4.vonage.com)\n * **eu-east** - Europe - East (api-eu-4.vonage.com)\n * **eu-west** - Europe - West (api-eu-3.vonage.com)\n * **apac-sng** - Singapore (api-ap-3.vonage.com)\n * **apac-australia** - Australia (api-ap-4.vonage.com)\n", "type": "string", "enum": [ "na-east", "na-west", "eu-east", "eu-west", "apac-sng", "apac-australia" ] }, "active_webhook": { "type": "boolean", "description": "Whether the webhook is active" } } }