NGINX · Capability

NGINX Plus REST API — HTTP Upstreams

NGINX Plus REST API — HTTP Upstreams. 8 operations. Lead operation: NGINX Return Status of All HTTP Upstream Server Groups. Self-contained Naftiko capability covering one Nginx business surface.

Run with Naftiko NginxHTTP Upstreams

What You Can Do

GET
Gethttpupstreams — NGINX Return Status of All HTTP Upstream Server Groups
/v1/http/upstreams
GET
Gethttpupstreamname — NGINX Return Status of an HTTP Upstream Server Group
/v1/http/upstreams/{httpupstreamname}
DELETE
Deletehttpupstreamstat — NGINX Reset Statistics of an HTTP Upstream Server Group
/v1/http/upstreams/{httpupstreamname}
GET
Gethttpupstreamservers — NGINX Return Configuration of All Servers in an HTTP Upstream Server Group
/v1/http/upstreams/{httpupstreamname}/servers
POST
Posthttpupstreamserver — NGINX Add a Server to an HTTP Upstream Server Group
/v1/http/upstreams/{httpupstreamname}/servers
GET
Gethttpupstreampeer — NGINX Return Configuration of a Server in an HTTP Upstream Server Group
/v1/http/upstreams/{httpupstreamname}/servers/{httpupstreamserverid}
PATCH
Patchhttpupstreampeer — NGINX Modify a Server in an HTTP Upstream Server Group
/v1/http/upstreams/{httpupstreamname}/servers/{httpupstreamserverid}
DELETE
Deletehttpupstreamserver — NGINX Remove a Server from an HTTP Upstream Server Group
/v1/http/upstreams/{httpupstreamname}/servers/{httpupstreamserverid}

MCP Tools

nginx-return-status-all-http

NGINX Return Status of All HTTP Upstream Server Groups

read-only idempotent
nginx-return-status-http-upstream

NGINX Return Status of an HTTP Upstream Server Group

read-only idempotent
nginx-reset-statistics-http-upstream

NGINX Reset Statistics of an HTTP Upstream Server Group

idempotent
nginx-return-configuration-all-servers

NGINX Return Configuration of All Servers in an HTTP Upstream Server Group

read-only idempotent
nginx-add-server-http-upstream

NGINX Add a Server to an HTTP Upstream Server Group

nginx-return-configuration-server-http

NGINX Return Configuration of a Server in an HTTP Upstream Server Group

read-only idempotent
nginx-modify-server-http-upstream

NGINX Modify a Server in an HTTP Upstream Server Group

idempotent
nginx-remove-server-http-upstream

NGINX Remove a Server from an HTTP Upstream Server Group

idempotent

Capability Spec

