openapi: 3.1.0
info:
title: Cisco Expressway Configuration API
description: >-
RESTful API for configuring and managing Cisco Expressway systems including
zones, search rules, transforms, DNS servers, NTP servers, SFTP
configuration, system upgrades, and admin account management. The API uses
JSON Schema version 4 for request and response schemas and is
self-documented via RAML definitions available at /api/raml on the
Expressway system. All endpoints require HTTPS and HTTP Basic
Authentication using Expressway administrator credentials.
version: 14.2.0
contact:
name: Cisco TAC
email: [email protected]
url: https://www.cisco.com/c/en/us/support/unified-communications/expressway-series/tsd-products-support-series-home.html
license:
name: Cisco EULA
url: https://www.cisco.com/c/en/us/about/legal/cloud-and-software/end_user_license_agreement.html
x-logo:
url: https://www.cisco.com/c/dam/en/us/products/collateral/unified-communications/expressway-series/datasheet-c78-733751.jpg
externalDocs:
description: Cisco Expressway REST API Summary Guide (X14.2)
url: https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/expressway/admin_guide/X14-2/rest-api/exwy_b_cisco-expressway-rest-api-summary-guide--x142/exwy_m_using-the-expressway-rest-api.html
servers:
- url: https://{host}/api
description: Cisco Expressway server
variables:
host:
default: expressway.example.com
description: >-
The FQDN or IP address of the Cisco Expressway node. The API is
only accessible via HTTPS.
security:
- basicAuth: []
tags:
- name: Admin Account
description: Administrator account management
- name: DNS
description: DNS server configuration management
- name: NTP
description: NTP server configuration for time synchronization
- name: Search Rules
description: Search rule configuration for call routing decisions
- name: SFTP
description: SFTP configuration for system upgrades
- name: SIP
description: SIP protocol configuration
- name: System
description: System-level configuration and information
- name: Transforms
description: Pre-search transform configuration for alias modification
- name: Upgrade
description: System upgrade operations
- name: Zones
description: Zone configuration for call routing and firewall traversal
paths:
/provisioning/common/sysinfo:
get:
operationId: getSystemInfo
summary: Cisco Expressway Retrieve system information
description: >-
Returns basic system information for the Expressway node including the
system name, software version, hardware details, serial number, and
uptime.
tags:
- System
responses:
'200':
description: System information retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SystemInfo'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/v1/provisioning/common/dns/dnsserver:
get:
operationId: listDnsServers
summary: Cisco Expressway List all configured DNS servers
description: >-
Retrieves the list of all DNS servers configured on the Expressway.
Supports filtering by name or address using query path segments such
as /dnsserver/address/{address}.
tags:
- DNS
responses:
'200':
description: DNS server list retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DnsServer'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
operationId: createDnsServer
summary: Cisco Expressway Add a new DNS server
description: >-
Adds a new DNS server entry to the Expressway configuration. The
Expressway supports up to five DNS server addresses.
tags:
- DNS
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DnsServerInput'
responses:
'200':
description: DNS server created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/DnsServer'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'409':
$ref: '#/components/responses/Conflict'
put:
operationId: updateDnsServer
summary: Cisco Expressway Modify a DNS server entry
description: >-
Updates an existing DNS server configuration on the Expressway.
The target server is identified by its current address or index.
tags:
- DNS
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DnsServerInput'
responses:
'200':
description: DNS server updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/DnsServer'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteDnsServer
summary: Cisco Expressway Delete a DNS server entry
description: >-
Removes a DNS server from the Expressway configuration. The target
server is identified by its address or index in the configuration.
tags:
- DNS
responses:
'200':
description: DNS server deleted successfully
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/v1/provisioning/common/time/ntpserver:
get:
operationId: listNtpServers
summary: Cisco Expressway List all configured NTP servers
description: >-
Retrieves the list of all NTP servers configured on the Expressway for
time synchronization. Supports filtering by name or address.
tags:
- NTP
responses:
'200':
description: NTP server list retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NtpServer'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
operationId: createNtpServer
summary: Cisco Expressway Add a new NTP server
description: >-
Adds a new NTP server entry to the Expressway configuration for time
synchronization. Up to five NTP servers can be configured.
tags:
- NTP
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NtpServerInput'
responses:
'200':
description: NTP server created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/NtpServer'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'409':
$ref: '#/components/responses/Conflict'
put:
operationId: updateNtpServer
summary: Cisco Expressway Modify an NTP server entry
description: >-
Updates an existing NTP server configuration on the Expressway.
tags:
- NTP
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NtpServerInput'
responses:
'200':
description: NTP server updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/NtpServer'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteNtpServer
summary: Cisco Expressway Delete an NTP server entry
description: >-
Removes an NTP server from the Expressway configuration.
tags:
- NTP
responses:
'200':
description: NTP server deleted successfully
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/v1/provisioning/common/sftpconfig:
get:
operationId: getSftpConfig
summary: Cisco Expressway Retrieve SFTP configuration
description: >-
Returns the current SFTP configuration used for system upgrades
including the SFTP server address, port, path, and credentials.
tags:
- SFTP
responses:
'200':
description: SFTP configuration retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SftpConfig'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
put:
operationId: updateSftpConfig
summary: Cisco Expressway Update SFTP configuration
description: >-
Updates the SFTP configuration for system upgrades. Configure the
server address, credentials, and file path to the upgrade image.
tags:
- SFTP
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SftpConfigInput'
responses:
'200':
description: SFTP configuration updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SftpConfig'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/v1/provisioning/common/upgrade:
post:
operationId: triggerUpgrade
summary: Cisco Expressway Trigger a system upgrade
description: >-
Initiates a system software upgrade on the Expressway. The SFTP
configuration must be set before triggering the upgrade. The upgrade
process downloads the image via SFTP and optionally reboots the
system automatically.
tags:
- Upgrade
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpgradeRequest'
responses:
'200':
description: Upgrade initiated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/UpgradeResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/v1/provisioning/common/adminaccount/changepassword:
post:
operationId: changeAdminPassword
summary: Cisco Expressway Change administrator password
description: >-
Changes the password for an administrator account on the Expressway.
Requires the current password and the new password.
tags:
- Admin Account
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ChangePasswordRequest'
responses:
'200':
description: Password changed successfully
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/provisioning/edge/zone/traversalserver:
get:
operationId: listEdgeTraversalServerZones
summary: Cisco Expressway List Expressway-E traversal server zones
description: >-
Retrieves all traversal server zones configured on the Expressway-E.
Traversal server zones enable the Expressway-E to provide firewall
traversal services to traversal clients (Expressway-C). Supports
filtering by name using the path pattern
/zone/traversalserver/name/{zoneName}.
tags:
- Zones
responses:
'200':
description: Traversal server zone list retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TraversalServerZone'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
operationId: createEdgeTraversalServerZone
summary: Cisco Expressway Create a traversal server zone on Expressway-E
description: >-
Creates a new traversal server zone on the Expressway-E to provide
firewall traversal services. The zone defines connection credentials,
H.323 and SIP protocol settings, and media encryption mode.
tags:
- Zones
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TraversalServerZoneInput'
responses:
'200':
description: Traversal server zone created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TraversalServerZone'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'409':
$ref: '#/components/responses/Conflict'
put:
operationId: updateEdgeTraversalServerZone
summary: Cisco Expressway Update a traversal server zone on Expressway-E
description: >-
Modifies an existing traversal server zone configuration on the
Expressway-E including connection credentials, protocol settings,
and media encryption parameters.
tags:
- Zones
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TraversalServerZoneInput'
responses:
'200':
description: Traversal server zone updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TraversalServerZone'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteEdgeTraversalServerZone
summary: Cisco Expressway Delete a traversal server zone from Expressway-E
description: >-
Removes a traversal server zone from the Expressway-E configuration.
The zone is identified by its name.
tags:
- Zones
responses:
'200':
description: Traversal server zone deleted successfully
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/provisioning/controller/zone/traversalclient:
get:
operationId: listControllerTraversalClientZones
summary: Cisco Expressway List Expressway-C traversal client zones
description: >-
Retrieves all traversal client zones configured on the Expressway-C.
Traversal client zones define connections from the Expressway-C to
a traversal server (Expressway-E) across a firewall. Supports
filtering by name using the path pattern
/zone/traversalclient/name/{zoneName}.
tags:
- Zones
responses:
'200':
description: Traversal client zone list retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TraversalClientZone'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
operationId: createControllerTraversalClientZone
summary: Cisco Expressway Create a traversal client zone on Expressway-C
description: >-
Creates a new traversal client zone on the Expressway-C to connect
to a traversal server (Expressway-E) across a firewall. The zone
defines connection credentials, retry intervals, and protocol
settings.
tags:
- Zones
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TraversalClientZoneInput'
responses:
'200':
description: Traversal client zone created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TraversalClientZone'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'409':
$ref: '#/components/responses/Conflict'
put:
operationId: updateControllerTraversalClientZone
summary: Cisco Expressway Update a traversal client zone on Expressway-C
description: >-
Modifies an existing traversal client zone configuration on the
Expressway-C including connection credentials, retry intervals,
and protocol settings.
tags:
- Zones
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TraversalClientZoneInput'
responses:
'200':
description: Traversal client zone updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TraversalClientZone'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteControllerTraversalClientZone
summary: Cisco Expressway Delete a traversal client zone from Expressway-C
description: >-
Removes a traversal client zone from the Expressway-C configuration.
tags:
- Zones
responses:
'200':
description: Traversal client zone deleted successfully
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/provisioning/common/zone/neighbor:
get:
operationId: listNeighborZones
summary: Cisco Expressway List all neighbor zones
description: >-
Retrieves all neighbor zones configured on the Expressway. Neighbor
zones connect the local Expressway to another system such as another
Expressway, Unified CM, or a gatekeeper. Supports filtering by name.
tags:
- Zones
responses:
'200':
description: Neighbor zone list retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NeighborZone'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
operationId: createNeighborZone
summary: Cisco Expressway Create a neighbor zone
description: >-
Creates a new neighbor zone on the Expressway. Neighbor zones define
connections to peer systems such as other Expressway nodes, Unified
CM clusters, or gatekeepers with configurable H.323 and SIP protocol
settings.
tags:
- Zones
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NeighborZoneInput'
responses:
'200':
description: Neighbor zone created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/NeighborZone'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'409':
$ref: '#/components/responses/Conflict'
put:
operationId: updateNeighborZone
summary: Cisco Expressway Update a neighbor zone
description: >-
Modifies an existing neighbor zone configuration on the Expressway
including peer addresses, protocol settings, zone profile, and
authentication options.
tags:
- Zones
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NeighborZoneInput'
responses:
'200':
description: Neighbor zone updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/NeighborZone'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteNeighborZone
summary: Cisco Expressway Delete a neighbor zone
description: >-
Removes a neighbor zone from the Expressway configuration.
tags:
- Zones
responses:
'200':
description: Neighbor zone deleted successfully
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/provisioning/common/zone/dns:
get:
operationId: listDnsZones
summary: Cisco Expressway List all DNS zones
description: >-
Retrieves all DNS zones configured on the Expressway. DNS zones
enable endpoint location through DNS lookups for SIP and H.323
calls.
tags:
- Zones
responses:
'200':
description: DNS zone list retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DnsZone'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
operationId: createDnsZone
summary: Cisco Expressway Create a DNS zone
description: >-
Creates a new DNS zone on the Expressway for endpoint discovery via
DNS lookups. Configurable for H.323 and SIP protocols with fallback
transport and TLS mapping options.
tags:
- Zones
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DnsZoneInput'
responses:
'200':
description: DNS zone created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/DnsZone'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'409':
$ref: '#/components/responses/Conflict'
/provisioning/common/searchrule:
get:
operationId: listSearchRules
summary: Cisco Expressway List all search rules
description: >-
Retrieves all search rules configured on the Expressway. Search
rules define how the Expressway routes incoming search requests to
the appropriate target zones or policy services, with configurable
alias pattern matching, priority, and protocol filtering.
tags:
- Search Rules
responses:
'200':
description: Search rule list retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SearchRule'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
operationId: createSearchRule
summary: Cisco Expressway Create a search rule
description: >-
Creates a new search rule on the Expressway. Search rules determine
how incoming calls are routed to target zones based on alias
patterns, source zones, and protocol type. Each search rule has a
configurable priority that determines its evaluation order.
tags:
- Search Rules
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SearchRuleInput'
responses:
'200':
description: Search rule created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SearchRule'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'409':
$ref: '#/components/responses/Conflict'
put:
operationId: updateSearchRule
summary: Cisco Expressway Update a search rule
description: >-
Modifies an existing search rule configuration on the Expressway
including the alias pattern, target zone, priority, and protocol
filter settings.
tags:
- Search Rules
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SearchRuleInput'
responses:
'200':
description: Search rule updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SearchRule'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteSearchRule
summary: Cisco Expressway Delete a search rule
description: >-
Removes a search rule from the Expressway configuration.
tags:
- Search Rules
responses:
'200':
description: Search rule deleted successfully
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/provisioning/common/transform:
get:
operationId: listTransforms
summary: Cisco Expressway List all pre-search transforms
description: >-
Retrieves all pre-search transforms configured on the Expressway.
Pre-search transforms modify the destination alias in an incoming
search request before any searches are sent to external zones,
enabling alias normalization and rewriting.
tags:
- Transforms
responses:
'200':
description: Transform list retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Transform'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
operationId: createTransform
summary: Cisco Expressway Create a pre-search transform
description: >-
Creates a new pre-search transform on the Expressway. Transforms
are applied to incoming search requests to modify the destination
alias before routing decisions are made, using pattern matching
and replacement strings.
tags:
- Transforms
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TransformInput'
responses:
'200':
description: Transform created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Transform'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'409':
$ref: '#/components/responses/Conflict'
put:
operationId: updateTransform
summary: Cisco Expressway Update a pre-search transform
description: >-
Modifies an existing pre-search transform configuration on the
Expressway including the alias pattern, replacement string, and
priority.
tags:
- Transforms
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TransformInput'
responses:
'200':
description: Transform updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Transform'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteTransform
summary: Cisco Expressway Delete a pre-search transform
description: >-
Removes a pre-search transform from the Expressway configuration.
tags:
- Transforms
responses:
'200':
description: Transform deleted successfully
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/provisioning/common/sip/configuration:
get:
operationId: getSipConfiguration
summary: Cisco Expressway Retrieve SIP configuration
description: >-
Returns the current SIP protocol configuration for the Expressway
including SIP mode, listening ports, transport protocols, registration
settings, and session timer parameters.
tags:
- SIP
responses:
'200':
description: SIP configuration retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SipConfiguration'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
put:
operationId: updateSipConfiguration
summary: Cisco Expressway Update SIP configuration
description: >-
Modifies the SIP protocol configuration on the Expressway including
SIP mode, transport settings, registration proxy behavior, and
session timer parameters.
tags:
- SIP
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SipConfigurationInput'
responses:
'200':
description: SIP configuration updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SipConfiguration'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
description: >-
HTTP Basic Authentication using Expressway administrator credentials.
# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cisco-expressway/refs/heads/main/openapi/cisco-expressway-configuration-api-openapi.yml