naftiko: 1.0.0-alpha2 info: label: NGINX Plus REST API — Stream Upstreams description: 'NGINX Plus REST API — Stream Upstreams. 8 operations. Lead operation: NGINX Return Status of All Stream Upstream Server Groups. Self-contained Naftiko capability covering one Nginx business surface.' tags: - Nginx - Stream Upstreams created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: NGINX_API_KEY: NGINX_API_KEY capability: consumes: - type: http namespace: plus-http-stream-upstreams baseUri: '' description: NGINX Plus REST API — Stream Upstreams business capability. Self-contained, no shared references. resources: - name: stream-upstreams path: /stream/upstreams/ operations: - name: getstreamupstreams method: GET description: NGINX Return Status of All Stream Upstream Server Groups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fields in: query type: string description: Limits which fields of upstream server groups will be output. If the “fields” value is empty, only names of upstreams will be output. - name: stream-upstreams-streamUpstreamName path: /stream/upstreams/{streamUpstreamName}/ operations: - name: getstreamupstream method: GET description: NGINX Return Status of a Stream Upstream Server Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fields in: query type: string description: Limits which fields of the upstream server group will be output. - name: deletestreamupstreamstat method: DELETE description: NGINX Reset Statistics of a Stream Upstream Server Group outputRawFormat: json outputParameters: - name: result type: object value: $. - name: stream-upstreams-streamUpstreamName-servers path: /stream/upstreams/{streamUpstreamName}/servers/ operations: - name: getstreamupstreamservers method: GET description: NGINX Return Configuration of All Servers in a Stream Upstream Server Group outputRawFormat: json outputParameters: - name: result type: object value: $. - name: poststreamupstreamserver method: POST description: NGINX Add a Server to a Stream Upstream Server Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: postStreamUpstreamServer in: body type: string description: Address of a new server and other optional parameters in the JSON format. The “*ID*”, “*backup*”, and “*service*” parameters cannot be changed. required: true - name: stream-upstreams-streamUpstreamName-servers-streamUpstreamServerId path: /stream/upstreams/{streamUpstreamName}/servers/{streamUpstreamServerId} operations: - name: getstreamupstreamserver method: GET description: NGINX Return Configuration of a Server in a Stream Upstream Server Group outputRawFormat: json outputParameters: - name: result type: object value: $. - name: patchstreamupstreamserver method: PATCH description: NGINX Modify a Server in a Stream Upstream Server Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: patchStreamUpstreamServer in: body type: string description: Server parameters, specified in the JSON format. The “*ID*”, “*backup*”, and “*service*” parameters cannot be changed. required: true - name: deletestreamupstreamserver method: DELETE description: NGINX Remove a Server from a Stream Upstream Server Group outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: plus-http-stream-upstreams-rest port: 8080 description: REST adapter for NGINX Plus REST API — Stream Upstreams. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/stream/upstreams name: stream-upstreams description: REST surface for stream-upstreams. operations: - method: GET name: getstreamupstreams description: NGINX Return Status of All Stream Upstream Server Groups call: plus-http-stream-upstreams.getstreamupstreams with: fields: rest.fields outputParameters: - type: object mapping: $. - path: /v1/stream/upstreams/{streamupstreamname} name: stream-upstreams-streamupstreamname description: REST surface for stream-upstreams-streamUpstreamName. operations: - method: GET name: getstreamupstream description: NGINX Return Status of a Stream Upstream Server Group call: plus-http-stream-upstreams.getstreamupstream with: fields: rest.fields outputParameters: - type: object mapping: $. - method: DELETE name: deletestreamupstreamstat description: NGINX Reset Statistics of a Stream Upstream Server Group call: plus-http-stream-upstreams.deletestreamupstreamstat outputParameters: - type: object mapping: $. - path: /v1/stream/upstreams/{streamupstreamname}/servers name: stream-upstreams-streamupstreamname-servers description: REST surface for stream-upstreams-streamUpstreamName-servers. operations: - method: GET name: getstreamupstreamservers description: NGINX Return Configuration of All Servers in a Stream Upstream Server Group call: plus-http-stream-upstreams.getstreamupstreamservers outputParameters: - type: object mapping: $. - method: POST name: poststreamupstreamserver description: NGINX Add a Server to a Stream Upstream Server Group call: plus-http-stream-upstreams.poststreamupstreamserver with: postStreamUpstreamServer: rest.postStreamUpstreamServer outputParameters: - type: object mapping: $. - path: /v1/stream/upstreams/{streamupstreamname}/servers/{streamupstreamserverid} name: stream-upstreams-streamupstreamname-servers-streamupstreamserverid description: REST surface for stream-upstreams-streamUpstreamName-servers-streamUpstreamServerId. operations: - method: GET name: getstreamupstreamserver description: NGINX Return Configuration of a Server in a Stream Upstream Server Group call: plus-http-stream-upstreams.getstreamupstreamserver outputParameters: - type: object mapping: $. - method: PATCH name: patchstreamupstreamserver description: NGINX Modify a Server in a Stream Upstream Server Group call: plus-http-stream-upstreams.patchstreamupstreamserver with: patchStreamUpstreamServer: rest.patchStreamUpstreamServer outputParameters: - type: object mapping: $. - method: DELETE name: deletestreamupstreamserver description: NGINX Remove a Server from a Stream Upstream Server Group call: plus-http-stream-upstreams.deletestreamupstreamserver outputParameters: - type: object mapping: $. - type: mcp namespace: plus-http-stream-upstreams-mcp port: 9090 transport: http description: MCP adapter for NGINX Plus REST API — Stream Upstreams. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: nginx-return-status-all-stream description: NGINX Return Status of All Stream Upstream Server Groups hints: readOnly: true destructive: false idempotent: true call: plus-http-stream-upstreams.getstreamupstreams with: fields: tools.fields outputParameters: - type: object mapping: $. - name: nginx-return-status-stream-upstream description: NGINX Return Status of a Stream Upstream Server Group hints: readOnly: true destructive: false idempotent: true call: plus-http-stream-upstreams.getstreamupstream with: fields: tools.fields outputParameters: - type: object mapping: $. - name: nginx-reset-statistics-stream-upstream description: NGINX Reset Statistics of a Stream Upstream Server Group hints: readOnly: false destructive: true idempotent: true call: plus-http-stream-upstreams.deletestreamupstreamstat outputParameters: - type: object mapping: $. - name: nginx-return-configuration-all-servers description: NGINX Return Configuration of All Servers in a Stream Upstream Server Group hints: readOnly: true destructive: false idempotent: true call: plus-http-stream-upstreams.getstreamupstreamservers outputParameters: - type: object mapping: $. - name: nginx-add-server-stream-upstream description: NGINX Add a Server to a Stream Upstream Server Group hints: readOnly: false destructive: false idempotent: false call: plus-http-stream-upstreams.poststreamupstreamserver with: postStreamUpstreamServer: tools.postStreamUpstreamServer outputParameters: - type: object mapping: $. - name: nginx-return-configuration-server-stream description: NGINX Return Configuration of a Server in a Stream Upstream Server Group hints: readOnly: true destructive: false idempotent: true call: plus-http-stream-upstreams.getstreamupstreamserver outputParameters: - type: object mapping: $. - name: nginx-modify-server-stream-upstream description: NGINX Modify a Server in a Stream Upstream Server Group hints: readOnly: false destructive: false idempotent: true call: plus-http-stream-upstreams.patchstreamupstreamserver with: patchStreamUpstreamServer: tools.patchStreamUpstreamServer outputParameters: - type: object mapping: $. - name: nginx-remove-server-stream-upstream description: NGINX Remove a Server from a Stream Upstream Server Group hints: readOnly: false destructive: true idempotent: true call: plus-http-stream-upstreams.deletestreamupstreamserver outputParameters: - type: object mapping: $.