Cisco Catalyst SD-WAN Configuration - Template Configuration API

The Configuration - Template Configuration API from Cisco Catalyst SD-WAN — 9 operation(s) for configuration - template configuration.

Business capability
Network Configuration Management BC-2600.20

Operations 10

PUT /template/config/attach/{deviceId} #
GET /template/config/attached/{deviceId} #
GET /template/config/device/mode/cli #
POST /template/config/device/mode/cli #
GET /template/config/device/mode/vmanage #
GET /template/config/diff/{deviceId} #
GET /template/config/rmalist/{oldDeviceId} #
PUT /template/config/rmaupdate #
GET /template/config/running/{deviceId} #
GET /template/config/vpn/{deviceId} #

Documentation

📖
Documentation
https://developer.cisco.com/docs/sdwan/administration-and-setting/
📖
APIReference
https://developer.cisco.com/docs/sdwan/administration-and-setting/
📖
Documentation
https://developer.cisco.com/docs/sdwan/ux-1-0-configuration/
📖
APIReference
https://developer.cisco.com/docs/sdwan/ux-1-0-configuration/
📖
Documentation
https://developer.cisco.com/docs/sdwan/ux-2-0-configuration/
📖
APIReference
https://developer.cisco.com/docs/sdwan/ux-2-0-configuration/
📖
Documentation
https://developer.cisco.com/docs/sdwan/feature-profiles-sd-wan-system/
📖
APIReference
https://developer.cisco.com/docs/sdwan/feature-profiles-sd-wan-system/
📖
Documentation
https://developer.cisco.com/docs/sdwan/feature-profiles-sd-wan-transport/
📖
APIReference
https://developer.cisco.com/docs/sdwan/feature-profiles-sd-wan-transport/
📖
Documentation
https://developer.cisco.com/docs/sdwan/feature-profiles-sd-wan-service/
📖
APIReference
https://developer.cisco.com/docs/sdwan/feature-profiles-sd-wan-service/
📖
Documentation
https://developer.cisco.com/docs/sdwan/feature-profiles-others/
📖
APIReference
https://developer.cisco.com/docs/sdwan/feature-profiles-others/
📖
Documentation
https://developer.cisco.com/docs/sdwan/feature-profiles-sd-routing/
📖
APIReference
https://developer.cisco.com/docs/sdwan/feature-profiles-sd-routing/
📖
Documentation
https://developer.cisco.com/docs/sdwan/feature-profiles-mobility-and-nfv/
📖
APIReference
https://developer.cisco.com/docs/sdwan/feature-profiles-mobility-and-nfv/
📖
Documentation
https://developer.cisco.com/docs/sdwan/monitoring-and-troubleshooting/
📖
APIReference
https://developer.cisco.com/docs/sdwan/monitoring-and-troubleshooting/
📖
Documentation
https://developer.cisco.com/docs/sdwan/sd-wan-services/
📖
APIReference
https://developer.cisco.com/docs/sdwan/sd-wan-services/
📖
Documentation
https://developer.cisco.com/docs/sdwan/partner-integrations/
📖
APIReference
https://developer.cisco.com/docs/sdwan/partner-integrations/
📖
Documentation
https://developer.cisco.com/docs/sdwan/others/
📖
APIReference
https://developer.cisco.com/docs/sdwan/others/

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cisco-catalyst-sdwan-configuration-template-configuration-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cisco-catalyst-sdwan-configuration-template-configuration-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: UX 1.0 Configuration Configuration - Template Configuration API
  description: "Configuration of UX 1.0 device and policy.\nIncludes API operations for the following:\n  Managing original SD-WAN device configurations and policy configurations\n  Device templates and feature templates"
  contact:
    email: vmanage@cisco.com
  license:
    name: Commercial License
    url: https://www.cisco.com/c/en/us/solutions/enterprise-networks/sd-wan/index.html
  version: 26.1.0+2026-01-06
  x-provenance:
    method: harvested
    authored_by: Cisco Catalyst SD-WAN
    harvested_by: API Evangelist
    harvested_on: '2026-08-19'
    first_party: true
    provider_published: true
    source_host: pubhub.devnetcloud.com
    note: 4,138 operations across 2,841 paths, published by Cisco as self-contained per-operation OpenAPI 3.1.0 fragments on the DevNet CDN and consolidated here into 13 documents. Ownership verified from info.contact vmanage@cisco.com and the Cisco license URL rather than from the fetch host.
  x-evidence:
  - type: source
    url: https://pubhub.devnetcloud.com/media/cisco-catalyst-sd-wan-26-1-api-guide/docs/
  - type: source
    url: https://developer.cisco.com/docs/sdwan/