plus-http-http-upstreams.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: NGINX Plus REST API — HTTP Upstreams
  description: 'NGINX Plus REST API — HTTP Upstreams. 8 operations. Lead operation: NGINX Return Status of All HTTP Upstream
    Server Groups. Self-contained Naftiko capability covering one Nginx business surface.'
  tags:
  - Nginx
  - HTTP 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-http-upstreams
    baseUri: ''
    description: NGINX Plus REST API — HTTP Upstreams business capability. Self-contained, no shared references.
    resources:
    - name: http-upstreams
      path: /http/upstreams/
      operations:
      - name: gethttpupstreams
        method: GET
        description: NGINX Return Status of All HTTP 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 “<literal>fields</literal>” value
            is empty, only names of upstreams will be output.
    - name: http-upstreams-httpUpstreamName
      path: /http/upstreams/{httpUpstreamName}/
      operations:
      - name: gethttpupstreamname
        method: GET
        description: NGINX Return Status of an HTTP 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: deletehttpupstreamstat
        method: DELETE
        description: NGINX Reset Statistics of an HTTP Upstream Server Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: http-upstreams-httpUpstreamName-servers
      path: /http/upstreams/{httpUpstreamName}/servers/
      operations:
      - name: gethttpupstreamservers
        method: GET
        description: NGINX Return Configuration of All Servers in an HTTP Upstream Server Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: posthttpupstreamserver
        method: POST
        description: NGINX Add a Server to an HTTP Upstream Server Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: postHttpUpstreamServer
          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: http-upstreams-httpUpstreamName-servers-httpUpstreamServerId
      path: /http/upstreams/{httpUpstreamName}/servers/{httpUpstreamServerId}
      operations:
      - name: gethttpupstreampeer
        method: GET
        description: NGINX Return Configuration of a Server in an HTTP Upstream Server Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: patchhttpupstreampeer
        method: PATCH
        description: NGINX Modify a Server in an HTTP Upstream Server Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: patchHttpUpstreamServer
          in: body
          type: string
          description: Server parameters, specified in the JSON format. The “*ID*”, “*backup*”, and “*service*” parameters
            cannot be changed.
          required: true
      - name: deletehttpupstreamserver
        method: DELETE
        description: NGINX Remove a Server from an HTTP Upstream Server Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: plus-http-http-upstreams-rest
    port: 8080
    description: REST adapter for NGINX Plus REST API — HTTP Upstreams. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/http/upstreams
      name: http-upstreams
      description: REST surface for http-upstreams.
      operations:
      - method: GET
        name: gethttpupstreams
        description: NGINX Return Status of All HTTP Upstream Server Groups
        call: plus-http-http-upstreams.gethttpupstreams
        with:
          fields: rest.fields
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/http/upstreams/{httpupstreamname}
      name: http-upstreams-httpupstreamname
      description: REST surface for http-upstreams-httpUpstreamName.
      operations:
      - method: GET
        name: gethttpupstreamname
        description: NGINX Return Status of an HTTP Upstream Server Group
        call: plus-http-http-upstreams.gethttpupstreamname
        with:
          fields: rest.fields
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletehttpupstreamstat
        description: NGINX Reset Statistics of an HTTP Upstream Server Group
        call: plus-http-http-upstreams.deletehttpupstreamstat
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/http/upstreams/{httpupstreamname}/servers
      name: http-upstreams-httpupstreamname-servers
      description: REST surface for http-upstreams-httpUpstreamName-servers.
      operations:
      - method: GET
        name: gethttpupstreamservers
        description: NGINX Return Configuration of All Servers in an HTTP Upstream Server Group
        call: plus-http-http-upstreams.gethttpupstreamservers
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: posthttpupstreamserver
        description: NGINX Add a Server to an HTTP Upstream Server Group
        call: plus-http-http-upstreams.posthttpupstreamserver
        with:
          postHttpUpstreamServer: rest.postHttpUpstreamServer
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/http/upstreams/{httpupstreamname}/servers/{httpupstreamserverid}
      name: http-upstreams-httpupstreamname-servers-httpupstreamserverid
      description: REST surface for http-upstreams-httpUpstreamName-servers-httpUpstreamServerId.
      operations:
      - method: GET
        name: gethttpupstreampeer
        description: NGINX Return Configuration of a Server in an HTTP Upstream Server Group
        call: plus-http-http-upstreams.gethttpupstreampeer
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchhttpupstreampeer
        description: NGINX Modify a Server in an HTTP Upstream Server Group
        call: plus-http-http-upstreams.patchhttpupstreampeer
        with:
          patchHttpUpstreamServer: rest.patchHttpUpstreamServer
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletehttpupstreamserver
        description: NGINX Remove a Server from an HTTP Upstream Server Group
        call: plus-http-http-upstreams.deletehttpupstreamserver
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: plus-http-http-upstreams-mcp
    port: 9090
    transport: http
    description: MCP adapter for NGINX Plus REST API — HTTP Upstreams. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: nginx-return-status-all-http
      description: NGINX Return Status of All HTTP Upstream Server Groups
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: plus-http-http-upstreams.gethttpupstreams
      with:
        fields: tools.fields
      outputParameters:
      - type: object
        mapping: $.
    - name: nginx-return-status-http-upstream
      description: NGINX Return Status of an HTTP Upstream Server Group
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: plus-http-http-upstreams.gethttpupstreamname
      with:
        fields: tools.fields
      outputParameters:
      - type: object
        mapping: $.
    - name: nginx-reset-statistics-http-upstream
      description: NGINX Reset Statistics of an HTTP Upstream Server Group
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: plus-http-http-upstreams.deletehttpupstreamstat
      outputParameters:
      - type: object
        mapping: $.
    - name: nginx-return-configuration-all-servers
      description: NGINX Return Configuration of All Servers in an HTTP Upstream Server Group
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: plus-http-http-upstreams.gethttpupstreamservers
      outputParameters:
      - type: object
        mapping: $.
    - name: nginx-add-server-http-upstream
      description: NGINX Add a Server to an HTTP Upstream Server Group
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: plus-http-http-upstreams.posthttpupstreamserver
      with:
        postHttpUpstreamServer: tools.postHttpUpstreamServer
      outputParameters:
      - type: object
        mapping: $.
    - name: nginx-return-configuration-server-http
      description: NGINX Return Configuration of a Server in an HTTP Upstream Server Group
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: plus-http-http-upstreams.gethttpupstreampeer
      outputParameters:
      - type: object
        mapping: $.
    - name: nginx-modify-server-http-upstream
      description: NGINX Modify a Server in an HTTP Upstream Server Group
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: plus-http-http-upstreams.patchhttpupstreampeer
      with:
        patchHttpUpstreamServer: tools.patchHttpUpstreamServer
      outputParameters:
      - type: object
        mapping: $.
    - name: nginx-remove-server-http-upstream
      description: NGINX Remove a Server from an HTTP Upstream Server Group
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: plus-http-http-upstreams.deletehttpupstreamserver
      outputParameters:
      - type: object
        mapping: $.