Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

NATS JetStream Management API

The JetStream wire API provides a protocol-level management interface for configuring and operating JetStream streams, consumers, key-value buckets, and object stores. Requests are made by publishing to well-known $JS.API.* subjects and responses are returned as typed JSON payloads. This API underlies all official NATS client SDKs and the nats CLI.

NATS JetStream API is one of 15 APIs that NATS publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include JetStream. The published artifact set on APIs.io includes an OpenAPI specification.

This event API exposes 0 operations across 16 channels, and defines 23 schemas. It is described by AsyncAPI 3.0.0, at version 2.10.0.

The API connects through 2 servers: localhost:4222 (nats), localhost:4222 (nats).

0 operations 16 channels 23 schemas

Metadata

The identity and technical contract details declared by the specification.

Specification
AsyncAPI 3.0.0
API Version
2.10.0
Servers
localhost:4222 (nats)
localhost:4222 (nats)
Contact
License

Messages & Schemas 23

The contract defines 23 schemas that model the data carried by its messages. The most detailed are ConsumerConfig (16 properties), StreamConfig (14 properties), ConsumerInfo (9 properties), AccountInfo (8 properties). Each schema is shown below with its type and property counts.

StreamCreateRequest
message
JSON configuration object for creating or updating a JetStream stream
StreamInfoResponse
message
Stream configuration, state, and cluster information
StreamListResponse
message
Paginated list of stream info objects
ConsumerCreateRequest
message
JSON configuration object for creating or updating a JetStream consumer
ConsumerInfoResponse
message
Consumer configuration and delivery state
ConsumerListResponse
message
Paginated list of consumer info objects for a stream
ConsumerFetchRequest
message
Parameters for a pull consumer message fetch operation
ListRequest
message
Optional offset for paginating list results
NamesResponse
message
Paginated list of names (stream or consumer names)
StreamPurgeRequest
message
Optional filter parameters for a stream purge operation
PurgeResponse
message
Result of a stream purge operation
MsgGetRequest
message
Parameters for retrieving a specific message from a stream
MsgGetResponse
message
A stored JetStream message including headers, payload, and metadata
MsgDeleteRequest
message
Specifies the sequence number of a message to delete from a stream
SuccessResponse
message
Generic success/failure response for destructive operations
AccountInfoResponse
message
Account-level JetStream usage and limits
StreamConfig
object
Configuration for a JetStream stream. Defines subjects to capture, retention policy, storage type, replication factor, and limits.
14 properties 1 required
StreamInfo
object
Stream information including current configuration, runtime state, and cluster membership details.
4 properties
StreamState
object
Runtime state of a JetStream stream
7 properties
ConsumerConfig
object
Configuration for a JetStream consumer defining delivery policy, acknowledgment behavior, and filter criteria.
16 properties
ConsumerInfo
object
Consumer configuration and current delivery state
9 properties
ClusterInfo
object
JetStream cluster membership and leader information for a stream or consumer
3 properties
AccountInfo
object
Account-level JetStream resource usage and configured limits
8 properties

Specification

The full machine-readable AsyncAPI contract behind this narrative.

Source

nats-jetstream-api-asyncapi.yml Raw ↑

Other APIs NATS publishes across the network.

NATS Monitoring API
NATS Messaging API
NATS Key-Value Store API
NATS Object Store API
NATS Accounts API
NATS Clustering API
NATS Connections API
NATS Gateways API
NATS Health API
NATS Leaf Nodes API
NATS Routes API
NATS Server API