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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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