Cisco Crosswork IETF L2VPN NM Retrieval API
The IETF L2VPN NM Retrieval API from Cisco Crosswork — 2 operation(s) for ietf l2vpn nm retrieval.
The IETF L2VPN NM Retrieval API from Cisco Crosswork — 2 operation(s) for ietf l2vpn nm retrieval.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/cisco-crosswork-ietf-l2vpn-nm-retrieval-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Crosswork Network Controller IETF L2VPN NM IETF L2VPN NM Retrieval API
description: 'The YANG module defines a generic network configuration
model for Layer 2 VPN services common across all of the
vendor implementations.
Copyright (c) 2020 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject to
the license terms contained in, the Simplified BSD License set
forth in Section 4.c of the IETF Trust''s Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).'
version: '2.0'
x-provenance:
method: harvested
authored_by: Cisco Crosswork
harvested_by: API Evangelist
harvested_on: '2026-08-19'
first_party: true
note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
provider_published: true
x-evidence:
- type: source
url: https://github.com/CiscoDevNet/crosswork-openapi-spec/blob/master/CNC/2.0APIs/ietf-l2vpn-ntw_api.swagger.json
- type: raw
url: https://raw.githubusercontent.com/CiscoDevNet/crosswork-openapi-spec/master/CNC/2.0APIs/ietf-l2vpn-ntw_api.swagger.json
servers:
- url: /crosswork
tags:
- name: IETF L2VPN NM Retrieval
description: ''
paths:
/nbi/cat-inventory/v1/restconf/data/ietf-l2vpn-ntw:l2vpn-ntw/vpn-services/vpn-service={vpn-service-vpn-id}:
get:
tags:
- IETF L2VPN NM Retrieval
summary: ''
description: Container of port configurations
operationId: data_ietf_l2vpn_ntw_l2vpn_ntw_vpn_services_vpn_service_vpn_service_vpn_id_get
parameters:
- $ref: '#/components/parameters/vpn-service-vpn-id'
responses:
'200':
description: Container of port configurations
content:
application/yang-data+xml:
schema:
$ref: '#/components/schemas/data_ietf-l2vpn-ntw_l2vpn-ntw_vpn-services_vpn-service_vpn-service-vpn-id'
application/yang-data+json:
schema:
$ref: '#/components/schemas/data_ietf-l2vpn-ntw_l2vpn-ntw_vpn-services_vpn-service_vpn-service-vpn-id'
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'409':
$ref: '#/components/responses/409'
security:
- basicAuth: []
/nbi/cat-inventory/v1/restconf/data/ietf-l2vpn-ntw:l2vpn-ntw/vpn-services/vpn-service-plan={vpn-service-plan-vpn-id}:
get:
tags:
- IETF L2VPN NM Retrieval
summary: ''
description: ''
operationId: data_ietf_l2vpn_ntw_l2vpn_ntw_vpn_services_vpn_service_plan_vpn_service_plan_vpn_id_get
parameters:
- $ref: '#/components/parameters/vpn-service-plan-vpn-id'
responses:
'200':
description: OK
content:
application/yang-data+xml:
schema:
$ref: '#/components/schemas/data_ietf-l2vpn-ntw_l2vpn-ntw_vpn-services_vpn-service-plan_vpn-service-plan-vpn-id'
application/yang-data+json:
schema:
$ref: '#/components/schemas/data_ietf-l2vpn-ntw_l2vpn-ntw_vpn-services_vpn-service-plan_vpn-service-plan-vpn-id'
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'409':
$ref: '#/components/responses/409'
security:
- basicAuth: []
components:
responses:
'405':
description: Method Not Allowed
'404':
description: Not Found
'204':
description: No Content
'401':
description: Unauthorized
'409':
description: Conflict
'400':
description: Bad Request
parameters:
vpn-service-plan-vpn-id:
name: vpn-service-plan-vpn-id
in: path
description: ''
required: true
schema:
type: string
format: string
vpn-service-vpn-id:
name: vpn-service-vpn-id
in: path
description: Refers to unique identifier for the L2NM.
required: true
schema:
type: string
format: string
schemas:
data_ietf-l2vpn-ntw_l2vpn-ntw_vpn-services_vpn-service_vpn-service-vpn-id:
type: object
properties:
ietf-l2vpn-ntw:vpn-service:
type: array
description: Container of port configurations (list)
x-yang:
type: list
items:
type: object
properties:
vpn-id:
description: Refers to unique identifier for the L2NM. (leaf)
x-yang:
type: leaf
type: string
format: string
evi-allocation-data:
description: (non-presence)
type: object
x-yang:
type: container
is_presence: 'false'
properties:
evi-id:
description: evi-id allocated by resource-manager id-allocator (leaf)
x-yang:
type: leaf
type: string
format: string
evi-source:
description: evi-source allocated by resource-manager id-allocator (leaf)
x-yang:
type: leaf
type: string
format: string
evi-target:
description: evi-target allocated by resource-manager id-allocator (leaf)
x-yang:
type: leaf
type: string
format: string
modified:
description: 'Devices and other services this service has modified directly or
indirectly (through another service). (non-presence)'
type: object
x-yang:
type: container
is_presence: 'false'
properties:
devices:
type: array
x-yang:
type: leaf-list
items:
description: (leaf-list)
type: string
format: leafref
services:
type: array
x-yang:
type: leaf-list
items:
description: (leaf-list)
type: string
format: instance-identifier
lsa-services:
type: array
x-yang:
type: leaf-list
items:
description: (leaf-list)
type: string
format: instance-identifier
directly-modified:
description: 'Devices and other services this service has explicitly
modified. (non-presence)'
type: object
x-yang:
type: container
is_presence: 'false'
properties:
devices:
type: array
x-yang:
type: leaf-list
items:
description: (leaf-list)
type: string
format: leafref
services:
type: array
x-yang:
type: leaf-list
items:
description: (leaf-list)
type: string
format: instance-identifier
lsa-services:
type: array
x-yang:
type: leaf-list
items:
description: (leaf-list)
type: string
format: instance-identifier
device-list:
type: array
x-yang:
type: leaf-list
items:
description: 'A list of managed devices this service instance has manipulated.
This leaf is obsolete. Use ''modified'' instead. (leaf-list)'
type: string
format: string
used-by-customer-service:
type: array
x-yang:
type: leaf-list
items:
description: (leaf-list)
type: string
format: leafref
commit-queue:
description: (non-presence)
type: object
x-yang:
type: container
is_presence: 'false'
properties:
queue-item:
type: array
description: "When a service is committed through the commit queue, these\nfields act as references regarding the state of this service\ninstance. In the worst case scenario, a service instance is\nin the 'failed' state. This means that parts of the queued\ncommit failed.\n\nIf a service gets committed through the commit queue and the\ncommit fails, the backpointers in the service data are\nfollowed and the affected service instances are updated and\nset to the 'failed' state.\n\nDepending on the nature of the failure, different techniques\nto reconcile the service can be used.\n\n- Make sure the commit queue is blocked to not interfere\n with the error recovery procedure.\n Do a sync-from on the non-completed device(s) and then\n re-deploy the failed service(s) with the\n 'reconcile' option to reconcile original data,\n i.e., take control of that data. This option\n acknowledges other services controlling the same data.\n The reference count will indicate how many services control\n the data. Release any queue lock that was created.\n\n- Make sure the commit queue is blocked to not interfere\n with the error recovery procedure.\n Use un-deploy with the no-networking option on the\n service and then do sync-from on the non-completed\n device(s). Make sure the error is fixed and then\n re-deploy the failed service(s) with the\n 'reconcile' option. Release any queue lock\n that was created.\n\nIn the 'failed' state, these fields are reset if a new\ncommit queue transaction is affecting this service, or\nthe service is re-deployed, or these fields are deleted\nusing the specific purge action.\nIn other cases the 'failed' state will remain. (list)"
x-yang:
type: list
items:
type: object
properties:
id:
description: 'If the queue item in the commit queue refers to this service
this is the queue number. (leaf)'
x-yang:
type: leaf
type: integer
format: uint64
status:
description: (leaf)
x-yang:
type: leaf
type: string
format: enumeration
default: waiting
enum:
- waiting
- executing
- blocking
- blocked
- failed
- admin-cleared
- commit-queue-failed
cleared-by-admin:
description: (leaf)
x-yang:
type: leaf
type: string
format: '[null]'
no-of-impacted-services:
description: (leaf)
x-yang:
type: leaf
type: integer
format: uint32
failed-device:
type: array
description: 'If the ''status'' leaf is ''failed'', this list contains detailed
information on the devices that were responsible for the
error of the commit queue item. (list)'
x-yang:
type: list
items:
type: object
properties:
name:
description: (leaf)
x-yang:
type: leaf
type: string
format: leafref
time:
description: Time when the failure occured. (leaf)
x-yang:
type: leaf
type: string
format: string
config-data:
description: 'The configuration data that was rejected by the device
in XML format. (leaf)'
x-yang:
type: leaf
type: string
format: string
error:
description: The error returned by the device. (leaf)
x-yang:
type: leaf
type: string
format: string
private:
description: NCS service related internal data stored here. (non-presence)
type: object
x-yang:
type: container
is_presence: 'false'
properties:
diff-set:
description: 'Internal node use by NCS service manager to remember
the reverse diff for a service instance. This is the
data that is used by FastMap (leaf)'
x-yang:
type: leaf
type: string
format: binary
forward-diff-set:
description: 'Internal node use by NCS service manager to remember
the forwards diff for a service instance. This data is
is used to produce the proper ''get-modifications'' output (leaf)'
x-yang:
type: leaf
type: string
format: binary
device-list:
type: array
x-yang:
type: leaf-list
items:
description: A list of managed devices this service instance has manipulated. (leaf-list)
type: string
format: string
ned-id-list:
type: array
x-yang:
type: leaf-list
items:
description: A list of NED identities this service instance has manipulated. (leaf-list)
type: string
format: string
service-list:
type: array
x-yang:
type: leaf-list
items:
description: A list of services this service instance has manipulated. (leaf-list)
type: string
format: instance-identifier
lsa-service-list:
type: array
x-yang:
type: leaf-list
items:
description: A list of LSA services this service instance has manipulated. (leaf-list)
type: string
format: string
property-list:
description: FASTMAP service instance data used by the service implementation. (non-presence)
type: object
x-yang:
type: container
is_presence: 'false'
properties:
property:
type: array
description: (list)
x-yang:
type: list
items:
type: object
properties:
name:
description: (leaf)
x-yang:
type: leaf
type: string
format: string
value:
description: (leaf)
x-yang:
type: leaf
type: string
format: string
re-deploy-counter:
description: (leaf)
x-yang:
type: leaf
type: string
format: int32
latest-commit-params:
description: 'Latest transactions commit parameters are stored there, these are
used in reactive-re-deploy actions that must have the same
parameters as the original service commit. (leaf)'
x-yang:
type: leaf
type: string
format: binary
latest-u-info:
description: 'Latest transactions user info is stored there, these are
used in reactive-re-deploy actions that must be performed by
a user with the same user info. (leaf)'
x-yang:
type: leaf
type: string
format: binary
plan-location:
description: Location of the service plan. (leaf)
x-yang:
type: leaf
type: string
format: instance-identifier
log:
description: (non-presence)
type: object
x-yang:
type: container
is_presence: 'false'
properties:
log-entry:
type: array
description: (list)
x-yang:
type: list
items:
type: object
properties:
when:
description: (leaf)
x-yang:
type: leaf
type: string
format: string
type:
description: What type of log entry is this. (leaf)
x-yang:
type: leaf
type: string
format: identityref
level:
description: What level this log entry has. (leaf)
x-yang:
type: leaf
type: string
format: enumeration
default: all
enum:
- all
- trace
- debug
- info
- warn
- error
message:
description: (leaf)
x-yang:
type: leaf
type: string
format: string
custom-template:
type: array
description: Custom templates to apply when device is ready (list)
x-yang:
type: list
items:
type: object
properties:
name:
description: Name of template to apply (leaf)
x-yang:
type: leaf
type: string
format: leafref
variable:
type: array
description: Variables to bind when applying template one time (list)
x-yang:
type: list
items:
type: object
properties:
name:
description: Name of template variable (leaf)
x-yang:
type: leaf
type: string
format: leafref
value:
description: Value of template variable (leaf)
x-yang:
type: leaf
type: string
format: string
iteration:
type: array
description: Apply custom template multiple times with iteration (list)
x-yang:
type: list
items:
type: object
properties:
number:
description: <1-65535>;;Iteration number (leaf)
x-yang:
type: leaf
type: integer
format: uint16
variable:
type: array
description: Variables to bind when applying template in iteration (list)
x-yang:
type: list
items:
type: object
properties:
name:
description: Name of template variable (leaf)
x-yang:
type: leaf
type: string
format: leafref
value:
description: Value of template variable (leaf)
x-yang:
type: leaf
type: string
format: string
auto-evi-id:
description: (leaf)
x-yang:
type: leaf
type: string
format: '[null]'
auto-evi-source:
description: (leaf)
x-yang:
type: leaf
type: string
format: '[null]'
auto-evi-target:
description: (leaf)
x-yang:
type: leaf
type: string
format: '[null]'
control-word:
description: Control Word (leaf)
x-yang:
type: leaf
type: string
format: enumeration
default: 'yes'
enum:
- 'yes'
- 'no'
vpn-svc-type:
description: Service type. (leaf)
x-yang:
type: leaf
type: string
format: identityref
vpn-nodes:
description: List of vpn-svc (non-presence)
type: object
x-yang:
type: container
is_presence: 'false'
properties:
vpn-node:
type: array
description: Container of VPN Nodes. (list)
x-yang:
type: list
items:
type: object
properties:
vpn-node-id:
description: Local or Remote Device (leaf)
x-yang:
type: leaf
type: string
format: string
custom-template:
type: array
description: Custom templates to apply when device is ready (list)
x-yang:
type: list
items:
type: object
properties:
name:
description: Name of template to apply (leaf)
x-yang:
type: leaf
type: string
format: leafref
variable:
type: array
description: Variables to bind when applying template one time (list)
x-yang:
type: list
items:
type: object
properties:
name:
description: Name of template variable (leaf)
x-yang:
type: leaf
type: string
format: leafref
value:
description: Value of template variable (leaf)
x-yang:
type: leaf
type: string
format: string
iteration:
type: array
description: Apply custom template multiple times with iteration (list)
x-yang:
type: list
items:
type: object
properties:
number:
description: <1-65535>;;Iteration number (leaf)
x-yang:
type: leaf
type: integer
format: uint16
variable:
type: array
description: Variables to bind when applying template in iteration (list)
x-yang:
type: list
items:
type: object
properties:
name:
description: Name of template variable (leaf)
x-yang:
type: leaf
type: string
format: leafref
value:
description: Value of template variable (leaf)
x-yang:
type: leaf
type: string
format: string
multi-home:
description: (presence)
type: object
x-yang:
type: container
is_presence: 'true'
properties:
esi-value:
description: <0-ff>.;;9-octet ESI value (leaf)
x-yang:
type: leaf
type: string
format: string
te-service-mapping:
description: (non-presence)
type: object
x-yang:
type: container
is_presence: 'false'
properties:
te-mapping:
description: (non-presence)
type: object
x-yang:
type: container
is_presence: 'false'
properties:
sr-policy:
description: (presence)
type: object
x-yang:
type: container
is_presence: 'true'
properties:
policy:
description: Name of SR TE policy (leaf)
x-yang:
type: leaf
type: string
format: string
fallback:
description: Fallback option for preferred path (leaf)
x-yang:
type: leaf
type: string
format: enumeration
default: disable
enum:
- disable
ne-id:
description: Local or Remote Device. (leaf)
x-yang:
type: leaf
type: string
format: string
signaling-options:
type: array
description: List of VPN Signaling Option. (list)
x-yang:
type: list
items:
type: object
properties:
type:
description: VPN signaling types. Only one signaling option can be given per VPN node (leaf)
x-yang:
type: leaf
type: string
format: identityref
evpn
# --- truncated at 32 KB (105 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cisco-crosswork/refs/heads/main/openapi/cisco-crosswork-ietf-l2vpn-nm-retrieval-api-openapi.yml