openapi: 3.0.3
info:
title: NGINX njs Scripting Connections HTTP Keyvals API
version: '0.8'
description: The NGINX njs module provides a JavaScript runtime embedded inside NGINX. It does not expose HTTP endpoints itself. Instead, it offers scripting objects (HTTP request, stream session, Fetch API, etc.) that are available within njs handler functions configured in the NGINX configuration file. This specification documents the key njs objects as OpenAPI schemas only; the paths object is intentionally empty because there are no REST endpoints to describe.
x-generated-from: documentation
contact:
name: NGINX
url: https://nginx.org/en/docs/njs/reference.html
license:
name: BSD-2-Clause
url: https://nginx.org/LICENSE
tags:
- name: HTTP Keyvals
paths:
/http/keyvals/:
get:
tags:
- HTTP Keyvals
summary: NGINX Return Key-Value Pairs from All HTTP Keyval Zones
description: Returns key-value pairs for each HTTP keyval shared memory [zone](https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_zone).
operationId: getHttpKeyvalZones
produces:
- application/json
parameters:
- name: fields
in: query
type: string
description: If the “fields” value is empty, then only HTTP keyval zone names will be output.
x-example: ''
responses:
'200':
description: Success
schema:
$ref: '#/definitions/NginxHTTPKeyvalZonesMap'
examples:
application/json:
keyval_zone:
key1: value1
key2: value2
key3: value3
one:
arg1: value1
arg2: value2
arg3: value3
x-microcks-refs:
- name: getHttpKeyvalZones200Example
x-microcks-default: true
'404':
description: Unknown version (*UnknownVersion*)
schema:
$ref: '#/definitions/NginxError'
examples:
application/json:
error: {}
request_id: example-request_id
href: example-href
x-microcks-refs:
- name: getHttpKeyvalZones404Example
x-microcks-default: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/http/keyvals/{httpKeyvalZoneName}:
parameters:
- name: httpKeyvalZoneName
in: path
description: The name of an HTTP keyval shared memory zone.
required: true
type: string
x-example: example_httpKeyvalZoneName
get:
tags:
- HTTP Keyvals
summary: NGINX Return Key-Value Pairs from an HTTP Keyval Zone
description: Returns key-value pairs stored in a particular HTTP keyval shared memory [zone](https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_zone).
operationId: getHttpKeyvalZoneKeysValues
produces:
- application/json
parameters:
- name: key
in: query
type: string
description: Get a particular key-value pair from the HTTP keyval zone.
x-example: ''
responses:
'200':
description: Success
schema:
$ref: '#/definitions/NginxHTTPKeyvalZone'
examples:
application/json:
key1: value1
key2: value2
key3: value3
x-microcks-refs:
- name: getHttpKeyvalZoneKeysValues200Example
x-microcks-default: true
'404':
description: 'Keyval not found (*KeyvalNotFound*),
keyval key not found (*KeyvalKeyNotFound*),
unknown version (*UnknownVersion*)
'
schema:
$ref: '#/definitions/NginxError'
examples:
application/json:
error: {}
request_id: example-request_id
href: example-href
x-microcks-refs:
- name: getHttpKeyvalZoneKeysValues404Example
x-microcks-default: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
tags:
- HTTP Keyvals
summary: NGINX Add a Key-Value Pair to the HTTP Keyval Zone
description: Adds a new key-value pair to the HTTP keyval shared memory [zone](https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_zone). Several key-value pairs can be entered if the HTTP keyval shared memory zone is empty.
operationId: postHttpKeyvalZoneData
produces:
- application/json
parameters:
- in: body
name: Key-value
description: A key-value pair is specified in the JSON format. Several key-value pairs can be entered if the HTTP keyval shared memory zone is empty. Expiration time in milliseconds can be specified for a key-value pair with the *expire* parameter which overrides the [*timeout*](https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_timeout) parameter of the keyval_zone directive.
required: true
schema:
$ref: '#/definitions/NginxHTTPKeyvalZonePostPatch'
responses:
'201':
description: Created
'400':
description: 'Invalid JSON (*KeyvalFormatError*),
invalid key format (*KeyvalFormatError*),
key required (*KeyvalFormatError*),
keyval timeout is not enabled (*KeyvalFormatError*),
only one key can be added (*KeyvalFormatError*),
reading request body failed *BodyReadError*)
'
schema:
$ref: '#/definitions/NginxError'
examples:
application/json:
error: &id001 {}
request_id: example-request_id
href: example-href
x-microcks-refs:
- name: postHttpKeyvalZoneData400Example
x-microcks-default: true
'404':
description: 'Keyval not found (*KeyvalNotFound*),
unknown version (*UnknownVersion*)
'
schema:
$ref: '#/definitions/NginxError'
examples:
application/json:
error: *id001
request_id: example-request_id
href: example-href
x-microcks-refs:
- name: postHttpKeyvalZoneData404Example
x-microcks-default: true
'405':
description: Method disabled (*MethodDisabled*)
schema:
$ref: '#/definitions/NginxError'
examples:
application/json:
error: *id001
request_id: example-request_id
href: example-href
x-microcks-refs:
- name: postHttpKeyvalZoneData405Example
x-microcks-default: true
'409':
description: 'Entry exists (*EntryExists*),
key already exists (*KeyvalKeyExists*)
'
schema:
$ref: '#/definitions/NginxError'
examples:
application/json:
error: *id001
request_id: example-request_id
href: example-href
x-microcks-refs:
- name: postHttpKeyvalZoneData409Example
x-microcks-default: true
'413':
description: Request Entity Too Large
schema:
$ref: '#/definitions/NginxError'
examples:
application/json:
error: *id001
request_id: example-request_id
href: example-href
x-microcks-refs:
- name: postHttpKeyvalZoneData413Example
x-microcks-default: true
'415':
description: JSON error (*JsonError*)
schema:
$ref: '#/definitions/NginxError'
examples:
application/json:
error: *id001
request_id: example-request_id
href: example-href
x-microcks-refs:
- name: postHttpKeyvalZoneData415Example
x-microcks-default: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
patch:
tags:
- HTTP Keyvals
summary: NGINX Modify a Key-Value or Delete a Key
description: Changes the value of the selected key in the key-value pair, deletes a key by setting the key value to null, changes expiration time of a key-value pair. If synchronization of keyval zones in a cluster is enabled, deletes a key only on a target cluster node. Expiration time in milliseconds can be specified for a key-value pair with the *expire* parameter which overrides the [*timeout*](https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_timeout) parameter of the keyval_zone directive.
operationId: patchHttpKeyvalZoneKeyValue
produces:
- application/json
parameters:
- in: body
name: httpKeyvalZoneKeyValue
description: A new value for the key is specified in the JSON format.
required: true
schema:
$ref: '#/definitions/NginxHTTPKeyvalZonePostPatch'
responses:
'204':
description: Success
'400':
description: 'Invalid JSON (*KeyvalFormatError*),
key required (*KeyvalFormatError*),
keyval timeout is not enabled (*KeyvalFormatError*),
only one key can be updated (*KeyvalFormatError*),
reading request body failed *BodyReadError*)
'
schema:
$ref: '#/definitions/NginxError'
examples:
application/json:
error: &id002 {}
request_id: example-request_id
href: example-href
x-microcks-refs:
- name: patchHttpKeyvalZoneKeyValue400Example
x-microcks-default: true
'404':
description: 'Keyval not found (*KeyvalNotFound*),
keyval key not found (*KeyvalKeyNotFound*),
unknown version (*UnknownVersion*)
'
schema:
$ref: '#/definitions/NginxError'
examples:
application/json:
error: *id002
request_id: example-request_id
href: example-href
x-microcks-refs:
- name: patchHttpKeyvalZoneKeyValue404Example
x-microcks-default: true
'405':
description: Method disabled (*MethodDisabled*)
schema:
$ref: '#/definitions/NginxError'
examples:
application/json:
error: *id002
request_id: example-request_id
href: example-href
x-microcks-refs:
- name: patchHttpKeyvalZoneKeyValue405Example
x-microcks-default: true
'413':
description: Request Entity Too Large
schema:
$ref: '#/definitions/NginxError'
examples:
application/json:
error: *id002
request_id: example-request_id
href: example-href
x-microcks-refs:
- name: patchHttpKeyvalZoneKeyValue413Example
x-microcks-default: true
'415':
description: JSON error (*JsonError*)
schema:
$ref: '#/definitions/NginxError'
examples:
application/json:
error: *id002
request_id: example-request_id
href: example-href
x-microcks-refs:
- name: patchHttpKeyvalZoneKeyValue415Example
x-microcks-default: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
tags:
- HTTP Keyvals
summary: NGINX Empty the HTTP Keyval Zone
description: Deletes all key-value pairs from the HTTP keyval shared memory [zone](https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_zone). If synchronization of keyval zones in a cluster is enabled, empties the keyval zone only on a target cluster node.
operationId: deleteHttpKeyvalZoneData
responses:
'204':
description: Success
'404':
description: 'Keyval not found (*KeyvalNotFound*),
unknown version (*UnknownVersion*)
'
schema:
$ref: '#/definitions/NginxError'
examples:
application/json:
error: &id003 {}
request_id: example-request_id
href: example-href
x-microcks-refs:
- name: deleteHttpKeyvalZoneData404Example
x-microcks-default: true
'405':
description: Method disabled (*MethodDisabled*)
schema:
$ref: '#/definitions/NginxError'
examples:
application/json:
error: *id003
request_id: example-request_id
href: example-href
x-microcks-refs:
- name: deleteHttpKeyvalZoneData405Example
x-microcks-default: true
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
definitions:
NginxHTTPKeyvalZone:
title: HTTP Keyval Shared Memory Zone
description: 'Contents of an HTTP keyval shared memory zone
when using the GET method.
'
type: object
example:
key1: value1
key2: value2
key3: value3
NginxError:
title: Error
description: 'nginx error object.
'
type: object
properties:
error:
type: object
properties:
status:
type: integer
description: HTTP error code.
example: 200
text:
type: string
description: Error description.
example: example-text
code:
type: string
description: Internal nginx error code.
example: 200
example: {}
request_id:
type: string
description: The ID of the request, equals the value of the $request_id variable.
example: example-request_id
href:
type: string
description: Link to reference documentation.
example: example-href
NginxHTTPKeyvalZonePostPatch:
title: HTTP Keyval Shared Memory Zone
description: 'Contents of an HTTP keyval shared memory zone
when using the POST or PATCH methods.
'
type: object
example:
key1: value1
key2: value2
key3:
value: value3
expire: 30000
NginxHTTPKeyvalZonesMap:
title: HTTP Keyval Shared Memory Zones
description: 'Contents of all HTTP keyval shared memory zones.
'
type: object
additionalProperties:
$ref: '#/definitions/NginxHTTPKeyvalZone'
example:
keyval_zone:
key1: value1
key2: value2
key3: value3
one:
arg1: value1
arg2: value2
arg3: value3
externalDocs:
description: NGINX njs Reference
url: https://nginx.org/en/docs/njs/reference.html