# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Appwrite Messaging API version: 1.0.0 extends: openapi/appwrite-messaging-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 46 - target: $.paths['/messaging/messages'].get update: x-apievangelist-phrasing: intent: List sent and scheduled messages effect: read questions: - Which emails, SMS and push notifications has my Appwrite project sent? - Can I search my message history by keyword? instructions: - text: List all messages in this project. - text: Search my messages for {search}. slots: search: query.search method: generated generated: '2026-09-26' - target: $.paths['/messaging/messages/email'].post update: x-apievangelist-phrasing: intent: Send or schedule an email message effect: write questions: - How do I send an email to everyone subscribed to a topic? - Can I schedule an email for later or save it as a draft? - Is it possible to CC, BCC and attach files on an outgoing email? instructions: - text: Email topic {topics} with subject {subject} and body {content}, message ID {messageId}. slots: topics: requestBody.topics subject: requestBody.subject content: requestBody.content messageId: requestBody.messageId - text: 'Schedule email {messageId} to users {users} for {scheduledAt}: subject {subject}, body {content}.' slots: messageId: requestBody.messageId users: requestBody.users scheduledAt: requestBody.scheduledAt subject: requestBody.subject content: requestBody.content method: generated generated: '2026-09-26' - target: $.paths['/messaging/messages/email/{messageId}'].patch update: x-apievangelist-phrasing: intent: Edit a draft email message effect: write questions: - Can I change the subject of an email that is still a draft? - Why can't I edit an email that has already been sent? instructions: - text: Change the subject of draft email {messageId} to {subject}. slots: messageId: path.messageId subject: requestBody.subject - text: Reschedule draft email {messageId} to go out at {scheduledAt}. slots: messageId: path.messageId scheduledAt: requestBody.scheduledAt method: generated generated: '2026-09-26' - target: $.paths['/messaging/messages/push'].post update: x-apievangelist-phrasing: intent: Send or schedule a push notification effect: write questions: - How do I send a push notification to a user's devices? - Can I set a badge count, sound or image on a push notification? - Is there a way to mark a push as critical or high priority? instructions: - text: Send push {messageId} titled {title} saying {body} to topic {topics}. slots: messageId: requestBody.messageId title: requestBody.title body: requestBody.body topics: requestBody.topics - text: Schedule push notification {messageId} to users {users} at {scheduledAt} with title {title}. slots: messageId: requestBody.messageId users: requestBody.users scheduledAt: requestBody.scheduledAt title: requestBody.title method: generated generated: '2026-09-26' - target: $.paths['/messaging/messages/push/{messageId}'].patch update: x-apievangelist-phrasing: intent: Edit a draft push notification effect: write questions: - Can I change the title of a push notification before it goes out? - Which push notifications can still be edited? instructions: - text: Change draft push {messageId} to say {body}. slots: messageId: path.messageId body: requestBody.body - text: Retitle push notification draft {messageId} to {title}. slots: messageId: path.messageId title: requestBody.title method: generated generated: '2026-09-26' - target: $.paths['/messaging/messages/sms'].post update: x-apievangelist-phrasing: intent: Send or schedule an SMS effect: write questions: - How do I send a text message to users in my app? - Can I schedule an SMS for a specific time? instructions: - text: Text {content} to users {users} as SMS {messageId}. slots: content: requestBody.content users: requestBody.users messageId: requestBody.messageId - text: Schedule SMS {messageId} saying {content} to topic {topics} at {scheduledAt}. slots: messageId: requestBody.messageId content: requestBody.content topics: requestBody.topics scheduledAt: requestBody.scheduledAt method: generated generated: '2026-09-26' - target: $.paths['/messaging/messages/sms/{messageId}'].patch update: x-apievangelist-phrasing: intent: Edit a draft SMS effect: write questions: - Can I fix the wording of a text message that is still a draft? - Is it possible to change who a scheduled draft SMS goes to? instructions: - text: Change the text of draft SMS {messageId} to {content}. slots: messageId: path.messageId content: requestBody.content - text: Send draft SMS {messageId} to targets {targets} instead. slots: messageId: path.messageId targets: requestBody.targets method: generated generated: '2026-09-26' - target: $.paths['/messaging/messages/{messageId}'].get update: x-apievangelist-phrasing: intent: Get one message effect: read questions: - Did a particular message get delivered or fail? - How do I look up a single message by its ID? instructions: - text: Show message {messageId}. slots: messageId: path.messageId - text: Get the delivery status of message {messageId}. slots: messageId: path.messageId method: generated generated: '2026-09-26' - target: $.paths['/messaging/messages/{messageId}'].delete update: x-apievangelist-phrasing: intent: Delete a message effect: destructive questions: - Can I cancel a scheduled message by deleting it? - Does deleting a message that was already sent recall it? instructions: - text: Delete message {messageId}. slots: messageId: path.messageId - text: Remove the scheduled message {messageId} before it goes out. slots: messageId: path.messageId method: generated generated: '2026-09-26' - target: $.paths['/messaging/messages/{messageId}/targets'].get update: x-apievangelist-phrasing: intent: List who a message was sent to effect: read questions: - Which recipients and devices did a message go to? - Can I see the targets attached to one message? instructions: - text: List the targets of message {messageId}. slots: messageId: path.messageId - text: Show the recipients of message {messageId} matching {queries}. slots: messageId: path.messageId queries: query.queries method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers'].get update: x-apievangelist-phrasing: intent: List messaging providers effect: read questions: - Which email, SMS and push providers are configured in my project? - Can I search my messaging providers by name? instructions: - text: List all messaging providers. - text: Search messaging providers for {search}. slots: search: query.search method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/apns'].post update: x-apievangelist-phrasing: intent: Add an Apple Push Notification service provider effect: write questions: - How do I set up APNs so I can push to iOS devices? - Can I connect the APNs sandbox environment for testing? instructions: - text: Add an APNs provider {name} with ID {providerId} for bundle {bundleId}. slots: name: requestBody.name providerId: requestBody.providerId bundleId: requestBody.bundleId - text: Create APNs provider {providerId} named {name} using key {authKeyId} from team {teamId}. slots: providerId: requestBody.providerId name: requestBody.name authKeyId: requestBody.authKeyId teamId: requestBody.teamId method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/apns/{providerId}'].patch update: x-apievangelist-phrasing: intent: Update an APNs provider effect: write questions: - How do I replace the auth key on my existing APNs provider? - Can I switch an APNs provider from sandbox to production? instructions: - text: Update APNs provider {providerId} to use auth key {authKey}. slots: providerId: path.providerId authKey: requestBody.authKey - text: Set sandbox to {sandbox} on APNs provider {providerId}. slots: sandbox: requestBody.sandbox providerId: path.providerId method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/fcm'].post update: x-apievangelist-phrasing: intent: Add a Firebase Cloud Messaging provider effect: write questions: - How do I connect Firebase Cloud Messaging for Android push? - What credential does a new FCM provider need? instructions: - text: Add an FCM provider {name} with ID {providerId}. slots: name: requestBody.name providerId: requestBody.providerId - text: Create FCM provider {providerId} called {name} with service account {serviceAccountJSON}. slots: providerId: requestBody.providerId name: requestBody.name serviceAccountJSON: requestBody.serviceAccountJSON method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/fcm/{providerId}'].patch update: x-apievangelist-phrasing: intent: Update an FCM provider effect: write questions: - Can I swap the service account JSON on my existing FCM provider? - How do I disable an FCM provider without deleting it? instructions: - text: Update FCM provider {providerId} with service account {serviceAccountJSON}. slots: providerId: path.providerId serviceAccountJSON: requestBody.serviceAccountJSON - text: Set enabled to {enabled} on FCM provider {providerId}. slots: enabled: requestBody.enabled providerId: path.providerId method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/mailgun'].post update: x-apievangelist-phrasing: intent: Add a Mailgun email provider effect: write questions: - How do I send Appwrite emails through Mailgun? - Does the Mailgun provider support the EU region? instructions: - text: Add a Mailgun provider {name} with ID {providerId} for domain {domain}. slots: name: requestBody.name providerId: requestBody.providerId domain: requestBody.domain - text: Create Mailgun provider {providerId} named {name} sending from {fromEmail} with API key {apiKey}. slots: providerId: requestBody.providerId name: requestBody.name fromEmail: requestBody.fromEmail apiKey: requestBody.apiKey method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/mailgun/{providerId}'].patch update: x-apievangelist-phrasing: intent: Update a Mailgun provider effect: write questions: - Can I change the sending domain on my existing Mailgun provider? - How do I rotate the API key on a Mailgun provider? instructions: - text: Change Mailgun provider {providerId} to domain {domain}. slots: providerId: path.providerId domain: requestBody.domain - text: Rotate the API key on Mailgun provider {providerId} to {apiKey}. slots: providerId: path.providerId apiKey: requestBody.apiKey method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/msg91'].post update: x-apievangelist-phrasing: intent: Add an MSG91 SMS provider effect: write questions: - Can my project deliver SMS through MSG91? - Which template and sender ID does an MSG91 provider need? instructions: - text: Add an MSG91 provider {name} with ID {providerId}. slots: name: requestBody.name providerId: requestBody.providerId - text: Create MSG91 provider {providerId} named {name} with template {templateId} and sender {senderId}. slots: providerId: requestBody.providerId name: requestBody.name templateId: requestBody.templateId senderId: requestBody.senderId method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/msg91/{providerId}'].patch update: x-apievangelist-phrasing: intent: Update an MSG91 provider effect: write questions: - Can I point my existing MSG91 provider at a different template? - How do I replace the auth key on an MSG91 provider? instructions: - text: Switch MSG91 provider {providerId} to template {templateId}. slots: providerId: path.providerId templateId: requestBody.templateId - text: Update the auth key of MSG91 provider {providerId} to {authKey}. slots: providerId: path.providerId authKey: requestBody.authKey method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/resend'].post update: x-apievangelist-phrasing: intent: Add a Resend email provider effect: write questions: - Can project emails go out through Resend? - Can I set a reply-to address when I add a Resend provider? instructions: - text: Add a Resend provider {name} with ID {providerId}. slots: name: requestBody.name providerId: requestBody.providerId - text: Create Resend provider {providerId} named {name} sending from {fromEmail} with API key {apiKey}. slots: providerId: requestBody.providerId name: requestBody.name fromEmail: requestBody.fromEmail apiKey: requestBody.apiKey method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/resend/{providerId}'].patch update: x-apievangelist-phrasing: intent: Update a Resend provider effect: write questions: - Can I change the from address on my existing Resend provider? - How do I rotate the API key on a Resend provider? instructions: - text: Change the sender of Resend provider {providerId} to {fromEmail}. slots: providerId: path.providerId fromEmail: requestBody.fromEmail - text: Update Resend provider {providerId} with API key {apiKey}. slots: providerId: path.providerId apiKey: requestBody.apiKey method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/sendgrid'].post update: x-apievangelist-phrasing: intent: Add a SendGrid email provider effect: write questions: - How do I send Appwrite emails through SendGrid? - What does a new SendGrid provider need besides an API key? instructions: - text: Add a SendGrid provider {name} with ID {providerId}. slots: name: requestBody.name providerId: requestBody.providerId - text: Create SendGrid provider {providerId} named {name} sending as {fromName} <{fromEmail}> with API key {apiKey}. slots: providerId: requestBody.providerId name: requestBody.name fromName: requestBody.fromName fromEmail: requestBody.fromEmail apiKey: requestBody.apiKey method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/sendgrid/{providerId}'].patch update: x-apievangelist-phrasing: intent: Update a SendGrid provider effect: write questions: - Can I change the reply-to address on my existing SendGrid provider? - How do I rotate the API key on a SendGrid provider? instructions: - text: Set the reply-to of SendGrid provider {providerId} to {replyToEmail}. slots: providerId: path.providerId replyToEmail: requestBody.replyToEmail - text: Update SendGrid provider {providerId} with API key {apiKey}. slots: providerId: path.providerId apiKey: requestBody.apiKey method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/ses'].post update: x-apievangelist-phrasing: intent: Add an Amazon SES email provider effect: write questions: - Can I deliver my project's email with Amazon SES? - Which AWS region and keys does a new SES provider need? instructions: - text: Add an Amazon SES provider {name} with ID {providerId} in region {region}. slots: name: requestBody.name providerId: requestBody.providerId region: requestBody.region - text: Create SES provider {providerId} named {name} with access key {accessKey} and secret {secretKey}. slots: providerId: requestBody.providerId name: requestBody.name accessKey: requestBody.accessKey secretKey: requestBody.secretKey method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/ses/{providerId}'].patch update: x-apievangelist-phrasing: intent: Update an Amazon SES provider effect: write questions: - Can I move my existing Amazon SES provider to a different region? - How do I rotate the AWS keys on an SES provider? instructions: - text: Move SES provider {providerId} to region {region}. slots: providerId: path.providerId region: requestBody.region - text: Update SES provider {providerId} with access key {accessKey} and secret {secretKey}. slots: providerId: path.providerId accessKey: requestBody.accessKey secretKey: requestBody.secretKey method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/smtp'].post update: x-apievangelist-phrasing: intent: Add an SMTP email provider effect: write questions: - Can I send project emails through my own SMTP server? - Which encryption options does a new SMTP provider support? instructions: - text: Add an SMTP provider {name} with ID {providerId} on host {host}. slots: name: requestBody.name providerId: requestBody.providerId host: requestBody.host - text: Create SMTP provider {providerId} named {name} at {host}:{port} logging in as {username}. slots: providerId: requestBody.providerId name: requestBody.name host: requestBody.host port: requestBody.port username: requestBody.username method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/smtp/{providerId}'].patch update: x-apievangelist-phrasing: intent: Update an SMTP provider effect: write questions: - How do I change the host or port of my existing SMTP provider? - Can I update the SMTP password without recreating the provider? instructions: - text: Point SMTP provider {providerId} at host {host} port {port}. slots: providerId: path.providerId host: requestBody.host port: requestBody.port - text: Change the password on SMTP provider {providerId} to {password}. slots: providerId: path.providerId password: requestBody.password method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/telesign'].post update: x-apievangelist-phrasing: intent: Add a Telesign SMS provider effect: write questions: - Is Telesign supported as an SMS channel for my project? - What customer ID and key does a new Telesign provider need? instructions: - text: Add a Telesign provider {name} with ID {providerId}. slots: name: requestBody.name providerId: requestBody.providerId - text: Create Telesign provider {providerId} named {name} for customer {customerId} sending from {from}. slots: providerId: requestBody.providerId name: requestBody.name customerId: requestBody.customerId from: requestBody.from method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/telesign/{providerId}'].patch update: x-apievangelist-phrasing: intent: Update a Telesign provider effect: write questions: - Can I change the sender number on my existing Telesign provider? - How do I rotate the API key on a Telesign provider? instructions: - text: Change the sender of Telesign provider {providerId} to {from}. slots: providerId: path.providerId from: requestBody.from - text: Update Telesign provider {providerId} with API key {apiKey}. slots: providerId: path.providerId apiKey: requestBody.apiKey method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/textmagic'].post update: x-apievangelist-phrasing: intent: Add a Textmagic SMS provider effect: write questions: - Can I route my app's text messages through Textmagic? - Which username and key does a new Textmagic provider need? instructions: - text: Add a Textmagic provider {name} with ID {providerId}. slots: name: requestBody.name providerId: requestBody.providerId - text: Create Textmagic provider {providerId} named {name} for user {username} sending from {from}. slots: providerId: requestBody.providerId name: requestBody.name username: requestBody.username from: requestBody.from method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/textmagic/{providerId}'].patch update: x-apievangelist-phrasing: intent: Update a Textmagic provider effect: write questions: - Can I change the sender on my existing Textmagic provider? - How do I update the Textmagic username or API key? instructions: - text: Change the sender of Textmagic provider {providerId} to {from}. slots: providerId: path.providerId from: requestBody.from - text: Update Textmagic provider {providerId} with username {username} and API key {apiKey}. slots: providerId: path.providerId username: requestBody.username apiKey: requestBody.apiKey method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/twilio'].post update: x-apievangelist-phrasing: intent: Add a Twilio SMS provider effect: write questions: - How do I send SMS from my Appwrite project using Twilio? - What account SID and token does a new Twilio provider need? instructions: - text: Add a Twilio provider {name} with ID {providerId}. slots: name: requestBody.name providerId: requestBody.providerId - text: Create Twilio provider {providerId} named {name} for account {accountSid} sending from {from}. slots: providerId: requestBody.providerId name: requestBody.name accountSid: requestBody.accountSid from: requestBody.from method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/twilio/{providerId}'].patch update: x-apievangelist-phrasing: intent: Update a Twilio provider effect: write questions: - Can I change the from number on my existing Twilio provider? - How do I rotate the auth token on a Twilio provider? instructions: - text: Change the sender of Twilio provider {providerId} to {from}. slots: providerId: path.providerId from: requestBody.from - text: Update Twilio provider {providerId} with auth token {authToken}. slots: providerId: path.providerId authToken: requestBody.authToken method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/vonage'].post update: x-apievangelist-phrasing: intent: Add a Vonage SMS provider effect: write questions: - Is it possible to deliver SMS with Vonage? - What API key and secret does a new Vonage provider need? instructions: - text: Add a Vonage provider {name} with ID {providerId}. slots: name: requestBody.name providerId: requestBody.providerId - text: Create Vonage provider {providerId} named {name} with API key {apiKey} sending from {from}. slots: providerId: requestBody.providerId name: requestBody.name apiKey: requestBody.apiKey from: requestBody.from method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/vonage/{providerId}'].patch update: x-apievangelist-phrasing: intent: Update a Vonage provider effect: write questions: - Can I change the sender on my existing Vonage provider? - How do I rotate the API secret on a Vonage provider? instructions: - text: Change the sender of Vonage provider {providerId} to {from}. slots: providerId: path.providerId from: requestBody.from - text: Update Vonage provider {providerId} with API secret {apiSecret}. slots: providerId: path.providerId apiSecret: requestBody.apiSecret method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/{providerId}'].get update: x-apievangelist-phrasing: intent: Get one messaging provider effect: read questions: - Is a particular messaging provider enabled, and what type is it? - How do I look up a single provider's settings by ID? instructions: - text: Show messaging provider {providerId}. slots: providerId: path.providerId - text: Get the type and status of provider {providerId}. slots: providerId: path.providerId method: generated generated: '2026-09-26' - target: $.paths['/messaging/providers/{providerId}'].delete update: x-apievangelist-phrasing: intent: Delete a messaging provider effect: destructive questions: - How do I remove an email, SMS or push provider I no longer use? - Can I delete any messaging provider regardless of its type? instructions: - text: Delete messaging provider {providerId}. slots: providerId: path.providerId - text: Remove provider {providerId} from this project. slots: providerId: path.providerId method: generated generated: '2026-09-26' - target: $.paths['/messaging/topics'].get update: x-apievangelist-phrasing: intent: List messaging topics effect: read questions: - What messaging topics exist in my project? - Can I search topics by name? instructions: - text: List all messaging topics. - text: Search topics for {search}. slots: search: query.search method: generated generated: '2026-09-26' - target: $.paths['/messaging/topics'].post update: x-apievangelist-phrasing: intent: Create a messaging topic effect: write questions: - How do I create a topic so I can broadcast to a group of users? - Can I control who is allowed to subscribe to a new topic? instructions: - text: Create topic {name} with ID {topicId}. slots: name: requestBody.name topicId: requestBody.topicId - text: Create topic {topicId} called {name} that {subscribe} can subscribe to. slots: topicId: requestBody.topicId name: requestBody.name subscribe: requestBody.subscribe method: generated generated: '2026-09-26' - target: $.paths['/messaging/topics/{topicId}'].get update: x-apievangelist-phrasing: intent: Get one messaging topic effect: read questions: - What are the details of a particular topic? - Where do I look up a single topic by its ID? instructions: - text: Show topic {topicId}. slots: topicId: path.topicId - text: Get the name and settings of topic {topicId}. slots: topicId: path.topicId method: generated generated: '2026-09-26' - target: $.paths['/messaging/topics/{topicId}'].delete update: x-apievangelist-phrasing: intent: Delete a messaging topic effect: destructive questions: - How do I get rid of a topic I no longer broadcast to? - Can I delete a topic by its ID? instructions: - text: Delete topic {topicId}. slots: topicId: path.topicId - text: Remove the messaging topic {topicId}. slots: topicId: path.topicId method: generated generated: '2026-09-26' - target: $.paths['/messaging/topics/{topicId}'].patch update: x-apievangelist-phrasing: intent: Rename a topic or change who can subscribe effect: write questions: - Can I rename an existing topic? - How do I change the subscribe permissions on a topic? instructions: - text: Rename topic {topicId} to {name}. slots: topicId: path.topicId name: requestBody.name - text: Let {subscribe} subscribe to topic {topicId}. slots: subscribe: requestBody.subscribe topicId: path.topicId method: generated generated: '2026-09-26' - target: $.paths['/messaging/topics/{topicId}/subscribers'].get update: x-apievangelist-phrasing: intent: List a topic's subscribers effect: read questions: - Who is subscribed to a particular topic? - Can I search a topic's subscriber list? instructions: - text: List the subscribers of topic {topicId}. slots: topicId: path.topicId - text: Search subscribers of topic {topicId} for {search}. slots: topicId: path.topicId search: query.search method: generated generated: '2026-09-26' - target: $.paths['/messaging/topics/{topicId}/subscribers'].post update: x-apievangelist-phrasing: intent: Subscribe a target to a topic effect: write questions: - How do I add a user's device or email target to a topic? - What does a new topic subscriber need, a target or a user? instructions: - text: Subscribe target {targetId} to topic {topicId} as subscriber {subscriberId}. slots: targetId: requestBody.targetId topicId: path.topicId subscriberId: requestBody.subscriberId - text: Add target {targetId} to topic {topicId} with subscriber ID {subscriberId}. slots: targetId: requestBody.targetId topicId: path.topicId subscriberId: requestBody.subscriberId method: generated generated: '2026-09-26' - target: $.paths['/messaging/topics/{topicId}/subscribers/{subscriberId}'].get update: x-apievangelist-phrasing: intent: Get one topic subscriber effect: read questions: - Which target does a particular topic subscriber point to? - How do I look up one subscriber on a topic? instructions: - text: Show subscriber {subscriberId} on topic {topicId}. slots: subscriberId: path.subscriberId topicId: path.topicId - text: Get the target behind subscriber {subscriberId} of topic {topicId}. slots: subscriberId: path.subscriberId topicId: path.topicId method: generated generated: '2026-09-26' - target: $.paths['/messaging/topics/{topicId}/subscribers/{subscriberId}'].delete update: x-apievangelist-phrasing: intent: Unsubscribe from a topic effect: destructive questions: - How do I remove someone from a topic so they stop getting its messages? - Can I unsubscribe a single target from a topic? instructions: - text: Remove subscriber {subscriberId} from topic {topicId}. slots: subscriberId: path.subscriberId topicId: path.topicId - text: Unsubscribe {subscriberId} from topic {topicId}. slots: subscriberId: path.subscriberId topicId: path.topicId method: generated generated: '2026-09-26'