Synadia Communications · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Synadia Control Plane / Synadia Cloud Mirror API

8 actions 8 updates phrasing extends openapi/synadia-communications-mirror-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Synadia Communications's API. It is a proposal applied on top of the contract, not a document Synadia Communications publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 8

$.info
$.paths['/core/beta/jetstream/mirror/{streamId}'].get
$.paths['/core/beta/jetstream/mirror/{streamId}'].delete
$.paths['/core/beta/jetstream/mirror/{streamId}'].patch
$.paths['/core/beta/jetstream/mirror/{streamId}/consumers'].get
$.paths['/core/beta/jetstream/mirror/{streamId}/consumers/pull'].post
$.paths['/core/beta/jetstream/mirror/{streamId}/consumers/push'].post
$.paths['/core/beta/jetstream/mirror/{streamId}/purge'].delete

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Synadia Control Plane / Synadia Cloud Mirror API
  version: 1.0.0
extends: openapi/synadia-communications-mirror-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 7
- target: $.paths['/core/beta/jetstream/mirror/{streamId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a mirror stream
      effect: read
      questions:
      - What source stream is my mirror copying from?
      - Can I see a mirror stream's configuration and state?
      instructions:
      - text: Show mirror {streamId}.
        slots:
          streamId: path.streamId
      - text: Get the details of mirror stream {streamId}.
        slots:
          streamId: path.streamId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/core/beta/jetstream/mirror/{streamId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a mirror stream
      effect: destructive
      questions:
      - Can I delete a mirror without affecting its source stream?
      - What's the way to remove a mirror stream?
      instructions:
      - text: Delete mirror {streamId}.
        slots:
          streamId: path.streamId
      - text: Remove mirror stream {streamId}.
        slots:
          streamId: path.streamId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/core/beta/jetstream/mirror/{streamId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a mirror stream's configuration
      effect: write
      questions:
      - Can I change a mirror's retention limits like max age or max bytes?
      - Is it possible to enable direct get or compression on an existing mirror?
      instructions:
      - text: Set mirror {streamId}'s max age to {max_age}.
        slots:
          streamId: path.streamId
          max_age: requestBody.max_age
      - text: Update mirror {streamId} to keep at most {max_msgs} messages and {max_bytes} bytes.
        slots:
          streamId: path.streamId
          max_msgs: requestBody.max_msgs
          max_bytes: requestBody.max_bytes
      - text: Change mirror {streamId}'s description to {description}.
        slots:
          streamId: path.streamId
          description: requestBody.description
      method: generated
      generated: '2026-10-01'
- target: $.paths['/core/beta/jetstream/mirror/{streamId}/consumers'].get
  update:
    x-apievangelist-phrasing:
      intent: List consumers on a mirror
      effect: read
      questions:
      - Which consumers are reading from my mirror stream?
      - Can I list consumers attached to a mirror?
      instructions:
      - text: List consumers on mirror {streamId}.
        slots:
          streamId: path.streamId
      - text: Show the consumers of mirror stream {streamId}.
        slots:
          streamId: path.streamId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/core/beta/jetstream/mirror/{streamId}/consumers/pull'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a pull consumer on a mirror
      effect: write
      questions:
      - Can I fetch messages from a mirror stream with a pull consumer?
      - What policies are required for a mirror pull consumer?
      instructions:
      - text: 'Create pull consumer {durable_name} on mirror {streamId}: ack {ack_policy}, deliver {deliver_policy}, replay {replay_policy}, {num_replicas} replicas.'
        slots:
          durable_name: requestBody.durable_name
          streamId: path.streamId
          ack_policy: requestBody.ack_policy
          deliver_policy: requestBody.deliver_policy
          replay_policy: requestBody.replay_policy
          num_replicas: requestBody.num_replicas
      - text: Add a durable pull consumer {durable_name} to mirror stream {streamId}.
        slots:
          durable_name: requestBody.durable_name
          streamId: path.streamId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/core/beta/jetstream/mirror/{streamId}/consumers/push'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a push consumer on a mirror
      effect: write
      questions:
      - Can a mirror stream push its messages to a delivery subject?
      - Is flow control available on a mirror push consumer?
      instructions:
      - text: 'Create a push consumer on mirror {streamId} to {deliver_subject}: ack {ack_policy}, deliver {deliver_policy}, replay {replay_policy}, {num_replicas} replicas.'
        slots:
          streamId: path.streamId
          deliver_subject: requestBody.deliver_subject
          ack_policy: requestBody.ack_policy
          deliver_policy: requestBody.deliver_policy
          replay_policy: requestBody.replay_policy
          num_replicas: requestBody.num_replicas
      - text: Push mirror {streamId}'s messages to {deliver_subject}.
        slots:
          streamId: path.streamId
          deliver_subject: requestBody.deliver_subject
      method: generated
      generated: '2026-10-01'
- target: $.paths['/core/beta/jetstream/mirror/{streamId}/purge'].delete
  update:
    x-apievangelist-phrasing:
      intent: Purge all messages from a mirror
      effect: destructive
      questions:
      - Can I empty a mirror stream's stored messages?
      - What's the way to purge a mirror without deleting it?
      instructions:
      - text: Purge mirror {streamId}.
        slots:
          streamId: path.streamId
      - text: Clear every message out of mirror stream {streamId}.
        slots:
          streamId: path.streamId
      method: generated
      generated: '2026-10-01'