Synadia Communications Kv Bucket API
The kv-bucket API from Synadia Communications — 5 operation(s) for kv-bucket.
The kv-bucket API from Synadia Communications — 5 operation(s) for kv-bucket.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/synadia-communications-kv-bucket-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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:
description: API for Synadia Control Plane / Synadia Cloud
title: Synadia Control Plane / Synadia Cloud Kv Bucket API
version: beta
servers:
- description: Path to Synadia Control Plane Server Api
url: '{baseUrl}/api'
variables:
baseUrl:
default: ''
security:
- bearerAuth: []
sessionAuth: []
tags:
- name: kv-bucket
paths:
/core/beta/jetstream/kv-bucket/{streamId}:
delete:
description: Deletes KV Bucket
operationId: deleteKvBucket
parameters:
- explode: false
in: path
name: streamId
required: true
schema:
type: string
style: simple
responses:
'204':
description: No Content
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: Delete KV Bucket
tags:
- kv-bucket
x-doc-tags:
- 'JetStream: KV Buckets'
get:
description: Returns JetStream KV bucket info
operationId: getKvBucket
parameters:
- explode: false
in: path
name: streamId
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/JSKVBucketViewResponse'
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: Get KV Bucket
tags:
- kv-bucket
x-doc-tags:
- 'JetStream: KV Buckets'
patch:
operationId: updateKvBucket
parameters:
- explode: false
in: path
name: streamId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JSKVBucketUpdateRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/JSKVBucketViewResponse'
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: Update KV Bucket
tags:
- kv-bucket
x-doc-tags:
- 'JetStream: KV Buckets'
/core/beta/jetstream/kv-bucket/{streamId}/consumers:
get:
operationId: listKvConsumers
parameters:
- explode: false
in: path
name: streamId
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/JSConsumerInfoListResponse'
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: List Consumers
tags:
- kv-bucket
x-doc-tags:
- 'JetStream: KV Buckets'
/core/beta/jetstream/kv-bucket/{streamId}/consumers/pull:
post:
description: Creates Pull Consumer
operationId: createKvPullConsumer
parameters:
- explode: false
in: path
name: streamId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JSPullConsumerConfigRequest'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/JSPullConsumerInfoResponse'
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: Create Pull Consumer
tags:
- kv-bucket
x-doc-tags:
- 'JetStream: KV Buckets'
/core/beta/jetstream/kv-bucket/{streamId}/consumers/push:
post:
description: Creates Push Consumer
operationId: createKvPushConsumer
parameters:
- explode: false
in: path
name: streamId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JSPushConsumerConfigRequest'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/JSPushConsumerInfoResponse'
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: Create Push Consumer
tags:
- kv-bucket
x-doc-tags:
- 'JetStream: KV Buckets'
/core/beta/jetstream/kv-bucket/{streamId}/purge:
delete:
description: Purges KV Bucket
operationId: purgeKvBucket
parameters:
- explode: false
in: path
name: streamId
required: true
schema:
type: string
style: simple
responses:
'204':
description: No Content
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: Purge KV Bucket
tags:
- kv-bucket
x-doc-tags:
- 'JetStream: Streams'
components:
schemas:
StreamSource:
description: StreamSource dictates how streams can source from other streams.
example:
opt_start_time: opt_start_time
external: null
opt_start_seq: 2147483647
name: name
consumer: null
filter_subject: filter_subject
subject_transforms:
- src: src
dest: dest
- src: src
dest: dest
properties:
consumer:
$ref: '#/components/schemas/StreamSource_consumer'
external:
$ref: '#/components/schemas/StreamSource_external'
filter_subject:
type: string
name:
type: string
opt_start_seq:
maximum: 18446744073709551615
minimum: 0
type: integer
opt_start_time:
type:
- string
- 'null'
subject_transforms:
items:
$ref: '#/components/schemas/SubjectTransformConfig'
type: array
required:
- name
type: object
SubjectTransformConfig:
description: 'SubjectTransformConfig is for applying a subject transform (to matching messages) before doing anything else
when a new message is received'
example:
src: src
dest: dest
properties:
dest:
type: string
src:
type: string
required:
- dest
- src
type: object
PriorityGroupState:
description: PriorityGroupState is the state of a consumer priority group.
example:
pinned_client_id: pinned_client_id
pinned_ts: 2000-01-23 04:56:07+00:00
group: group
properties:
group:
type: string
pinned_client_id:
type: string
pinned_ts:
format: date-time
type: string
required:
- group
type: object
ConsumerInfo:
description: ConsumerInfo reports the current state of a consumer
properties:
ack_floor:
$ref: '#/components/schemas/SequenceInfo'
cluster:
$ref: '#/components/schemas/ConsumerInfo_cluster'
config:
$ref: '#/components/schemas/ConsumerConfig'
created:
format: date-time
type: string
delivered:
$ref: '#/components/schemas/SequenceInfo'
name:
type: string
num_ack_pending:
type: integer
num_pending:
maximum: 18446744073709551615
minimum: 0
type: integer
num_redelivered:
type: integer
num_waiting:
type: integer
pause_remaining:
format: int64
type: integer
paused:
type: boolean
priority_groups:
items:
$ref: '#/components/schemas/PriorityGroupState'
type: array
push_bound:
type: boolean
stream_name:
type: string
ts:
format: date-time
type: string
required:
- ack_floor
- config
- created
- delivered
- name
- num_ack_pending
- num_pending
- num_redelivered
- num_waiting
- stream_name
- ts
type: object
DeliverPolicy:
enum:
- all
- last
- new
- by_start_sequence
- by_start_time
- last_per_subject
type: string
JSConsumerType:
enum:
- push
- pull
type: string
StreamSource_external:
allOf:
- $ref: '#/components/schemas/ExternalStream'
type:
- object
- 'null'
ConsumerInfo_cluster:
allOf:
- $ref: '#/components/schemas/ClusterInfo'
type:
- object
- 'null'
JSConsumerInfoResponse:
allOf:
- $ref: '#/components/schemas/ConsumerInfo'
- required:
- consumer_type
- id
example:
consumer_type: null
id: id
properties:
consumer_type:
$ref: '#/components/schemas/JSConsumerType'
id:
type: string
type: object
JSKVBucketConfig:
example:
metadata:
key: metadata
mirror:
opt_start_time: opt_start_time
external: null
opt_start_seq: 2147483647
name: name
consumer: null
filter_subject: filter_subject
subject_transforms:
- src: src
dest: dest
- src: src
dest: dest
sources:
- opt_start_time: opt_start_time
external: null
opt_start_seq: 2147483647
name: name
consumer: null
filter_subject: filter_subject
subject_transforms:
- src: src
dest: dest
- src: src
dest: dest
- opt_start_time: opt_start_time
external: null
opt_start_seq: 2147483647
name: name
consumer: null
filter_subject: filter_subject
subject_transforms:
- src: src
dest: dest
- src: src
dest: dest
max_value_size: 2
description: description
history: 153
max_bytes: 5
storage: null
bucket: bucket
max_age: 5
republish:
src: src
headers_only: true
dest: dest
num_replicas: 9
limit_marker_ttl: 1
placement:
cluster: cluster
tags:
- tags
- tags
compression: false
properties:
bucket:
type: string
compression:
default: false
type: boolean
description:
type: string
history:
default: 1
maximum: 255
minimum: 0
type: integer
limit_marker_ttl:
format: int64
type: integer
max_age:
format: int64
type: integer
max_bytes:
format: int64
type: integer
max_value_size:
format: int32
type: integer
metadata:
additionalProperties:
type: string
type: object
mirror:
$ref: '#/components/schemas/StreamSource'
num_replicas:
default: 1
type: integer
placement:
$ref: '#/components/schemas/Placement'
republish:
$ref: '#/components/schemas/RePublish'
sources:
items:
$ref: '#/components/schemas/StreamSource'
type: array
storage:
$ref: '#/components/schemas/StorageType'
required:
- bucket
- storage
type: object
SequenceInfo:
description: SequenceInfo is the consumer and stream sequence that uniquely identify a message
example:
consumer_seq: 2147483647
last_active: last_active
stream_seq: 2147483647
properties:
consumer_seq:
maximum: 18446744073709551615
minimum: 0
type: integer
last_active:
type:
- string
- 'null'
stream_seq:
maximum: 18446744073709551615
minimum: 0
type: integer
required:
- consumer_seq
- stream_seq
type: object
StreamConsumerSource:
description: StreamConsumerSource configures the consumer used by a sourced stream.
properties:
deliver_subject:
type: string
name:
type: string
required:
- deliver_subject
type: object
ReplayPolicy:
enum:
- instant
- original
type: string
JSCommonConsumerConfigRequest:
properties:
ack_policy:
$ref: '#/components/schemas/AckPolicy'
ack_wait:
format: int64
type: integer
backoff:
items:
format: int64
type: integer
type: array
deliver_policy:
$ref: '#/components/schemas/DeliverPolicy'
description:
type: string
direct:
type: boolean
durable_name:
type: string
filter_subjects:
items:
type: string
type: array
inactive_threshold:
format: int64
type: integer
max_ack_pending:
type: integer
max_deliver:
type: integer
mem_storage:
type: boolean
metadata:
additionalProperties:
type: string
type: object
name:
type: string
num_replicas:
type: integer
opt_start_seq:
maximum: 18446744073709551615
minimum: 0
type: integer
opt_start_time:
format: date-time
type: string
pause_until:
format: date-time
type: string
replay_policy:
$ref: '#/components/schemas/ReplayPolicy'
sample_freq:
type: string
required:
- ack_policy
- deliver_policy
- num_replicas
- replay_policy
type: object
StorageType:
enum:
- file
- memory
type: string
ConsumerConfig:
description: 'ConsumerConfig is the configuration for a JetStream consumes
NATS Schema Type io.nats.jetstream.api.v1.consumer_configuration'
properties:
ack_policy:
$ref: '#/components/schemas/AckPolicy'
ack_wait:
format: int64
type: integer
backoff:
items:
format: int64
type: integer
type: array
deliver_group:
type: string
deliver_policy:
$ref: '#/components/schemas/DeliverPolicy'
deliver_subject:
type: string
description:
type: string
direct:
description: Don't add to general clients.
type: boolean
durable_name:
type: string
filter_subject:
type: string
filter_subjects:
items:
type: string
type: array
flow_control:
type: boolean
headers_only:
type: boolean
idle_heartbeat:
format: int64
type: integer
inactive_threshold:
format: int64
type: integer
max_ack_pending:
type: integer
max_batch:
type: integer
max_bytes:
type: integer
max_deliver:
type: integer
max_expires:
format: int64
type: integer
max_waiting:
type: integer
mem_storage:
type: boolean
metadata:
additionalProperties:
type: string
description: Metadata is additional metadata for the Consumer.
type: object
name:
type: string
num_replicas:
type: integer
opt_start_seq:
maximum: 18446744073709551615
minimum: 0
type: integer
opt_start_time:
type:
- string
- 'null'
pause_until:
description: PauseUntil suspends the consumer until the deadline.
format: date-time
type: string
priority_groups:
items:
type: string
type: array
priority_policy:
$ref: '#/components/schemas/PriorityPolicy'
priority_timeout:
format: int64
type: integer
rate_limit_bps:
maximum: 18446744073709551615
minimum: 0
type: integer
replay_policy:
$ref: '#/components/schemas/ReplayPolicy'
sample_freq:
type: string
required:
- ack_policy
- deliver_policy
- num_replicas
- replay_policy
type: object
StreamSource_consumer:
allOf:
- $ref: '#/components/schemas/StreamConsumerSource'
type:
- object
- 'null'
JSPushConsumerConfigRequest:
allOf:
- $ref: '#/components/schemas/JSCommonConsumerConfigRequest'
example:
deliver_group: deliver_group
deliver_subject: deliver_subject
rate_limit_bps: 2147483647
headers_only: true
flow_control: true
idle_heartbeat: 0
properties:
deliver_group:
type: string
deliver_subject:
description: Push based options.
type: string
flow_control:
type: boolean
headers_only:
type: boolean
idle_heartbeat:
format: int64
type: integer
rate_limit_bps:
maximum: 18446744073709551615
minimum: 0
type: integer
type: object
JSKVBucketUpdateRequest:
example:
config:
metadata:
key: metadata
mirror:
opt_start_time: opt_start_time
external: null
opt_start_seq: 2147483647
name: name
consumer: null
filter_subject: filter_subject
subject_transforms:
- src: src
dest: dest
- src: src
dest: dest
sources:
- opt_start_time: opt_start_time
external: null
opt_start_seq: 2147483647
name: name
consumer: null
filter_subject: filter_subject
subject_transforms:
- src: src
dest: dest
- src: src
dest: dest
- opt_start_time: opt_start_time
external: null
opt_start_seq: 2147483647
name: name
consumer: null
filter_subject: filter_subject
subject_transforms:
- src: src
dest: dest
- src: src
dest: dest
max_value_size: 5
description: description
history: 20
max_bytes: 5
max_age: 1
republish:
src: src
headers_only: true
dest: dest
num_replicas: 2
limit_marker_ttl: 6
placement:
cluster: cluster
tags:
- tags
- tags
compression: true
properties:
config:
$ref: '#/components/schemas/UpdatableKVBucketConfig'
required:
- config
type: object
JSPullConsumerConfigRequest:
allOf:
- $ref: '#/components/schemas/JSCommonConsumerConfigRequest'
example:
max_waiting: 2
priority_timeout: 7
priority_groups:
- priority_groups
- priority_groups
priority_policy: null
max_expires: 5
max_bytes: 5
max_batch: 1
properties:
max_batch:
type: integer
max_bytes:
type: integer
max_expires:
format: int64
type: integer
max_waiting:
description: Pull based options.
type: integer
priority_groups:
items:
type: string
type: array
priority_policy:
$ref: '#/components/schemas/PriorityPolicy'
priority_timeout:
format: int64
type: integer
type: object
JSPushConsumerInfoResponse:
example:
cluster:
leader: leader
system_account: true
replicas:
- null
- null
raft_group: raft_group
name: name
traffic_account: traffic_account
leader_since: leader_since
num_redelivered: 5
paused: true
created: 2000-01-23 04:56:07+00:00
num_pending: 2147483647
pause_remaining: 2
delivered:
consumer_seq: 2147483647
last_active: last_active
stream_seq: 2147483647
num_ack_pending: 1
push_bound: true
stream_name: stream_name
name: name
id: id
config:
deliver_group: deliver_group
deliver_subject: deliver_subject
rate_limit_bps: 2147483647
headers_only: true
flow_control: true
idle_heartbeat: 0
ack_floor:
consumer_seq: 2147483647
last_active: last_active
stream_seq: 2147483647
ts: 2000-01-23 04:56:07+00:00
properties:
ack_floor:
$ref: '#/components/schemas/SequenceInfo'
cluster:
$ref: '#/components/schemas/ClusterInfo'
config:
$ref: '#/components/schemas/JSPushConsumerConfigRequest'
created:
format: date-time
type: string
delivered:
$ref: '#/components/schemas/SequenceInfo'
id:
type: string
name:
type: string
num_ack_pending:
type: integer
num_pending:
maximum: 18446744073709551615
minimum: 0
type: integer
num_redelivered:
type: integer
pause_remaining:
format: int64
type: integer
paused:
type: boolean
push_bound:
type: boolean
stream_name:
type: string
ts:
format: date-time
type: string
required:
- ack_floor
- created
- delivered
- id
- name
- num_ack_pending
- num_pending
- num_redelivered
- stream_name
- ts
type: object
JSConsumerInfoListResponse:
example:
items:
- consumer_type: null
id: id
- consumer_type: null
id: id
properties:
items:
items:
$ref: '#/components/schemas/JSConsumerInfoResponse'
type: array
required:
- items
type: object
UpdatableKVBucketConfig:
example:
metadata:
key: metadata
mirror:
opt_start_time: opt_start_time
external: null
opt_start_seq: 2147483647
name: name
consumer: null
filter_subject: filter_subject
subject_transforms:
- src: src
dest: dest
- src: src
dest: dest
sources:
- opt_start_time: opt_start_time
external: null
opt_start_seq: 2147483647
name: name
consumer: null
filter_subject: filter_subject
subject_transforms:
- src: src
dest: dest
- src: src
dest: dest
- opt_start_time: opt_start_time
external: null
opt_start_seq: 2147483647
name: name
consumer: null
filter_subject: filter_subject
subject_transforms:
- src: src
dest: dest
- src: src
dest: dest
max_value_size: 5
description: description
history: 20
max_bytes: 5
max_age: 1
republish:
src: src
headers_only: true
dest: dest
num_replicas: 2
limit_marker_ttl: 6
placement:
cluster: cluster
tags:
- tags
- tags
compression: true
properties:
compression:
type: boolean
description:
type: string
history:
maximum: 255
minimum: 0
type: integer
limit_marker_ttl:
format: int64
type: integer
max_age:
format: int64
type: integer
max_bytes:
format: int64
type: integer
max_value_size:
format: int32
type: integer
metadata:
additionalProperties:
type: string
type: object
mirror:
$ref: '#/components/schemas/StreamSource'
num_replicas:
type: integer
placement:
$ref: '#/components/schemas/Placement'
republish:
$ref: '#/components/schemas/RePublish'
sources:
items:
$ref: '#/components/schemas/StreamSource'
type: array
type: object
PriorityPolicy:
description: PriorityPolicy determines how messages are selected from priority groups.
enum:
- none
- overflow
- pinned_client
- prioritized
type: string
RePublish:
description: RePublish allows a source subject to be mapped to a destination subject for republishing.
example:
src: src
headers_only: true
dest: dest
properties:
dest:
type: string
headers_only:
type: boolean
src:
type: string
required:
- dest
type: object
ClusterInfo_replicas_inner:
allOf:
- $ref: '#/components/schemas/PeerInfo'
type:
- object
- 'null'
AckPolicy:
description: enums have been changed to match UnmarshalJSON in https://github.com/nats-io/jsm.go/blob/main/api/consumers.go
enum:
- none
- all
- explicit
- flow_control
type: string
ClusterInfo:
description: 'ClusterInfo shows information about the underlying set of servers
that make up the stream or consumer.'
example:
leader: leader
system_account: true
replicas:
- null
- null
raft_group: raft_group
name: name
traffic_account: traffic_account
leader_since: leader_since
properties:
leader:
type: string
leader_since:
type:
- string
- 'null'
name:
type: string
raft_group:
type: string
replicas:
items:
$ref: '#/components/schemas/ClusterInfo_replicas_inner'
type: array
system_account:
type: boolean
traffic_account:
type: string
type: object
PeerInfo:
description: 'PeerInfo shows information about all the peers in the cluster that
are supporting the stream or consumer.'
properties:
active:
format: int64
type: integer
current:
type: boolean
lag:
maximum: 18446744073709551615
minimum: 0
type: integer
name:
type: string
offline:
type: boolean
peer:
type: string
required:
- active
- current
- name
- peer
type: object
JSKVBucketViewResponse:
example:
num_values: 2147483647
stream_name: stream_name
bytes: 2147483647
id: id
config:
metadata:
key: metadata
mirror:
opt_start_time: opt_start_time
external: null
opt_start_seq: 2147483647
name: name
consumer: null
filter_subject: filter_subject
subject_transforms:
- src: src
dest: dest
- src: src
dest: dest
sources:
- opt_start_time: opt_start_time
external: null
opt_start_seq: 2147483647
name: name
consumer: null
filter_subject: filter_subject
subject_transforms:
- src: src
dest: dest
- src: src
dest: dest
- opt_start_time: opt_start_time
external: null
opt_start_seq: 2147483647
name: name
consumer: null
filter_subject: filter_subject
subject_transforms:
- src: src
dest: dest
- src: src
dest: dest
max_value_size: 2
description: description
history: 153
max_bytes: 5
storage: null
bucket: bucket
max_age: 5
republish:
src: src
headers_only: true
dest: dest
num_replicas: 9
limit_marker_ttl: 1
placement:
cluster: cluster
tags:
- tags
- tags
compression: false
properties:
bytes:
maximum: 18446744073709551615
minimum: 0
type: integer
config:
$ref: '#/components/schemas/JSKVBucketConfig'
id:
type: string
num_values:
maximum: 18446744073709551615
minimum: 0
type: integer
stream_name:
type: string
required:
- bytes
- config
- id
- num_values
- stream_name
type: object
ExternalStream:
description: ExternalStream allows you to qualify access to a stream source in another account.
properties:
api:
type: string
deliver:
type: string
required:
- api
- deliver
type: object
JSPullConsumerInfoResponse:
example:
cluster:
leader: leader
system_account: true
replicas:
- null
- null
raft_group: raft_group
name: name
traffic_account: traffic_account
leader_since: leader_since
num_redelivered: 2
paused: true
created: 2000-01-23 04:56:07+00:00
num_pending: 2147483647
num_waiting: 4
pause_remaining: 7
delivered:
consumer_seq: 2147483647
last_active: last_active
stream_seq: 2147483647
num_ack_pending: 9
priority_groups:
- pinned_client_id: pinned_client_id
pinned_ts: 2000-01-23 04:56:07+00:00
group: group
- pinned_client_id: pinned_client_id
pinned_ts: 2000-01-23 04:56:07+00:00
group: group
stream_name: stream_name
name: name
id: id
config:
max_waiting: 2
priority_timeout: 7
priority_groups:
- priority_groups
- priority_groups
priority_policy: null
max_expires: 5
max_bytes: 5
max_batch: 1
ack_floor:
consumer_seq: 2147483647
last_active: last_active
stream_seq: 2147483647
ts: 2000-01-23 04:56:07+00:00
properties:
ack_floor:
$ref: '#/components/schemas/S
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/synadia-communications/refs/heads/main/openapi/synadia-communications-kv-bucket-api-openapi.yml