Appwrite · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Appwrite Messaging API
47 actions
47 updates
phrasing
extends
openapi/appwrite-messaging-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Appwrite's API. It is a proposal applied on top of the contract, not a document Appwrite publishes.
What the actions change
x-apievangelist-phrasing
Targets 47 · first 16 shown; the file carries all of them
$.info
$.paths['/messaging/messages'].get
$.paths['/messaging/messages/email'].post
$.paths['/messaging/messages/email/{messageId}'].patch
$.paths['/messaging/messages/push'].post
$.paths['/messaging/messages/push/{messageId}'].patch
$.paths['/messaging/messages/sms'].post
$.paths['/messaging/messages/sms/{messageId}'].patch
$.paths['/messaging/messages/{messageId}'].get
$.paths['/messaging/messages/{messageId}'].delete
$.paths['/messaging/messages/{messageId}/targets'].get
$.paths['/messaging/providers'].get
$.paths['/messaging/providers/apns'].post
$.paths['/messaging/providers/apns/{providerId}'].patch
$.paths['/messaging/providers/fcm'].post
$.paths['/messaging/providers/fcm/{providerId}'].patch
OpenAPI Overlay
# 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'
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/appwrite/refs/heads/main/overlays/appwrite-messaging-api-phrasing-overlay.yaml