naftiko: 1.0.0-alpha2 info: label: Citrix NetScaler NITRO REST API — CS Virtual Server description: 'Citrix NetScaler NITRO REST API — CS Virtual Server. 7 operations. Lead operation: Citrix Netscaler List Content Switching Virtual Servers. Self-contained Naftiko capability covering one Citrix Netscaler business surface.' tags: - Citrix Netscaler - CS Virtual Server created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CITRIX_NETSCALER_API_KEY: CITRIX_NETSCALER_API_KEY capability: consumes: - type: http namespace: nitro-cs-virtual-server baseUri: https://{nsip}/nitro/v1 description: Citrix NetScaler NITRO REST API — CS Virtual Server business capability. Self-contained, no shared references. resources: - name: config-csvserver path: /config/csvserver operations: - name: listcsvservers method: GET description: Citrix Netscaler List Content Switching Virtual Servers outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createcsvserver method: POST description: Citrix Netscaler Create a Content Switching Virtual Server outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: config-csvserver-name path: /config/csvserver/{name} operations: - name: getcsvserver method: GET description: Citrix Netscaler Get a Specific Content Switching Virtual Server outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Name of the content switching virtual server. required: true - name: updatecsvserver method: PUT description: Citrix Netscaler Update a Content Switching Virtual Server outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Name of the content switching virtual server to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletecsvserver method: DELETE description: Citrix Netscaler Delete a Content Switching Virtual Server outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Name of the content switching virtual server to delete. required: true - name: config-csvserver_cspolicy_binding path: /config/csvserver_cspolicy_binding operations: - name: bindcspolicytocsvserver method: PUT description: Citrix Netscaler Bind a Content Switching Policy to a Virtual Server outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: config-csvserver_cspolicy_binding-name path: /config/csvserver_cspolicy_binding/{name} operations: - name: getcsvserverpolicybindings method: GET description: Citrix Netscaler Get Policy Bindings for a Content Switching Virtual Server outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Name of the content switching virtual server. required: true authentication: type: apikey key: NITRO_AUTH_TOKEN value: '{{env.CITRIX_NETSCALER_API_KEY}}' placement: cookie exposes: - type: rest namespace: nitro-cs-virtual-server-rest port: 8080 description: REST adapter for Citrix NetScaler NITRO REST API — CS Virtual Server. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/config/csvserver name: config-csvserver description: REST surface for config-csvserver. operations: - method: GET name: listcsvservers description: Citrix Netscaler List Content Switching Virtual Servers call: nitro-cs-virtual-server.listcsvservers outputParameters: - type: object mapping: $. - method: POST name: createcsvserver description: Citrix Netscaler Create a Content Switching Virtual Server call: nitro-cs-virtual-server.createcsvserver with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/config/csvserver/{name} name: config-csvserver-name description: REST surface for config-csvserver-name. operations: - method: GET name: getcsvserver description: Citrix Netscaler Get a Specific Content Switching Virtual Server call: nitro-cs-virtual-server.getcsvserver with: name: rest.name outputParameters: - type: object mapping: $. - method: PUT name: updatecsvserver description: Citrix Netscaler Update a Content Switching Virtual Server call: nitro-cs-virtual-server.updatecsvserver with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletecsvserver description: Citrix Netscaler Delete a Content Switching Virtual Server call: nitro-cs-virtual-server.deletecsvserver with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/config/csvserver-cspolicy-binding name: config-csvserver-cspolicy-binding description: REST surface for config-csvserver_cspolicy_binding. operations: - method: PUT name: bindcspolicytocsvserver description: Citrix Netscaler Bind a Content Switching Policy to a Virtual Server call: nitro-cs-virtual-server.bindcspolicytocsvserver with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/config/csvserver-cspolicy-binding/{name} name: config-csvserver-cspolicy-binding-name description: REST surface for config-csvserver_cspolicy_binding-name. operations: - method: GET name: getcsvserverpolicybindings description: Citrix Netscaler Get Policy Bindings for a Content Switching Virtual Server call: nitro-cs-virtual-server.getcsvserverpolicybindings with: name: rest.name outputParameters: - type: object mapping: $. - type: mcp namespace: nitro-cs-virtual-server-mcp port: 9090 transport: http description: MCP adapter for Citrix NetScaler NITRO REST API — CS Virtual Server. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: citrix-netscaler-list-content-switching description: Citrix Netscaler List Content Switching Virtual Servers hints: readOnly: true destructive: false idempotent: true call: nitro-cs-virtual-server.listcsvservers outputParameters: - type: object mapping: $. - name: citrix-netscaler-create-content-switching description: Citrix Netscaler Create a Content Switching Virtual Server hints: readOnly: false destructive: false idempotent: false call: nitro-cs-virtual-server.createcsvserver with: body: tools.body outputParameters: - type: object mapping: $. - name: citrix-netscaler-get-specific-content description: Citrix Netscaler Get a Specific Content Switching Virtual Server hints: readOnly: true destructive: false idempotent: true call: nitro-cs-virtual-server.getcsvserver with: name: tools.name outputParameters: - type: object mapping: $. - name: citrix-netscaler-update-content-switching description: Citrix Netscaler Update a Content Switching Virtual Server hints: readOnly: false destructive: false idempotent: true call: nitro-cs-virtual-server.updatecsvserver with: name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: citrix-netscaler-delete-content-switching description: Citrix Netscaler Delete a Content Switching Virtual Server hints: readOnly: false destructive: true idempotent: true call: nitro-cs-virtual-server.deletecsvserver with: name: tools.name outputParameters: - type: object mapping: $. - name: citrix-netscaler-bind-content-switching description: Citrix Netscaler Bind a Content Switching Policy to a Virtual Server hints: readOnly: false destructive: false idempotent: true call: nitro-cs-virtual-server.bindcspolicytocsvserver with: body: tools.body outputParameters: - type: object mapping: $. - name: citrix-netscaler-get-policy-bindings description: Citrix Netscaler Get Policy Bindings for a Content Switching Virtual Server hints: readOnly: true destructive: false idempotent: true call: nitro-cs-virtual-server.getcsvserverpolicybindings with: name: tools.name outputParameters: - type: object mapping: $.