Synadia Communications Object Bucket API

The object-bucket API from Synadia Communications — 5 operation(s) for object-bucket.

Operations 7

DELETE /core/beta/jetstream/object-bucket/{streamId} Delete Object Bucket #
GET /core/beta/jetstream/object-bucket/{streamId} Get Object Bucket #
PATCH /core/beta/jetstream/object-bucket/{streamId} Update Object Bucket #
GET /core/beta/jetstream/object-bucket/{streamId}/consumers List Consumers #
POST /core/beta/jetstream/object-bucket/{streamId}/consumers/pull Create Pull Consumer #
POST /core/beta/jetstream/object-bucket/{streamId}/consumers/push Create Push Consumer #
DELETE /core/beta/jetstream/object-bucket/{streamId}/purge Purge Object Bucket #

Work with this as data

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/synadia-communications-object-bucket-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 Specification

synadia-communications-object-bucket-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: API for Synadia Control Plane / Synadia Cloud
  title: Synadia Control Plane / Synadia Cloud Object Bucket API
  version: beta
servers:
- description: Path to Synadia Control Plane Server Api
  url: '{baseUrl}/api'
  variables:
    baseUrl:
      default: ''
security:
- bearerAuth: []
  sessionAuth: []
tags:
- name: object-bucket
paths:
  /core/beta/jetstream/object-bucket/{streamId}:
    delete:
      description: Deletes Object Bucket
      operationId: deleteObjectBucket
      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 Object Bucket
      tags:
      - object-bucket
      x-doc-tags:
      - 'JetStream: Object Buckets'
    get:
      description: Returns JetStream Object bucket info
      operationId: getObjectBucket
      parameters:
      - explode: false
        in: path
        name: streamId
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JSObjectBucketViewResponse'
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: Get Object Bucket
      tags:
      - object-bucket
      x-doc-tags:
      - 'JetStream: Object Buckets'
    patch:
      operationId: updateObjectBucket
      parameters:
      - explode: false
        in: path
        name: streamId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JSObjectBucketUpdateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JSObjectBucketViewResponse'
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      summary: Update Object Bucket
      tags:
      - object-bucket
      x-doc-tags:
      - 'JetStream: Object Buckets'
  /core/beta/jetstream/object-bucket/{streamId}/consumers:
    get:
      operationId: listObjConsumers
      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:
      - object-bucket
      x-doc-tags:
      - 'JetStream: Object Buckets'
  /core/beta/jetstream/object-bucket/{streamId}/consumers/pull:
    post:
      description: Creates Pull Consumer
      operationId: createObjPullConsumer
      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:
      - object-bucket
      x-doc-tags:
      - 'JetStream: Object Buckets'
  /core/beta/jetstream/object-bucket/{streamId}/consumers/push:
    post:
      description: Creates Push Consumer
      operationId: createObjPushConsumer
      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:
      - object-bucket
      x-doc-tags:
      - 'JetStream: Object Buckets'
  /core/beta/jetstream/object-bucket/{streamId}/purge:
    delete:
      description: Purges Object Bucket
      operationId: purgeObjBucket
      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 Object Bucket
      tags:
      - object-bucket
      x-doc-tags:
      - 'JetStream: Streams'
components:
  schemas:
    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
    UpdatableObjectBucketConfig:
      description: ObjectStoreConfig is the config for the object store.
      example:
        max_age: 0
        metadata:
          key: metadata
        num_replicas: 1
        description: description
        max_bytes: 6
        placement:
          cluster: cluster
          tags:
          - tags
          - tags
        compression: true
      properties:
        compression:
          description: Enable underlying stream compression.
          type: boolean
        description:
          type: string
        max_age:
          format: int64
          type: integer
        max_bytes:
          format: int64
          type: integer
        metadata:
          additionalProperties:
            type: string
          description: Bucket-specific metadata
          type: object
        num_replicas:
          type: integer
        placement:
          $ref: '#/components/schemas/Placement'
      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
    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
    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
    JSObjectBucketUpdateRequest:
      example:
        sealed: true
        really_sealed: true
        config:
          max_age: 0
          metadata:
            key: metadata
          num_replicas: 1
          description: description
          max_bytes: 6
          placement:
            cluster: cluster
            tags:
            - tags
            - tags
          compression: true
      properties:
        config:
          $ref: '#/components/schemas/UpdatableObjectBucketConfig'
        really_sealed:
          type: boolean
        sealed:
          type: boolean
      required:
      - config
      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
    JSObjectBucketViewResponse:
      example:
        stream_name: stream_name
        bytes: 2147483647
        id: id
        config:
          storage: null
      properties:
        bytes:
          maximum: 18446744073709551615
          minimum: 0
          type: integer
        config:
          $ref: '#/components/schemas/JSObjectBucketConfig'
        id:
          type: string
        stream_name:
          type: string
      required:
      - bytes
      - config
      - id
      - stream_name
      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
    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
    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
    PriorityPolicy:
      description: PriorityPolicy determines how messages are selected from priority groups.
      enum:
      - none
      - overflow
      - pinned_client
      - prioritized
      type: string
    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
    ObjectStoreConfig:
      description: ObjectStoreConfig is the config for the object store.
      properties:
        bucket:
          type: string
        compression:
          description: Enable underlying stream compression.
          type: boolean
        description:
          type: string
        max_age:
          format: int64
          type: integer
        max_bytes:
          format: int64
          type: integer
        metadata:
          additionalProperties:
            type: string
          description: Bucket-specific metadata
          type: object
        num_replicas:
          type: integer
        placement:
          $ref: '#/components/schemas/Placement'
        storage:
          $ref: '#/components/schemas/StorageType'
      required:
      - bucket
      type: object
    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
    JSObjectBucketConfig:
      allOf:
      - $ref: '#/components/schemas/ObjectStoreConfig'
      example:
        storage: null
      properties:
        storage:
          $ref: '#/components/schemas/StorageType'
      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/SequenceInfo'
        cluster:
          $ref: '#/components/schemas/ClusterInfo'
        config:
          $ref: '#/components/schemas/JSPullConsumerConfigRequest'
        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
        num_waiting:
          type: integer
        pause_remaining:
          format: int64
          type: integer
        paused:
          type: boolean
        priority_groups:
          items:
            $ref: '#/components/schemas/PriorityGroupState'
          type: array
        stream_name:
          type: string
        ts:
          format: date-time
          type: string
      required:
      - ack_floor
      - created
      - delivered
      - id
      - name
      - num_ack_pending
      - num_pending
      - num_redelivered
      - num_waiting
      - stream_name
      - ts
      type: object
    Placement:
      description: Placement describes stream placement requirements for a stream or leader.
      example:
        cluster: cluster
        tags:
        - tags
        - tags
      properties:
        cluster:
          type: string
        tags:
          items:
            type: string
          type: array
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: Personal Access Token
      scheme: bearer
      type: http
    sessionAuth:
      in: cookie
      name: control_plane_session
      type: apiKey