servers:
- url: /dataservice
tags:
- name: Configuration - Template Configuration
paths:
  /template/config/attach/{deviceId}:
    put:
      tags:
      - Configuration - Template Configuration
      description: Upload device config
      operationId: uploadConfig
      parameters:
      - name: deviceId
        in: path
        description: Device Model ID
        required: true
        schema:
          type: string
      requestBody:
        description: Template config
        content:
          application/json:
            schema:
              type: object
            examples:
              Template config:
                description: Template config
        required: true
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '500':
          description: Internal Server Error
      x-roles-required: Device Inventory-write,Template Deploy-write
  /template/config/attached/{deviceId}:
    get:
      tags:
      - Configuration - Template Configuration
      description: Get local template attached config for given device
      operationId: getAttachedConfig
      parameters:
      - name: deviceId
        in: path
        description: Device Model ID
        required: true
        schema:
          type: string
      - name: type
        in: query
        description: Config type
        schema:
          type: string
          enum:
          - CFS
          - RFS
          - DRAFT_RFS
          - DRAFT_CFS
          default: CFS
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
              examples:
                Attached config:
                  description: Attached config
                  value:
                    config: "no config \nconfig\n  system\n   host-name                       vm1\n   system-ip                       172.16.255.11\n   site-id                         100\n   port-offset                     1\n   admin-tech-on-failure\n   admin-tech-on-software-rollback\n   route-consistency-check\n   no vrrp-advt-with-phymac\n   organization-name               \"vIPtela Inc Regression\"\n   vbond vbond\n   aaa\n    auth-order      local radius tacacs\n    usergroup basic\n     task system read\n     task interface read\n    !\n    usergroup netadmin\n    !\n    usergroup operator\n     task system read\n     task interface read\n     task policy read\n     task routing read\n     task security read\n    !\n    usergroup tenantadmin\n    !\n    user admin\n     password $6$tebXK3g64oMdWjSp$kIbJ/qShDI4/eLQ0M8NLyCK7rlmsZAlnwGFqCVZc7rNlIE6f8O1Q6IuP4pHJinc8pSTNGAEYtoCAwDuAiGPF9/\n    !\n    ciscotacro-user true\n    ciscotacrw-user true\n   !\n   logging\n    disk\n     enable\n    !\n   !\n   ntp\n    parent\n     no enable\n     stratum 5\n    exit\n   !\n   support\n    zbfw-tcp-finwait-time 30\n    zbfw-tcp-idle-time    3600\n    zbfw-tcp-synwait-time 30\n    zbfw-udp-idle-time    30\n   !\n  !\n  omp\n   no shutdown\n   graceful-restart\n   timers\n    holdtime               15\n    graceful-restart-timer 120\n   exit\n   advertise ospf external\n   advertise connected\n   advertise static\n  !\n  security\n   ipsec\n    integrity-type ip-udp-esp esp\n   !\n  !\n  vpn 0\n   host vbond ip 10.0.12.26 2001:a0:c::1a\n   interface ge0/1\n    ip address 10.0.26.11/24\n    no ipv6 shutdown\n    no shutdown\n   !\n   interface ge0/2\n    ip address 10.0.5.11/24\n    no ipv6 shutdown\n    tunnel-interface\n     encapsulation ipsec\n     color lte\n     hello-tolerance 12\n     no allow-service bgp\n     allow-service dhcp\n     allow-service dns\n     allow-service icmp\n     no allow-service sshd\n     no allow-service netconf\n     no allow-service ntp\n     no allow-service ospf\n     no allow-service stun\n     allow-service https\n    !\n    no shutdown\n   !\n   interface ge0/4\n    ip address 10.0.7.11/24\n    no ipv6 shutdown\n    no shutdown\n   !\n   interface ge0/7\n    ip address 10.0.100.11/24\n    no ipv6 shutdown\n    no shutdown\n   !\n   ip route 0.0.0.0/0 10.0.5.13\n  !\n  vpn 1\n   router\n    ospf\n     router-id 172.16.255.11\n     timers spf 200 1000 10000\n     redistribute static\n     redistribute omp\n     area 0\n      interface ge0/0\n      exit\n     exit\n    !\n   !\n   interface ge0/0\n    ip address 10.2.2.11/24\n    no ipv6 shutdown\n    no shutdown\n   !\n  !\n  vpn 512\n   interface eth0\n    ip dhcp-client\n    no ipv6 shutdown\n    ipv6 dhcp-client\n    no shutdown\n   !\n  !\n !\n!"
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '500':
          description: Internal Server Error
      x-roles-required: Device Inventory-read,Device Inventory-write,Device Inventory > Edge-read,Device Inventory > Controller-read,Device Inventory > Edge-write
  /template/config/device/mode/cli:
    get:
      tags:
      - Configuration - Template Configuration
      description: Generates a JSON object that contains a list of valid devices in CLI mode
      operationId: generateCLIModeDevices
      parameters:
      - name: type
        in: query
        description: Device type
        required: true
        schema:
          type: string
          enum:
          - vedge
          - controller
          - vmanage
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              examples:
                Devices:
                  description: Devices
                  value:
                    data:
                    - deviceIP: 172.16.255.16
                      uuid: C8K-0c9b3b23-bdcd-4162-8d4f-774e44e081ee
                      host-name: vm6
                      local-system-ip: 172.16.255.16
                    - deviceIP: 172.16.255.21
                      uuid: 76611d8b-dca9-47fd-b204-338af931f506
                      host-name: vm11
                      local-system-ip: 172.16.255.21
                    - deviceIP: 172.16.255.11
                      uuid: 9c8d59ec-e4ad-468a-8fb0-15a7747a9c30
                      host-name: vm1
                      local-system-ip: 172.16.255.11
                    - deviceIP: 172.16.255.15
                      uuid: C8K-ae0d5e97-4b0e-4a05-8582-9cc0d93c456c
                      host-name: vm5
                      local-system-ip: 172.16.255.15
                    - deviceIP: 172.16.255.14
                      uuid: 554b21bf-cad3-4efe-91fa-4c68549a6616
                      host-name: vm4
                      local-system-ip: 172.16.255.14
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '500':
          description: Internal Server Error
      x-roles-required: Device Inventory-read,Device Inventory-write,Template Deploy-read,Template Deploy-write,Device Inventory > Edge-write
    post:
      tags:
      - Configuration - Template Configuration
      description: Given a JSON list of devices not managed by any third member partners, push to devices from a CLI template
      operationId: updateDeviceToCLIMode
      requestBody:
        description: Device list
        content:
          application/json:
            schema:
              type: object
            examples:
              Device list:
                description: Device list
                value:
                  deviceType: vedge
                  devices:
                  - deviceId: 932f70dd-5815-4712-b9ed-3d34a238f2ca
                    deviceIP: 172.16.255.21
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
              examples:
                Device template Id:
                  description: Device template Id
                  value:
                    id: device_config_mode_cli-01242017T020647984
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '500':
          description: Internal Server Error
      x-roles-required: Device Inventory-write,Template Deploy-write,Device Inventory > Edge-write
  /template/config/device/mode/vmanage:
    get:
      tags:
      - Configuration - Template Configuration
      description: Get list of devices that are allowable for vmanage modes
      operationId: generatevManageModeDevices
      parameters:
      - name: type
        in: query
        description: Device type
        required: true
        schema:
          type: string
          enum:
          - vedge
          - controller
          - vmanage
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              examples:
                Devices:
                  description: Devices
                  value:
                    data:
                    - deviceIP: 169.254.10.1
                      uuid: 8b669639-758b-4287-b07f-09b9d334ce24
                      configCloudxMode: none
                      host-name: vm200
                      local-system-ip: 172.16.255.200
                    - deviceIP: 169.254.10.2
                      uuid: b0497670-2e62-404f-8136-21b226cd4c8b
                      configCloudxMode: none
                      host-name: vm201
                      local-system-ip: 172.16.255.201
                    - deviceIP: 169.254.10.3
                      uuid: d22cafc2-a0d2-4f57-b0a3-d9147818084a
                      configCloudxMode: none
                      host-name: vm202
                      local-system-ip: 172.16.255.202
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '500':
          description: Internal Server Error
      x-roles-required: Device Inventory-read,Device Inventory-write,Template Deploy-read,Template Deploy-write
  /template/config/diff/{deviceId}:
    get:
      tags:
      - Configuration - Template Configuration
      description: Generates a JSON object that contains the diff for a given device
      operationId: getDeviceDiff
      parameters:
      - name: deviceId
        in: path
        description: Device Model ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
              examples:
                Config diff:
                  description: Config diff
                  value:
                    config: Config diff for device 9c8d59ec-e4ad-468a-8fb0-15a7747a9c30
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '500':
          description: Internal Server Error
      x-roles-required: Device Inventory-read,Device Inventory-write,Template Deploy-read,Template Deploy-write
  /template/config/rmalist/{oldDeviceId}:
    get:
      tags:
      - Configuration - Template Configuration
      description: Get compatible devices of model, chassis number, certificate serial number with the old device
      operationId: getCompatibleDevices
      parameters:
      - name: oldDeviceId
        in: path
        description: Device Model ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              examples:
                Devices:
                  description: Devices
                  value:
                    data:
                    - deviceModel: vedge
                      chasisNumber: 71001c48-fdcf-4ac0-aaf3-ca4a20386a18
                      serialNumber: f0b1985ba82e4c4889c225c59ca9a878
                      uuid: 67b2de20-0564-4ba6-837f-b24bc6a686ad
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '500':
          description: Internal Server Error
      x-roles-required: Device Inventory-read,Device Inventory-write,Template Deploy-read,Template Deploy-write
  /template/config/rmaupdate:
    put:
      tags:
      - Configuration - Template Configuration
      description: Update new device
      operationId: rmaUpdate
      requestBody:
        description: Template config
        content:
          application/json:
            schema:
              type: object
            examples:
              Template config:
                description: Template config
                value:
                  oldDeviceUUID: C8K-075aaa13-0f11-4f76-a02e-fe3750080fcf
                  newDeviceUUID: C8K-3bb1154f-ae09-48fb-9fe1-5ddc3b16089e
        required: true
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '500':
          description: Internal Server Error
      x-roles-required: Device Inventory-write,Template Deploy-write
  /template/config/running/{deviceId}:
    get:
      tags:
      - Configuration - Template Configuration
      description: Get device running config
      operationId: getRunningConfig
      parameters:
      - name: deviceId
        in: path
        description: Device Model ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
              examples:
                Running config:
                  description: Running config
                  value:
                    config: "system\nhost-name                       vm1\nsystem-ip                       172.16.255.11\nsite-id                         100\nport-offset                     1\nno daemon-restart\nadmin-tech-on-failure\nadmin-tech-on-software-rollback\nroute-consistency-check\nno vrrp-advt-with-phymac\norganization-name               \"vIPtela Inc Regression\"\nvbond vbond\naaa\n auth-order      local radius tacacs\n usergroup basic\n  task system read\n  task interface read\n !\n usergroup netadmin\n !\n usergroup operator\n  task system read\n  task interface read\n  task policy read\n  task routing read\n  task security read\n !\n usergroup tenantadmin\n !\n user admin\n  password $6$tebXK3g64oMdWjSp$kIbJ/qShDI4/eLQ0M8NLyCK7rlmsZAlnwGFqCVZc7rNlIE6f8O1Q6IuP4pHJinc8pSTNGAEYtoCAwDuAiGPF9/\n !\n ciscotacro-user true\n ciscotacrw-user true\n!\nlogging\n disk\n  enable\n !\n!\nntp\n parent\n  no enable\n  stratum 5\n exit\n!\nsupport\n zbfw-tcp-finwait-time 30\n zbfw-tcp-idle-time    3600\n zbfw-tcp-synwait-time 30\n zbfw-udp-idle-time    30\n!\n!\nomp\nno shutdown\ngraceful-restart\ntimers\n holdtime               15\n graceful-restart-timer 120\nexit\nadvertise ospf external\nadvertise connected\nadvertise static\n!\nsecurity\nipsec\n integrity-type ip-udp-esp esp\n!\n!\nvpn 0\nhost vbond ip 10.0.12.26 2001:a0:c::1a\ninterface ge0/1\n ip address 10.0.26.11/24\n no shutdown\n!\ninterface ge0/2\n ip address 10.0.5.11/24\n tunnel-interface\n  encapsulation ipsec\n  color lte\n  no allow-service bgp\n  allow-service dhcp\n  allow-service dns\n  allow-service icmp\n  no allow-service sshd\n  no allow-service netconf\n  no allow-service ntp\n  no allow-service ospf\n  no allow-service stun\n  allow-service https\n !\n no shutdown\n!\ninterface ge0/4\n ip address 10.0.7.11/24\n no shutdown\n!\ninterface ge0/7\n ip address 10.0.100.11/24\n no shutdown\n!\nip route 0.0.0.0/0 10.0.5.13\n!\nvpn 1\nrouter\n ospf\n  router-id 172.16.255.11\n  timers spf 200 1000 10000\n  redistribute static\n  redistribute omp\n  area 0\n   interface ge0/0\n   exit\n  exit\n !\n!\ninterface ge0/0\n ip address 10.2.2.11/24\n no shutdown\n!\n!\nvpn 512\ninterface eth0\n ip dhcp-client\n ipv6 dhcp-client\n no shutdown\n!\n!"
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '500':
          description: Internal Server Error
      x-roles-required: Device Inventory-read,Device Inventory-write,Device Inventory > Edge-read,Device Inventory > Controller-read,Device Inventory > Edge-write
  /template/config/vpn/{deviceId}:
    get:
      tags:
      - Configuration - Template Configuration
      description: Get list of configured VPN (excluding reserved VPN) for a device
      operationId: getVpnForDevice
      parameters:
      - name: deviceId
        in: path
        description: Device Model ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              examples:
                VPN:
                  description: VPN
                  value:
                  - '1'
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '500':
          description: Internal Server Error
      x-roles-required: Device Inventory-read,Device Inventory-write,Template Deploy-read,Template Deploy-write