# 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'