Cisco Voice Portal VXML Services API
Management and monitoring of the CVP VXML Server including application deployment, activation, configuration, session monitoring, micro-application management, media file management, and grammar management.
Management and monitoring of the CVP VXML Server including application deployment, activation, configuration, session monitoring, micro-application management, media file management, and grammar management.
openapi: 3.1.0
info:
title: Cisco Voice Portal VXML Services API
description: >-
The Cisco Unified Customer Voice Portal (CVP) VXML Services API provides
management and monitoring capabilities for the CVP VXML Server component.
The VXML Server hosts and executes VoiceXML applications built with Cisco
Unified Call Studio. This API enables deployment and management of VXML
applications, access to element configurations, and monitoring of the VXML
execution environment. The VXML Server exposes its management interface
on the HTTP/HTTPS ports (default 7000/7443) alongside the application
serving endpoints.
version: 12.6.0
contact:
name: Cisco Developer Support
url: https://developer.cisco.com/
license:
name: Cisco DevNet
url: https://developer.cisco.com/site/license/
x-provider: cisco
x-product: unified-customer-voice-portal
servers:
- url: https://{vxml-server}:7443/CVP/rest
description: CVP VXML Server REST management interface
variables:
vxml-server:
default: cvp-vxmlserver.example.com
description: Hostname or IP of the CVP VXML Server
paths:
/application:
get:
operationId: listDeployedApplications
summary: Cisco Voice Portal List Deployed Vxml Applications
description: >-
Retrieves a list of all VXML applications deployed on this VXML Server.
Applications are typically built with Cisco Unified Call Studio and
deployed as WAR/ZIP archives.
tags:
- Application Management
parameters:
- name: status
in: query
description: Filter by application status
schema:
type: string
enum:
- active
- inactive
- error
responses:
'200':
description: List of deployed applications
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/VxmlApplication'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/application/{applicationName}:
get:
operationId: getApplicationDetails
summary: Cisco Voice Portal Get Vxml Application Details
description: >-
Retrieves detailed information about a specific deployed VXML
application, including its configuration, call flow elements,
and deployment metadata.
tags:
- Application Management
parameters:
- $ref: '#/components/parameters/ApplicationName'
responses:
'200':
description: Application details
content:
application/json:
schema:
$ref: '#/components/schemas/VxmlApplicationDetail'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/application/{applicationName}/activate:
post:
operationId: activateApplication
summary: Cisco Voice Portal Activate a Vxml Application
description: >-
Activates a deployed VXML application, making it available to handle
incoming calls. An application must be active to process calls.
tags:
- Application Management
parameters:
- $ref: '#/components/parameters/ApplicationName'
responses:
'200':
description: Application activated
content:
application/json:
schema:
$ref: '#/components/schemas/OperationResult'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'409':
description: Application is already active
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/application/{applicationName}/deactivate:
post:
operationId: deactivateApplication
summary: Cisco Voice Portal Deactivate a Vxml Application
description: >-
Deactivates a VXML application. Active calls using the application
are allowed to complete, but no new calls will be routed to it.
tags:
- Application Management
parameters:
- $ref: '#/components/parameters/ApplicationName'
responses:
'200':
description: Application deactivated
content:
application/json:
schema:
$ref: '#/components/schemas/OperationResult'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'409':
description: Application is already inactive
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/application/{applicationName}/config:
get:
operationId: getApplicationConfig
summary: Cisco Voice Portal Get Application Configuration
description: >-
Retrieves the runtime configuration parameters for a VXML application.
These settings are defined in the Call Studio project and can be
overridden at runtime.
tags:
- Application Configuration
parameters:
- $ref: '#/components/parameters/ApplicationName'
responses:
'200':
description: Application configuration
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationConfig'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
put:
operationId: updateApplicationConfig
summary: Cisco Voice Portal Update Application Configuration
description: >-
Updates the runtime configuration parameters for a VXML application.
Changes take effect for new calls; active calls continue with their
existing configuration.
tags:
- Application Configuration
parameters:
- $ref: '#/components/parameters/ApplicationName'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationConfigUpdate'
responses:
'200':
description: Configuration updated
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationConfig'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/application/{applicationName}/elements:
get:
operationId: listApplicationElements
summary: Cisco Voice Portal List Application Call Flow Elements
description: >-
Retrieves the list of call flow elements (voice elements, action
elements, and decision elements) that make up the VXML application.
Elements are the building blocks of Call Studio applications.
tags:
- Application Configuration
parameters:
- $ref: '#/components/parameters/ApplicationName'
responses:
'200':
description: List of application elements
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CallFlowElement'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/application/{applicationName}/sessions:
get:
operationId: listApplicationSessions
summary: Cisco Voice Portal List Active Application Sessions
description: >-
Retrieves a list of active call sessions currently being handled by
the specified VXML application.
tags:
- Session Monitoring
parameters:
- $ref: '#/components/parameters/ApplicationName'
- name: limit
in: query
schema:
type: integer
default: 100
responses:
'200':
description: Active sessions
content:
application/json:
schema:
type: object
properties:
totalSessions:
type: integer
sessions:
type: array
items:
$ref: '#/components/schemas/VxmlSession'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/session/{sessionId}:
get:
operationId: getSessionDetails
summary: Cisco Voice Portal Get Vxml Session Details
description: >-
Retrieves detailed information about an active VXML session, including
the current element being executed, session variables, and execution
history.
tags:
- Session Monitoring
parameters:
- name: sessionId
in: path
required: true
schema:
type: string
responses:
'200':
description: Session details
content:
application/json:
schema:
$ref: '#/components/schemas/VxmlSessionDetail'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: Session not found
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/microapp:
get:
operationId: listMicroApplications
summary: Cisco Voice Portal List Available Micro-applications
description: >-
Retrieves a list of built-in CVP micro-applications. Micro-applications
are pre-built VXML applications for common IVR tasks such as playing
media, collecting digits, and external VXML retrieval. These are
invoked through ICM scripting via the Run External Script node.
tags:
- Micro-Applications
responses:
'200':
description: List of micro-applications
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MicroApplication'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/microapp/{microAppName}/config:
get:
operationId: getMicroAppConfig
summary: Cisco Voice Portal Get Micro-application Configuration
description: >-
Retrieves the configuration for a specific built-in micro-application
such as PlayMedia (PM), GetDigits (GD), Menu, PlayData (PD),
CaptureCurrentCallerInfo, or ExternalVXML (EV).
tags:
- Micro-Applications
parameters:
- name: microAppName
in: path
required: true
description: >-
Micro-application identifier (e.g., PlayMedia, GetDigits, Menu,
PlayData, ExternalVXML)
schema:
type: string
enum:
- PlayMedia
- GetDigits
- Menu
- PlayData
- ExternalVXML
- CaptureCurrentCallerInfo
- AgentGreeting
responses:
'200':
description: Micro-application configuration
content:
application/json:
schema:
$ref: '#/components/schemas/MicroAppConfig'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/media:
get:
operationId: listMediaFiles
summary: Cisco Voice Portal List Media Files
description: >-
Retrieves a list of media files (audio prompts) available on the
VXML Server. Media files are used by VXML applications and
micro-applications for playing prompts to callers.
tags:
- Media Management
parameters:
- name: path
in: query
description: Directory path to list media from
schema:
type: string
default: /
- name: type
in: query
description: Filter by media type
schema:
type: string
enum:
- wav
- au
- vox
responses:
'200':
description: List of media files
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MediaFile'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/media/upload:
post:
operationId: uploadMediaFile
summary: Cisco Voice Portal Upload a Media File
description: >-
Uploads an audio media file (WAV, AU, or VOX format) to the VXML
Server for use in voice prompts and announcements.
tags:
- Media Management
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- file
properties:
file:
type: string
format: binary
description: Audio file to upload
path:
type: string
description: Target directory path
default: /
overwrite:
type: boolean
default: false
description: Whether to overwrite existing file
responses:
'201':
description: Media file uploaded
content:
application/json:
schema:
$ref: '#/components/schemas/MediaFile'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'409':
description: File already exists and overwrite is false
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/grammar:
get:
operationId: listGrammarFiles
summary: Cisco Voice Portal List Grammar Files
description: >-
Retrieves a list of speech recognition grammar files (GRXML, GSL)
available on the VXML Server. Grammars define the speech recognition
rules used by voice-enabled VXML applications.
tags:
- Grammar Management
responses:
'200':
description: List of grammar files
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GrammarFile'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/server/status:
get:
operationId: getVxmlServerStatus
summary: Cisco Voice Portal Get Vxml Server Status
description: >-
Retrieves the operational status of the VXML Server, including
active session count, thread pool status, and resource utilization.
tags:
- Server Status
responses:
'200':
description: Server status
content:
application/json:
schema:
$ref: '#/components/schemas/VxmlServerStatus'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/server/log:
get:
operationId: getServerLogs
summary: Cisco Voice Portal Get Recent Server Log Entries
description: >-
Retrieves recent log entries from the VXML Server. Supports filtering
by severity level and time range.
tags:
- Server Status
parameters:
- name: level
in: query
description: Minimum log level to include
schema:
type: string
enum:
- ERROR
- WARN
- INFO
- DEBUG
default: INFO
- name: since
in: query
description: Return logs since this timestamp
schema:
type: string
format: date-time
- name: limit
in: query
schema:
type: integer
default: 100
maximum: 1000
responses:
'200':
description: Log entries
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LogEntry'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
description: HTTP Basic authentication using CVP VXML Server credentials
parameters:
ApplicationName:
name: applicationName
in: path
required: true
description: Name of the deployed VXML application
schema:
type: string
responses:
BadRequest:
description: Invalid request parameters
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Authentication required or credentials invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: Requested resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
InternalError:
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
VxmlApplication:
type: object
properties:
applicationName:
type: string
description: Application name
example: example_value
applicationType:
type: string
enum:
- callstudio
- standalone_vxml
- microapp
example: callstudio
status:
type: string
enum:
- active
- inactive
- error
example: active
version:
type: string
example: example_value
activeSessions:
type: integer
description: Number of active call sessions
example: 10
deployedAt:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
VxmlApplicationDetail:
type: object
properties:
applicationName:
type: string
example: example_value
applicationType:
type: string
example: example_value
status:
type: string
example: example_value
version:
type: string
example: example_value
activeSessions:
type: integer
example: 10
deployedAt:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
description:
type: string
example: A sample description.
entryPoint:
type: string
description: Starting element of the call flow
example: example_value
elements:
type: array
items:
type: string
description: List of element names in the application
example: []
mediaDirectory:
type: string
description: Path to the application media files
example: example_value
grammarDirectory:
type: string
description: Path to the application grammar files
example: example_value
configParameters:
type: object
additionalProperties:
type: string
description: Application-level configuration parameters
example: example_value
ApplicationConfig:
type: object
properties:
applicationName:
type: string
example: example_value
parameters:
type: object
additionalProperties:
type: string
description: Runtime configuration parameters
example: example_value
defaultLanguage:
type: string
default: en-US
example: example_value
fetchTimeout:
type: integer
description: VXML document fetch timeout in milliseconds
example: 10
maxSessionDuration:
type: integer
description: Maximum session duration in seconds
example: 10
inputModes:
type: array
items:
type: string
enum:
- dtmf
- voice
description: Allowed input modes
example: []
loggingLevel:
type: string
enum:
- ERROR
- WARN
- INFO
- DEBUG
example: ERROR
ApplicationConfigUpdate:
type: object
properties:
parameters:
type: object
additionalProperties:
type: string
example: example_value
defaultLanguage:
type: string
example: example_value
fetchTimeout:
type: integer
example: 10
maxSessionDuration:
type: integer
example: 10
inputModes:
type: array
items:
type: string
enum:
- dtmf
- voice
example: []
loggingLevel:
type: string
enum:
- ERROR
- WARN
- INFO
- DEBUG
example: ERROR
CallFlowElement:
type: object
properties:
elementName:
type: string
description: Name of the call flow element
example: example_value
elementType:
type: string
enum:
- voice
- action
- decision
- subdialog
description: >-
Type of element. Voice elements interact with the caller, action
elements perform backend operations, decision elements control
flow logic, and subdialog elements invoke sub-applications.
example: voice
description:
type: string
example: A sample description.
className:
type: string
description: Java class implementing the element
example: example_value
configParameters:
type: object
additionalProperties:
type: string
description: Element-specific configuration
example: example_value
exits:
type: array
items:
type: object
properties:
name:
type: string
targetElement:
type: string
description: Element exit paths and their targets
example: []
VxmlSession:
type: object
properties:
sessionId:
type: string
example: '500123'
callGuid:
type: string
description: Associated CVP call GUID
example: '500123'
applicationName:
type: string
example: example_value
startTime:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
duration:
type: integer
description: Session duration in seconds
example: 10
currentElement:
type: string
description: Currently executing call flow element
example: example_value
callingNumber:
type: string
example: example_value
calledNumber:
type: string
example: example_value
VxmlSessionDetail:
type: object
properties:
sessionId:
type: string
example: '500123'
callGuid:
type: string
example: '500123'
applicationName:
type: string
example: example_value
startTime:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
duration:
type: integer
example: 10
currentElement:
type: string
example: example_value
callingNumber:
type: string
example: example_value
calledNumber:
type: string
example: example_value
sessionVariables:
type: object
additionalProperties:
type: string
description: VXML session-level variables
example: example_value
elementHistory:
type: array
items:
type: object
properties:
elementName:
type: string
enteredAt:
type: string
format: date-time
exitedAt:
type: string
format: date-time
exitState:
type: string
description: History of elements visited in this session
example: []
lastUserInput:
type: string
description: Last input received from the caller (DTMF or ASR result)
example: example_value
MicroApplication:
type: object
properties:
name:
type: string
description: Micro-application name
example: Example Title
description:
type: string
example: A sample description.
type:
type: string
enum:
- PlayMedia
- GetDigits
- Menu
- PlayData
- ExternalVXML
- CaptureCurrentCallerInfo
- AgentGreeting
example: PlayMedia
configurable:
type: boolean
example: true
MicroAppConfig:
type: object
properties:
name:
type: string
example: Example Title
description:
type: string
example: A sample description.
parameters:
type: array
items:
type: object
properties:
name:
type: string
type:
type: string
required:
type: boolean
defaultValue:
type: string
description:
type: string
description: Configuration parameters for the micro-application
example: []
MediaFile:
type: object
properties:
fileName:
type: string
example: example_value
filePath:
type: string
example: example_value
fileType:
type: string
enum:
- wav
- au
- vox
example: wav
fileSize:
type: integer
description: File size in bytes
example: 10
duration:
type: number
format: float
description: Audio duration in seconds
example: 42.5
lastModified:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
GrammarFile:
type: object
properties:
fileName:
type: string
example: example_value
filePath:
type: string
example: example_value
fileType:
type: string
enum:
- grxml
- gsl
- abnf
example: grxml
fileSize:
type: integer
example: 10
language:
type: string
description: Language of the grammar (e.g., en-US)
example: example_value
lastModified:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
VxmlServerStatus:
type: object
properties:
hostname:
type: string
example: example_value
status:
type: string
enum:
- running
- stopped
- error
example: running
uptime:
type: string
example: example_value
version:
type: string
example: example_value
activeSessions:
type: integer
example: 10
maxSessions:
type: integer
example: 10
threadPool:
type: object
properties:
activeThreads:
type: integer
idleThreads:
type: integer
maxThreads:
type: integer
queuedRequests:
type: integer
example: example_value
cpuUsage:
type: number
format: float
example: 42.5
memoryUsage:
type: object
properties:
heapUsed:
type: integer
description: Heap memory used in bytes
heapMax:
type: integer
description: Maximum heap memory in bytes
heapPercentage:
type: number
format: float
example: example_value
deployedApplications:
type: integer
example: 10
timestamp:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
LogEntry:
type: object
properties:
timestamp:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
level:
type: string
enum:
- ERROR
- WARN
- INFO
- DEBUG
example: ERROR
logger:
type: string
example: example_value
message:
type: string
example: example_value
sessionId:
type: string
description: Associated session ID, if applicable
example: '500123'
applicationName:
type: string
description: Associated application, if applicable
example: example_value
OperationResult:
type: object
properties:
status:
type: string
enum:
- success
- failed
example: success
message:
type: string
example: example_value
timestamp:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
Error:
type: object
properties:
code:
type: string
example: example_value
message:
type: string
example: example_value
details:
type: string
example: example_value
timestamp:
# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cisco-voice-portal/refs/heads/main/openapi/cisco-voice-portal-vxml-services-openapi.yml