- Introducing the IOS XE REST API
- Installing the Virtual Services Management Container
- Client Authentication
- Global Configuration Requirements
- Domain Name System (DNS) Server
- Network Time Protocol (NTP)
- IP Interface Configuration Requirements
- L2 Interfaces
- Bridge Domains
- Multicast
- VxLAN
- DHCP Server and Relay Agent
- Routing Protocol (OSPF, BGP, EIGRP) Requirements
- ACL Requirements for Subnets or IP Ranges
- Network Address Translation (NAT)
- Firewall Inspection Requirements
- License Requirements
- Memory and CPU Usage Report
- VRF
- Virtual Private Networks (SVTI and EzVPN)
- LISP
- QoS
- HSRP
Introducing the Cisco IOS XE REST API
Introduction
The Representation State Transfer APIs (REST APIs) provide an alternative method to the Cisco IOS XE CLI for provisioning selected functions.
Feature History and Supported Platforms
For each Cisco IOS XE release supporting the REST API, the following table describes:
|
|
|
---|---|---|
Support on Cisco ASR 1000 Series for “dual IP bring-up,” using either data plane interface or management plane interface. See the software configuration guide. |
ASR 1000 Series Route Processor 2 ( ASR 1000-RP2) |
|
VRF-Aware DNS, OSPF routing, BGP routing, EIGRP routing, Routing Table Saving the REST API configuration file Configuring the VPN site-to-site tunnel state Support for Locator ID Separation Protocol (LISP) Support for QoS |
||
VRF support for NTP, static route, TACACs, and logging Fall-over option for BGP neighbor API Improved configuration of user account passwords Improved configuration of interfaces : ICMP redirects, proxy ARP, unicast source verification Improved configuration of ACL |
||
Note IPv6 for REST API is not supported in Cisco IOS XE 3.10S. IP security Site-to-Site VPN Cisco CSR 1000V software licensing Cisco CSR 1000V memory and CPU usage reports |
Getting Started
You need to first configure the platform to support management using the REST API. For more information, see the configuration guide for your platform. Examples:
“Configuring Support for Management Using the REST API” section of the Cisco CSR 1000V Series Cloud Services Router Software Configuration Guide
“Configuring Support for Management Using the REST API” section of the Cisco ASR 1000 Series Aggregation Services Routers Software Configuration Guide
Important Notes
Cisco ASR1001-X and ASR1002-X Platforms—Management Port Limitation
On Cisco ASR1001-X and ASR1002-X platforms, the REST API is not supported on the management port (G0).
Known Issue with Self-Signed Certificates
There is a known issue in IOS which does not allow import and replace of an existing self-signed certificate. As a result, any running configuration being imported will fail if it contains a self-signed certificate.
Requirements for Using Firewall and VPN REST APIs
Using Firewall and VPN REST APIs requires the necessary technology package licensing for the platform.
Conventions
- Cisco IOS XE REST API Request Methods
- REST API Error Codes and Error Representation
- Status Codes and Error Handling
- Deploying REST API Using cURL: Example
Cisco IOS XE REST API Request Methods
The Cisco IOS XE REST API uses the HTTP request methods described in Table 1-2 .

Note All REST API requests and responses must be in JSON format. XML is not supported.
The JSON values of the type string should be in double-quotes. Values of type Boolean or Number should not be in double-quotes. The Boolean values are true or false in lower-case.
REST API Error Codes and Error Representation
Properties Related to Error Codes
|
|
|
---|---|---|
More detailed descriptions of error message where applicable/available. |
JSON Representation of Error Response
Example 1: JSON Error Response
Example 2: JSON Error Response
Status Codes and Error Handling
The Cisco IOS XE REST API uses standard HTTP status codes to report the success or failure of the submitted requests:
Table 3 describes the supported HTTP status codes and descriptions.
Deploying REST API Using cURL: Example
The following is an example of deploying a REST API using cURL. The example shows the REST API using the POST, PUT, GET, DELETE request methods for a NAT pool.