naftiko: 1.0.0-alpha2 info: label: Cisco NX-API REST — VLANs description: 'Cisco NX-API REST — VLANs. 6 operations. Lead operation: List All Vlan Bridge Domains. Self-contained Naftiko capability covering one Cisco Nexus business surface.' tags: - Cisco Nexus - VLANs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CISCO_NEXUS_API_KEY: CISCO_NEXUS_API_KEY capability: consumes: - type: http namespace: nxapi-rest-vlans baseUri: https://{switchIp}/api description: Cisco NX-API REST — VLANs business capability. Self-contained, no shared references. resources: - name: class-l2BD.json path: /class/l2BD.json operations: - name: listvlans method: GET description: List All Vlan Bridge Domains outputRawFormat: json outputParameters: - name: result type: object value: $. - name: mo-sys-bd.json path: /mo/sys/bd.json operations: - name: createvlan method: POST description: Create or Modify a Vlan Bridge Domain outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: mo-sys-bd-bd-[{vlanEncap}].json path: /mo/sys/bd/bd-[{vlanEncap}].json operations: - name: getvlan method: GET description: Retrieve a Specific Vlan Bridge Domain outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vlanEncap in: path type: string description: VLAN fabric encapsulation identifier in the format vlan-{id} (e.g., vlan-100) required: true - name: deletevlan method: DELETE description: Delete a Vlan Bridge Domain outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vlanEncap in: path type: string description: VLAN fabric encapsulation identifier (e.g., vlan-100) required: true - name: mo-sys-intf-svi-[{sviId}].json path: /mo/sys/intf/svi-[{sviId}].json operations: - name: getsviinterface method: GET description: Retrieve an Svi (vlan Interface) Configuration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sviId in: path type: string description: SVI identifier in the format vlan{id} (e.g., vlan100) required: true - name: configuresviinterface method: POST description: Create or Modify an Svi (vlan Interface) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sviId in: path type: string description: SVI identifier in the format vlan{id} required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: APIC-cookie value: '{{env.CISCO_NEXUS_API_KEY}}' placement: cookie exposes: - type: rest namespace: nxapi-rest-vlans-rest port: 8080 description: REST adapter for Cisco NX-API REST — VLANs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/class/l2bd-json name: class-l2bd-json description: REST surface for class-l2BD.json. operations: - method: GET name: listvlans description: List All Vlan Bridge Domains call: nxapi-rest-vlans.listvlans outputParameters: - type: object mapping: $. - path: /v1/mo/sys/bd-json name: mo-sys-bd-json description: REST surface for mo-sys-bd.json. operations: - method: POST name: createvlan description: Create or Modify a Vlan Bridge Domain call: nxapi-rest-vlans.createvlan with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/mo/sys/bd/bd-vlanencap-json name: mo-sys-bd-bd-vlanencap-json description: REST surface for mo-sys-bd-bd-[{vlanEncap}].json. operations: - method: GET name: getvlan description: Retrieve a Specific Vlan Bridge Domain call: nxapi-rest-vlans.getvlan with: vlanEncap: rest.vlanEncap outputParameters: - type: object mapping: $. - method: DELETE name: deletevlan description: Delete a Vlan Bridge Domain call: nxapi-rest-vlans.deletevlan with: vlanEncap: rest.vlanEncap outputParameters: - type: object mapping: $. - path: /v1/mo/sys/intf/svi-sviid-json name: mo-sys-intf-svi-sviid-json description: REST surface for mo-sys-intf-svi-[{sviId}].json. operations: - method: GET name: getsviinterface description: Retrieve an Svi (vlan Interface) Configuration call: nxapi-rest-vlans.getsviinterface with: sviId: rest.sviId outputParameters: - type: object mapping: $. - method: POST name: configuresviinterface description: Create or Modify an Svi (vlan Interface) call: nxapi-rest-vlans.configuresviinterface with: sviId: rest.sviId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: nxapi-rest-vlans-mcp port: 9090 transport: http description: MCP adapter for Cisco NX-API REST — VLANs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-all-vlan-bridge-domains description: List All Vlan Bridge Domains hints: readOnly: true destructive: false idempotent: true call: nxapi-rest-vlans.listvlans outputParameters: - type: object mapping: $. - name: create-modify-vlan-bridge-domain description: Create or Modify a Vlan Bridge Domain hints: readOnly: false destructive: false idempotent: false call: nxapi-rest-vlans.createvlan with: body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-specific-vlan-bridge-domain description: Retrieve a Specific Vlan Bridge Domain hints: readOnly: true destructive: false idempotent: true call: nxapi-rest-vlans.getvlan with: vlanEncap: tools.vlanEncap outputParameters: - type: object mapping: $. - name: delete-vlan-bridge-domain description: Delete a Vlan Bridge Domain hints: readOnly: false destructive: true idempotent: true call: nxapi-rest-vlans.deletevlan with: vlanEncap: tools.vlanEncap outputParameters: - type: object mapping: $. - name: retrieve-svi-vlan-interface-configuration description: Retrieve an Svi (vlan Interface) Configuration hints: readOnly: true destructive: false idempotent: true call: nxapi-rest-vlans.getsviinterface with: sviId: tools.sviId outputParameters: - type: object mapping: $. - name: create-modify-svi-vlan-interface description: Create or Modify an Svi (vlan Interface) hints: readOnly: false destructive: false idempotent: false call: nxapi-rest-vlans.configuresviinterface with: sviId: tools.sviId body: tools.body outputParameters: - type: object mapping: $.