Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/nginx-http-upstreams-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: '9.0'
title: NGINX Plus REST HTTP Upstreams API
description: NGINX Plus REST [API](https://nginx.org/en/docs/http/ngx_http_api_module.html) provides access to NGINX Plus status information, on-the-fly configuration of upstream servers and key-value pairs management for [http](https://nginx.org/en/docs/http/ngx_http_keyval_module.html) and [stream](https://nginx.org/en/docs/stream/ngx_stream_keyval_module.html).
servers:
- url: /api/9
tags:
- name: HTTP Upstreams
paths:
/http/upstreams/:
get:
tags:
- HTTP Upstreams
summary: NGINX Return Status of All HTTP Upstream Server Groups
description: Returns status of each HTTP upstream server group and its servers.
operationId: getHttpUpstreams
parameters:
- name: fields
in: query
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.
x-example: ''
schema:
type: string
responses:
'200':
description: Success
x-microcks-refs:
- name: getHttpUpstreams200Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxHTTPUpstreamMap'
example:
trac-backend:
peers:
- id: 0
server: 10.0.0.1:8088
name: 10.0.0.1:8088
backup: false
weight: 5
state: up
active: 0
ssl:
handshakes: 620311
handshakes_failed: 3432
session_reuses: 36442
no_common_protocol: 4
handshake_timeout: 0
peer_rejected_cert: 0
verify_failures:
expired_cert: 2
revoked_cert: 1
hostname_mismatch: 2
other: 1
requests: 667231
header_time: 20
response_time: 36
responses:
1xx: 0
2xx: 666310
3xx: 0
4xx: 915
5xx: 6
codes:
200: 666310
404: 915
503: 6
total: 667231
sent: 251946292
received: 19222475454
fails: 0
unavail: 0
health_checks:
checks: 26214
fails: 0
unhealthy: 0
last_passed: true
downtime: 0
downstart: 2022-06-28 11:09:21.602000+00:00
selected: 2022-06-28 15:01:25+00:00
- id: 1
server: 10.0.0.1:8089
name: 10.0.0.1:8089
backup: true
weight: 1
state: unhealthy
active: 0
requests: 0
responses:
1xx: 0
2xx: 0
3xx: 0
4xx: 0
5xx: 0
codes: {}
total: 0
sent: 0
received: 0
fails: 0
unavail: 0
health_checks:
checks: 26284
fails: 26284
unhealthy: 1
last_passed: false
downtime: 262925617
downstart: 2022-06-28 11:09:21.602000+00:00
selected: 2022-06-28 15:01:25+00:00
keepalive: 0
zombies: 0
zone: trac-backend
hg-backend:
peers:
- id: 0
server: 10.0.0.1:8088
name: 10.0.0.1:8088
backup: false
weight: 5
state: up
active: 0
ssl:
handshakes: 620311
handshakes_failed: 3432
session_reuses: 36442
no_common_protocol: 4
handshake_timeout: 0
peer_rejected_cert: 0
verify_failures:
expired_cert: 2
revoked_cert: 1
hostname_mismatch: 2
other: 1
requests: 667231
header_time: 20
response_time: 36
responses:
1xx: 0
2xx: 666310
3xx: 0
4xx: 915
5xx: 6
codes:
200: 666310
404: 915
503: 6
total: 667231
sent: 251946292
received: 19222475454
fails: 0
unavail: 0
health_checks:
checks: 26214
fails: 0
unhealthy: 0
last_passed: true
downtime: 0
downstart: 2022-06-28 11:09:21.602000+00:00
selected: 2022-06-28 15:01:25+00:00
- id: 1
server: 10.0.0.1:8089
name: 10.0.0.1:8089
backup: true
weight: 1
state: unhealthy
active: 0
requests: 0
responses:
1xx: 0
2xx: 0
3xx: 0
4xx: 0
5xx: 0
codes: {}
total: 0
sent: 0
received: 0
fails: 0
unavail: 0
health_checks:
checks: 26284
fails: 26284
unhealthy: 1
last_passed: false
downtime: 262925617
downstart: 2022-06-28 11:09:21.602000+00:00
selected: 2022-06-28 15:01:25+00:00
keepalive: 0
zombies: 0
zone: hg-backend
'404':
description: Unknown version (*UnknownVersion*)
x-microcks-refs:
- name: getHttpUpstreams404Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/http/upstreams/{httpUpstreamName}/:
parameters:
- name: httpUpstreamName
in: path
description: The name of an HTTP upstream server group.
required: true
x-example: example_httpUpstreamName
schema:
type: string
get:
tags:
- HTTP Upstreams
summary: NGINX Return Status of an HTTP Upstream Server Group
description: Returns status of a particular HTTP upstream server group and its servers.
operationId: getHttpUpstreamName
parameters:
- name: fields
in: query
description: Limits which fields of the upstream server group will be output.
x-example: ''
schema:
type: string
responses:
'200':
description: Success
x-microcks-refs:
- name: getHttpUpstreamName200Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxHTTPUpstream'
example:
upstream_backend:
peers:
- id: 0
server: 10.0.0.1:8088
name: 10.0.0.1:8088
backup: false
weight: 5
state: up
active: 0
ssl:
handshakes: 620311
handshakes_failed: 3432
session_reuses: 36442
no_common_protocol: 4
handshake_timeout: 0
peer_rejected_cert: 0
verify_failures:
expired_cert: 2
revoked_cert: 1
hostname_mismatch: 2
other: 1
max_conns: 20
requests: 667231
header_time: 20
response_time: 36
responses:
1xx: 0
2xx: 666310
3xx: 0
4xx: 915
5xx: 6
codes:
200: 666310
404: 915
503: 6
total: 667231
sent: 251946292
received: 19222475454
fails: 0
unavail: 0
health_checks:
checks: 26214
fails: 0
unhealthy: 0
last_passed: true
downtime: 0
downstart: 2022-06-28 11:09:21.602000+00:00
selected: 2022-06-28 15:01:25+00:00
- id: 1
server: 10.0.0.1:8089
name: 10.0.0.1:8089
backup: true
weight: 1
state: unhealthy
active: 0
max_conns: 20
requests: 0
responses:
1xx: 0
2xx: 0
3xx: 0
4xx: 0
5xx: 0
codes: {}
total: 0
sent: 0
received: 0
fails: 0
unavail: 0
health_checks:
checks: 26284
fails: 26284
unhealthy: 1
last_passed: false
downtime: 262925617
downstart: 2022-06-28 11:09:21.602000+00:00
selected: 2022-06-28 15:01:25+00:00
keepalive: 0
zombies: 0
zone: upstream_backend
'400':
description: Upstream is static (*UpstreamStatic*)
x-microcks-refs:
- name: getHttpUpstreamName400Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
'404':
description: 'Unknown version (*UnknownVersion*),
upstream not found (*UpstreamNotFound*)
'
x-microcks-refs:
- name: getHttpUpstreamName404Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
tags:
- HTTP Upstreams
summary: NGINX Reset Statistics of an HTTP Upstream Server Group
description: Resets the statistics for each upstream server in an upstream server group and queue statistics.
operationId: deleteHttpUpstreamStat
responses:
'204':
description: Success
'400':
description: Upstream is static (*UpstreamStatic*)
x-microcks-refs:
- name: deleteHttpUpstreamStat400Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
'404':
description: 'Unknown version (*UnknownVersion*),
upstream not found (*UpstreamNotFound*)
'
x-microcks-refs:
- name: deleteHttpUpstreamStat404Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
'405':
description: Method disabled (*MethodDisabled*)
x-microcks-refs:
- name: deleteHttpUpstreamStat405Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/http/upstreams/{httpUpstreamName}/servers/:
parameters:
- name: httpUpstreamName
in: path
description: The name of an upstream server group.
required: true
x-example: example_httpUpstreamName
schema:
type: string
get:
tags:
- HTTP Upstreams
summary: NGINX Return Configuration of All Servers in an HTTP Upstream Server Group
description: Returns configuration of each server in a particular HTTP upstream server group.
operationId: getHttpUpstreamServers
responses:
'200':
description: Success
x-microcks-refs:
- name: getHttpUpstreamServers200Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxHTTPUpstreamConfServerMap'
example:
- id: 0
server: 10.0.0.1:8088
weight: 1
max_conns: 0
max_fails: 0
fail_timeout: 10s
slow_start: 10s
route: ''
backup: false
down: false
- id: 1
server: 10.0.0.1:8089
weight: 4
max_conns: 0
max_fails: 0
fail_timeout: 10s
slow_start: 10s
route: ''
backup: true
down: true
'400':
description: Upstream is static (*UpstreamStatic*)
x-microcks-refs:
- name: getHttpUpstreamServers400Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
'404':
description: 'Unknown version (*UnknownVersion*),
upstream not found (*UpstreamNotFound*)
'
x-microcks-refs:
- name: getHttpUpstreamServers404Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
tags:
- HTTP Upstreams
summary: NGINX Add a Server to an HTTP Upstream Server Group
description: Adds a new server to an HTTP upstream server group. Server parameters are specified in the JSON format.
operationId: postHttpUpstreamServer
responses:
'201':
description: Created
x-microcks-refs:
- name: postHttpUpstreamServer201Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxHTTPUpstreamConfServer'
example:
id: 1
server: 10.0.0.1:8089
weight: 4
max_conns: 0
max_fails: 0
fail_timeout: 10s
slow_start: 10s
route: ''
backup: true
down: true
'400':
description: 'Upstream is static (*UpstreamStatic*),
invalid “**parameter**” value (*UpstreamConfFormatError*),
missing “*server*” argument (*UpstreamConfFormatError*),
unknown parameter “**name**” (*UpstreamConfFormatError*),
nested object or list (*UpstreamConfFormatError*),
“*error*” while parsing (*UpstreamBadAddress*),
service upstream “*host*” may not have port (*UpstreamBadAddress*),
service upstream “*host*” requires domain name (*UpstreamBadAddress*),
invalid “*weight*” (*UpstreamBadWeight*),
invalid “*max_conns*” (*UpstreamBadMaxConns*),
invalid “*max_fails*” (*UpstreamBadMaxFails*),
invalid “*fail_timeout*” (*UpstreamBadFailTimeout*),
invalid “*slow_start*” (*UpstreamBadSlowStart*),
reading request body failed *BodyReadError*),
route is too long (*UpstreamBadRoute*),
“*service*” is empty (*UpstreamBadService*),
no resolver defined to resolve (*UpstreamConfNoResolver*),
upstream “**name**” has no backup (*UpstreamNoBackup*),
upstream “**name**” memory exhausted (*UpstreamOutOfMemory*)
'
x-microcks-refs:
- name: postHttpUpstreamServer400Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
'404':
description: 'Unknown version (*UnknownVersion*),
upstream not found (*UpstreamNotFound*)
'
x-microcks-refs:
- name: postHttpUpstreamServer404Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
'405':
description: Method disabled (*MethodDisabled*)
x-microcks-refs:
- name: postHttpUpstreamServer405Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
'409':
description: Entry exists (*EntryExists*)
x-microcks-refs:
- name: postHttpUpstreamServer409Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
'415':
description: JSON error (*JsonError*)
x-microcks-refs:
- name: postHttpUpstreamServer415Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NginxHTTPUpstreamConfServer'
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
/http/upstreams/{httpUpstreamName}/servers/{httpUpstreamServerId}:
parameters:
- name: httpUpstreamName
in: path
description: The name of the upstream server group.
required: true
x-example: example_httpUpstreamName
schema:
type: string
- name: httpUpstreamServerId
in: path
description: The ID of the server.
required: true
x-example: example_httpUpstreamServerId
schema:
type: string
get:
tags:
- HTTP Upstreams
summary: NGINX Return Configuration of a Server in an HTTP Upstream Server Group
description: Returns configuration of a particular server in the HTTP upstream server group.
operationId: getHttpUpstreamPeer
responses:
'200':
description: Success
x-microcks-refs:
- name: getHttpUpstreamPeer200Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxHTTPUpstreamConfServer'
example:
id: 1
server: 10.0.0.1:8089
weight: 4
max_conns: 0
max_fails: 0
fail_timeout: 10s
slow_start: 10s
route: ''
backup: true
down: true
'400':
description: 'Upstream is static (*UpstreamStatic*),
invalid server ID (*UpstreamBadServerId*)
'
x-microcks-refs:
- name: getHttpUpstreamPeer400Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
'404':
description: 'Server with ID “**id**” does not exist (*UpstreamServerNotFound*),
unknown version (*UnknownVersion*),
upstream not found (*UpstreamNotFound*)
'
x-microcks-refs:
- name: getHttpUpstreamPeer404Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
patch:
tags:
- HTTP Upstreams
summary: NGINX Modify a Server in an HTTP Upstream Server Group
description: Modifies settings of a particular server in an HTTP upstream server group. Server parameters are specified in the JSON format.
operationId: patchHttpUpstreamPeer
responses:
'200':
description: Success
x-microcks-refs:
- name: patchHttpUpstreamPeer200Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxHTTPUpstreamConfServer'
example:
id: 1
server: 10.0.0.1:8089
weight: 4
max_conns: 0
max_fails: 0
fail_timeout: 10s
slow_start: 10s
route: ''
backup: true
down: true
'400':
description: 'Upstream is static (*UpstreamStatic*),
invalid “**parameter**” value (*UpstreamConfFormatError*),
unknown parameter “**name**” (*UpstreamConfFormatError*),
nested object or list (*UpstreamConfFormatError*),
“*error*” while parsing (*UpstreamBadAddress*),
invalid “*server*” argument (*UpstreamBadAddress*),
invalid server ID (*UpstreamBadServerId*),
invalid “*weight*” (*UpstreamBadWeight*),
invalid “*max_conns*” (*UpstreamBadMaxConns*),
invalid “*max_fails*” (*UpstreamBadMaxFails*),
invalid “*fail_timeout*” (*UpstreamBadFailTimeout*),
invalid “*slow_start*” (*UpstreamBadSlowStart*),
reading request body failed *BodyReadError*),
route is too long (*UpstreamBadRoute*),
“*service*” is empty (*UpstreamBadService*),
server “**ID**” address is immutable (*UpstreamServerImmutable*),
server “*ID*” weight is immutable (*UpstreamServerWeightImmutable*),
upstream “*name*” memory exhausted (*UpstreamOutOfMemory*)
'
x-microcks-refs:
- name: patchHttpUpstreamPeer400Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
'404':
description: 'Server with ID “**id**” does not exist (*UpstreamServerNotFound*),
unknown version (*UnknownVersion*),
upstream not found (*UpstreamNotFound*)
'
x-microcks-refs:
- name: patchHttpUpstreamPeer404Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
'405':
description: Method disabled (*MethodDisabled*)
x-microcks-refs:
- name: patchHttpUpstreamPeer405Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
'415':
description: JSON error (*JsonError*)
x-microcks-refs:
- name: patchHttpUpstreamPeer415Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NginxHTTPUpstreamConfServer'
description: Server parameters, specified in the JSON format. The “*ID*”, “*backup*”, and “*service*” parameters cannot be changed.
required: true
delete:
tags:
- HTTP Upstreams
summary: NGINX Remove a Server from an HTTP Upstream Server Group
description: Removes a server from an HTTP upstream server group.
operationId: deleteHttpUpstreamServer
responses:
'200':
description: Success
x-microcks-refs:
- name: deleteHttpUpstreamServer200Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxHTTPUpstreamConfServerMap'
example:
- id: 0
server: 10.0.0.1:8088
weight: 1
max_conns: 0
max_fails: 0
fail_timeout: 10s
slow_start: 10s
route: ''
backup: false
down: false
- id: 1
server: 10.0.0.1:8089
weight: 4
max_conns: 0
max_fails: 0
fail_timeout: 10s
slow_start: 10s
route: ''
backup: true
down: true
'400':
description: 'Upstream is static (*UpstreamStatic*),
invalid server ID (*UpstreamBadServerId*),
server “**id**” not removable (*UpstreamServerImmutable*)
'
x-microcks-refs:
- name: deleteHttpUpstreamServer400Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
'404':
description: 'Server with ID “**id**” does not exist (*UpstreamServerNotFound*),
unknown version (*UnknownVersion*),
upstream not found (*UpstreamNotFound*)
'
x-microcks-refs:
- name: deleteHttpUpstreamServer404Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
'405':
description: Method disabled (*MethodDisabled*)
x-microcks-refs:
- name: deleteHttpUpstreamServer405Example
x-microcks-default: true
content:
application/json:
schema:
$ref: '#/components/schemas/NginxError'
example:
error: {}
request_id: example-request_id
href: example-href
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
NginxHTTPUpstreamConfServerMap:
title: HTTP Upstream Servers
description: An array of HTTP upstream servers for dynamic configuration.
type: array
items:
$ref: '#/components/schemas/NginxHTTPUpstreamConfServer'
example:
- id: 0
server: 10.0.0.1:8088
weight: 1
max_conns: 0
max_fails: 0
fail_timeout: 10s
slow_start: 10s
route: ''
backup: false
down: false
- id: 1
server: 10.0.0.1:8089
weight: 4
max_conns: 0
max_fails: 0
fail_timeout: 10s
slow_start: 10s
route: ''
backup: true
down: true
NginxHTTPUpstream:
title: HTTP Upstream
type: object
properties:
peers:
$ref: '#/components/schemas/NginxHTTPUpstreamPeerMap'
keepalive:
type: integer
description: The current number of idle <a href="https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive">keepalive</a> connections.
example: 0
zombies:
type: integer
description: The current number of servers removed from the group but still processing active client requests.
example: 0
zone:
# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nginx/refs/heads/main/openapi/nginx-http-upstreams-api-openapi.yml