Appwrite · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Appwrite Account API

74 actions 74 updates phrasing extends openapi/appwrite-account-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 74 · first 16 shown; the file carries all of them

$.info
$.paths['/account'].get
$.paths['/account'].post
$.paths['/account'].delete
$.paths['/account/billing-addresses'].get
$.paths['/account/billing-addresses'].post
$.paths['/account/billing-addresses/{billingAddressId}'].get
$.paths['/account/billing-addresses/{billingAddressId}'].put
$.paths['/account/billing-addresses/{billingAddressId}'].delete
$.paths['/account/consents'].get
$.paths['/account/consents/{consentId}'].get
$.paths['/account/consents/{consentId}'].delete
$.paths['/account/consents/{consentId}/tokens'].get
$.paths['/account/consents/{consentId}/tokens/{tokenId}'].get
$.paths['/account/consents/{consentId}/tokens/{tokenId}'].delete
$.paths['/account/coupons/{couponId}'].get

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 Account API
  version: 1.0.0
extends: openapi/appwrite-account-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: 73
- target: $.paths['/account'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the signed-in user's account
      effect: read
      questions:
      - Who is the user currently logged in to my Appwrite app?
      - Can I fetch the profile of the signed-in user from the client side?
      instructions:
      - text: Show me the account details of the currently logged-in user.
      - text: Fetch my own account profile.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account'].post
  update:
    x-apievangelist-phrasing:
      intent: Register a new user account
      effect: write
      questions:
      - How do I let a new user sign up with an email and password?
      - What do I need to register someone as a new account in my project?
      instructions:
      - text: Register a new account for {email} with password {password} and user ID {userId}.
        slots:
          email: requestBody.email
          password: requestBody.password
          userId: requestBody.userId
      - text: Sign up {name} as a new user with email {email}, password {password} and ID {userId}.
        slots:
          name: requestBody.name
          email: requestBody.email
          password: requestBody.password
          userId: requestBody.userId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete the signed-in user's account
      effect: destructive
      questions:
      - Can a logged-in user delete their own account?
      - What endpoint removes the current user's whole account?
      instructions:
      - text: Delete my own user account entirely.
      - text: Remove the currently logged-in user's account.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/billing-addresses'].get
  update:
    x-apievangelist-phrasing:
      intent: List the account's billing addresses
      effect: read
      questions:
      - Which billing addresses are saved on my account?
      - Can I filter the billing addresses on my account with queries?
      instructions:
      - text: List all billing addresses on my account.
      - text: List my billing addresses matching {queries}.
        slots:
          queries: query.queries
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/billing-addresses'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a billing address to the account
      effect: write
      questions:
      - How do I add a new billing address to my account?
      - Which fields are required when saving a billing address?
      instructions:
      - text: Add a billing address at {streetAddress}, {city}, {country} to my account.
        slots:
          streetAddress: requestBody.streetAddress
          city: requestBody.city
          country: requestBody.country
      - text: Save a new billing address {streetAddress}, {city} {postalCode}, {state}, {country}.
        slots:
          streetAddress: requestBody.streetAddress
          city: requestBody.city
          postalCode: requestBody.postalCode
          state: requestBody.state
          country: requestBody.country
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/billing-addresses/{billingAddressId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one billing address by ID
      effect: read
      questions:
      - Can I look up a single saved billing address by its ID?
      - What details are stored for a specific billing address on my account?
      instructions:
      - text: Show billing address {billingAddressId}.
        slots:
          billingAddressId: path.billingAddressId
      - text: Get the details of my billing address {billingAddressId}.
        slots:
          billingAddressId: path.billingAddressId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/billing-addresses/{billingAddressId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an existing billing address
      effect: write
      questions:
      - How do I change a billing address I already saved?
      - Can I correct the street or city on an existing billing address?
      instructions:
      - text: Update billing address {billingAddressId} to {streetAddress}, {city}, {country}.
        slots:
          billingAddressId: path.billingAddressId
          streetAddress: requestBody.streetAddress
          city: requestBody.city
          country: requestBody.country
      - text: Change the postal code on billing address {billingAddressId} to {postalCode}, keeping {streetAddress}, {city}, {country}.
        slots:
          billingAddressId: path.billingAddressId
          postalCode: requestBody.postalCode
          streetAddress: requestBody.streetAddress
          city: requestBody.city
          country: requestBody.country
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/billing-addresses/{billingAddressId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a billing address
      effect: destructive
      questions:
      - Can I remove an old billing address from my account?
      - What happens when I delete a saved billing address?
      instructions:
      - text: Delete billing address {billingAddressId}.
        slots:
          billingAddressId: path.billingAddressId
      - text: Remove the billing address {billingAddressId} from my account.
        slots:
          billingAddressId: path.billingAddressId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/consents'].get
  update:
    x-apievangelist-phrasing:
      intent: List OAuth2 consents given to third-party apps
      effect: read
      questions:
      - Which third-party apps have I granted OAuth2 consent to?
      - Can I see every app the current user has authorized?
      instructions:
      - text: List the OAuth2 consents I have given to third-party apps.
      - text: List my app consents matching {queries}.
        slots:
          queries: query.queries
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/consents/{consentId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one OAuth2 consent
      effect: read
      questions:
      - What scopes did I grant in a particular OAuth2 consent?
      - Can I look up a single third-party app consent by ID?
      instructions:
      - text: Show OAuth2 consent {consentId}.
        slots:
          consentId: path.consentId
      - text: Get the details of the app consent {consentId}.
        slots:
          consentId: path.consentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/consents/{consentId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Revoke a third-party app's OAuth2 consent
      effect: destructive
      questions:
      - How do I revoke a third-party app's access to my account?
      - Does withdrawing an OAuth2 consent also revoke the app's tokens?
      instructions:
      - text: Revoke OAuth2 consent {consentId} and all its tokens.
        slots:
          consentId: path.consentId
      - text: Withdraw my consent {consentId} so that app must ask again.
        slots:
          consentId: path.consentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/consents/{consentId}/tokens'].get
  update:
    x-apievangelist-phrasing:
      intent: List token families under an OAuth2 consent
      effect: read
      questions:
      - Which devices or sessions hold tokens under an app consent I gave?
      - Are the token secrets returned when I list a consent's tokens?
      instructions:
      - text: List the token families issued under consent {consentId}.
        slots:
          consentId: path.consentId
      - text: Show every authorized device for app consent {consentId}.
        slots:
          consentId: path.consentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/consents/{consentId}/tokens/{tokenId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one token family under a consent
      effect: read
      questions:
      - Can I inspect a single token family issued under an app consent?
      - What metadata is shown for one authorized device of a consent?
      instructions:
      - text: Show token family {tokenId} under consent {consentId}.
        slots:
          tokenId: path.tokenId
          consentId: path.consentId
      - text: Get details of consent {consentId} token {tokenId}.
        slots:
          consentId: path.consentId
          tokenId: path.tokenId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/consents/{consentId}/tokens/{tokenId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Revoke one device's tokens under a consent
      effect: destructive
      questions:
      - Can I sign one device out of a third-party app without revoking the whole consent?
      - Do other devices keep working when I delete one consent token family?
      instructions:
      - text: Revoke token family {tokenId} under consent {consentId}.
        slots:
          tokenId: path.tokenId
          consentId: path.consentId
      - text: Cut off one device, token {tokenId}, from app consent {consentId} but keep the consent.
        slots:
          tokenId: path.tokenId
          consentId: path.consentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/coupons/{couponId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get details of a coupon for my account
      effect: read
      questions:
      - What does a coupon code give my account before I apply it?
      - Can I check a coupon's details from my account?
      instructions:
      - text: Show the details of coupon {couponId} for my account.
        slots:
          couponId: path.couponId
      - text: Check what coupon {couponId} is worth on my account.
        slots:
          couponId: path.couponId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/email'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change the signed-in user's email
      effect: write
      questions:
      - How can a user change the email address on their account?
      - Does changing my email reset its verification status?
      instructions:
      - text: Change my account email to {email}; my password is {password}.
        slots:
          email: requestBody.email
          password: requestBody.password
      - text: Update the logged-in user's email address to {email} using password {password}.
        slots:
          email: requestBody.email
          password: requestBody.password
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/identities'].get
  update:
    x-apievangelist-phrasing:
      intent: List the user's linked login identities
      effect: read
      questions:
      - Which OAuth identities are linked to my account?
      - Can I see the external logins attached to the current user?
      instructions:
      - text: List the identities linked to my account.
      - text: List my linked identities matching {queries}.
        slots:
          queries: query.queries
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/identities/{identityId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Unlink a login identity
      effect: destructive
      questions:
      - How do I unlink an OAuth identity from my account?
      - Can I remove one external login provider from my profile?
      instructions:
      - text: Unlink identity {identityId} from my account.
        slots:
          identityId: path.identityId
      - text: Delete the linked identity {identityId}.
        slots:
          identityId: path.identityId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/invoices'].get
  update:
    x-apievangelist-phrasing:
      intent: List invoices tied to my account
      effect: read
      questions:
      - Where can I see all invoices billed to my account?
      - Can I filter my account invoices with queries?
      instructions:
      - text: List all invoices on my account.
      - text: List my account invoices matching {queries}.
        slots:
          queries: query.queries
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/jwts'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a JWT for the current user
      effect: write
      questions:
      - How do I get a JWT to call the server API on behalf of the logged-in user?
      - How long is an account JWT valid for?
      instructions:
      - text: Create a JSON Web Token for the current user.
      - text: Issue a JWT for me that lasts {duration} seconds.
        slots:
          duration: requestBody.duration
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/keys'].get
  update:
    x-apievangelist-phrasing:
      intent: List my account API keys
      effect: read
      questions:
      - Which API keys exist on my personal account?
      - Can I get just the count of my account keys?
      instructions:
      - text: List all API keys on my account.
      - text: Show my account keys with total count set to {total}.
        slots:
          total: query.total
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/keys'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an account API key
      effect: write
      questions:
      - How do I create a personal account API key with specific scopes?
      - Can an account key be given an expiration date?
      instructions:
      - text: Create an account key named {name} with scopes {scopes}.
        slots:
          name: requestBody.name
          scopes: requestBody.scopes
      - text: Create account key {name} with scopes {scopes} expiring {expire}.
        slots:
          name: requestBody.name
          scopes: requestBody.scopes
          expire: requestBody.expire
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/keys/{keyId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one account API key
      effect: read
      questions:
      - What scopes does one of my account keys have?
      - Can I look up a single account API key by ID?
      instructions:
      - text: Show account key {keyId}.
        slots:
          keyId: path.keyId
      - text: Get the scopes of my account key {keyId}.
        slots:
          keyId: path.keyId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/keys/{keyId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an account API key
      effect: write
      questions:
      - Can I change the scopes on an existing account key?
      - How do I extend the expiry of an account API key?
      instructions:
      - text: Rename account key {keyId} to {name} with scopes {scopes}.
        slots:
          keyId: path.keyId
          name: requestBody.name
          scopes: requestBody.scopes
      - text: Set account key {keyId} to expire at {expire}, keeping name {name} and scopes {scopes}.
        slots:
          keyId: path.keyId
          expire: requestBody.expire
          name: requestBody.name
          scopes: requestBody.scopes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/keys/{keyId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an account API key
      effect: destructive
      questions:
      - How do I revoke one of my account API keys?
      - Does a deleted account key stop authenticating immediately?
      instructions:
      - text: Delete account key {keyId}.
        slots:
          keyId: path.keyId
      - text: Revoke my account API key {keyId}.
        slots:
          keyId: path.keyId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/logs'].get
  update:
    x-apievangelist-phrasing:
      intent: List the user's security activity logs
      effect: read
      questions:
      - Where can I see recent security activity on my account?
      - Do account logs include IP address and location?
      instructions:
      - text: List my latest account security logs.
      - text: List my activity logs matching {queries}.
        slots:
          queries: query.queries
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/mfa'].patch
  update:
    x-apievangelist-phrasing:
      intent: Turn multi-factor authentication on or off
      effect: write
      questions:
      - How do I enable MFA on my account?
      - Can a user switch off multi-factor authentication?
      instructions:
      - text: Set MFA on my account to {mfa}.
        slots:
          mfa: requestBody.mfa
      - text: Turn on multi-factor authentication for my account.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/mfa/authenticators/{type}'].put
  update:
    x-apievangelist-phrasing:
      intent: Verify a newly added authenticator app
      effect: write
      questions:
      - How do I confirm an authenticator app after adding it?
      - What code do I send to finish setting up a TOTP authenticator?
      instructions:
      - text: Verify my {type} authenticator with code {otp}.
        slots:
          type: path.type
          otp: requestBody.otp
      - text: Confirm the {type} authenticator setup using one-time password {otp}.
        slots:
          type: path.type
          otp: requestBody.otp
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/mfa/authenticators/{type}'].post
  update:
    x-apievangelist-phrasing:
      intent: Add an authenticator app as an MFA factor
      effect: write
      questions:
      - Can I add an authenticator app like TOTP as a second factor?
      - What is the first step to register an authenticator for MFA?
      instructions:
      - text: Add a {type} authenticator to my account.
        slots:
          type: path.type
      - text: Start setting up a new {type} authenticator app for MFA.
        slots:
          type: path.type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/mfa/authenticators/{type}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove an MFA authenticator
      effect: destructive
      questions:
      - How do I remove an authenticator app from my account?
      - Can I delete my TOTP factor if I lost my phone?
      instructions:
      - text: Remove my {type} authenticator.
        slots:
          type: path.type
      - text: Delete the {type} MFA authenticator from my account.
        slots:
          type: path.type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/mfa/challenges'].put
  update:
    x-apievangelist-phrasing:
      intent: Complete an MFA challenge with a code
      effect: write
      questions:
      - How do I finish MFA verification after sign-in?
      - Where do I submit the one-time password for an MFA challenge?
      instructions:
      - text: Complete MFA challenge {challengeId} with code {otp}.
        slots:
          challengeId: requestBody.challengeId
          otp: requestBody.otp
      - text: Answer challenge {challengeId} using one-time password {otp}.
        slots:
          challengeId: requestBody.challengeId
          otp: requestBody.otp
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/mfa/challenges'].post
  update:
    x-apievangelist-phrasing:
      intent: Start an MFA challenge after sign-in
      effect: write
      questions:
      - How do I begin MFA verification once a user has signed in?
      - Which factor types can I request an MFA challenge for?
      instructions:
      - text: Start an MFA challenge using the {factor} factor.
        slots:
          factor: requestBody.factor
      - text: Send me an MFA challenge via {factor}.
        slots:
          factor: requestBody.factor
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/mfa/factors'].get
  update:
    x-apievangelist-phrasing:
      intent: List available MFA factors
      effect: read
      questions:
      - Which MFA factors are available on my account?
      - Can I check whether email, phone or TOTP factors are enabled for me?
      instructions:
      - text: List the MFA factors available on my account.
      - text: Show which second factors I can use for a challenge.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/mfa/recovery-codes'].get
  update:
    x-apievangelist-phrasing:
      intent: Show existing MFA recovery codes
      effect: read
      questions:
      - Can I view the MFA recovery codes I already generated?
      - Is an OTP challenge needed before reading recovery codes?
      instructions:
      - text: Show my existing MFA recovery codes.
      - text: Retrieve the backup recovery codes I generated earlier.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/mfa/recovery-codes'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate MFA recovery codes for the first time
      effect: write
      questions:
      - How do I generate backup recovery codes after adding an authenticator?
      - When should recovery codes first be created for MFA?
      instructions:
      - text: Generate my first set of MFA recovery codes.
      - text: Create backup recovery codes for my new authenticator.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/mfa/recovery-codes'].patch
  update:
    x-apievangelist-phrasing:
      intent: Regenerate MFA recovery codes
      effect: write
      questions:
      - Can I replace my MFA recovery codes with a fresh set?
      - What do I do if my existing recovery codes were exposed?
      instructions:
      - text: Regenerate my MFA recovery codes, replacing the old ones.
      - text: Issue a fresh set of recovery codes to replace my current codes.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/name'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change the signed-in user's name
      effect: write
      questions:
      - How can a user change their display name?
      - Can I rename the currently logged-in account?
      instructions:
      - text: Change my account name to {name}.
        slots:
          name: requestBody.name
      - text: Set the logged-in user's name to {name}.
        slots:
          name: requestBody.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/password'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change the signed-in user's password
      effect: write
      questions:
      - How do I change my password while logged in?
      - Is the old password required for users who signed up with OAuth or magic URL?
      instructions:
      - text: Change my password from {oldPassword} to {password}.
        slots:
          oldPassword: requestBody.oldPassword
          password: requestBody.password
      - text: Set a new password {password} on my account.
        slots:
          password: requestBody.password
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/payment-methods'].get
  update:
    x-apievangelist-phrasing:
      intent: List saved payment methods
      effect: read
      questions:
      - Which payment methods are saved on my account?
      - Can I filter my payment methods with queries?
      instructions:
      - text: List my saved payment methods.
      - text: List payment methods on my account matching {queries}.
        slots:
          queries: query.queries
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/payment-methods'].post
  update:
    x-apievangelist-phrasing:
      intent: Start adding a new payment method
      effect: write
      questions:
      - How do I add a new card to my account?
      - What is the first step to register a payment method?
      instructions:
      - text: Create a new payment method on my account.
      - text: Start setting up a new card for my account billing.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/payment-methods/{paymentMethodId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one payment method
      effect: read
      questions:
      - Can I look up a specific saved card by ID?
      - What details are stored for one of my payment methods?
      instructions:
      - text: Show payment method {paymentMethodId}.
        slots:
          paymentMethodId: path.paymentMethodId
      - text: Get details of my card {paymentMethodId}.
        slots:
          paymentMethodId: path.paymentMethodId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/payment-methods/{paymentMethodId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a payment method
      effect: destructive
      questions:
      - How do I remove an old card from my account?
      - Can I delete a saved payment method?
      instructions:
      - text: Delete payment method {paymentMethodId}.
        slots:
          paymentMethodId: path.paymentMethodId
      - text: Remove card {paymentMethodId} from my account.
        slots:
          paymentMethodId: path.paymentMethodId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/payment-methods/{paymentMethodId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a card's expiry date
      effect: write
      questions:
      - Can I update the expiry date on a saved card?
      - How do I change the expiration month and year of a payment method?
      instructions:
      - text: Set the expiry of payment method {paymentMethodId} to {expiryMonth}/{expiryYear}.
        slots:
          paymentMethodId: path.paymentMethodId
          expiryMonth: requestBody.expiryMonth
          expiryYear: requestBody.expiryYear
      - text: Update card {paymentMethodId} to expire in month {expiryMonth} of {expiryYear}.
        slots:
          paymentMethodId: path.paymentMethodId
          expiryMonth: requestBody.expiryMonth
          expiryYear: requestBody.expiryYear
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/payment-methods/{paymentMethodId}/provider'].patch
  update:
    x-apievangelist-phrasing:
      intent: Link a payment method to its provider ID
      effect: write
      questions:
      - How do I attach the payment provider's method ID to my saved card?
      - Can I set the provider method ID and name on a payment method?
      instructions:
      - text: Set payment method {paymentMethodId} provider ID to {providerMethodId} with name {name}.
        slots:
          paymentMethodId: path.paymentMethodId
          providerMethodId: requestBody.providerMethodId
          name: requestBody.name
      - text: Link card {paymentMethodId} to provider method {providerMethodId} named {name}.
        slots:
          paymentMethodId: path.paymentMethodId
          providerMethodId: requestBody.providerMethodId
          name: requestBody.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/payment-methods/{paymentMethodId}/setup'].patch
  update:
    x-apievangelist-phrasing:
      intent: Set up mandates for an Indian card
      effect: write
      questions:
      - How do I set up mandate options for an Indian card payment method?
      - Do Indian cards need a separate mandate setup step?
      instructions:
      - text: Set up mandate options on payment method {paymentMethodId}.
        slots:
          paymentMethodId: path.paymentMethodId
      - text: Configure the Indian card mandate for card {paymentMethodId}.
        slots:
          paymentMethodId: path.paymentMethodId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/phone'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change the signed-in user's phone number
      effect: write
      questions:
      - How can a user change the phone number on their account?
      - Is a confirmation SMS sent automatically after changing my phone?
      instructions:
      - text: Change my phone number to {phone}; password is {password}.
        slots:
          phone: requestBody.phone
          password: requestBody.password
      - text: Update the logged-in user's phone to {phone} using password {password}.
        slots:
          phone: requestBody.phone
          password: requestBody.password
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/prefs'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the user's saved preferences
      effect: read
      questions:
      - Where are the current user's key-value preferences stored?
      - Can I read my own account preferences object?
      instructions:
      - text: Show my account preferences.
      - text: Fetch the logged-in user's saved prefs.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/prefs'].patch
  update:
    x-apievangelist-phrasing:
      intent: Replace the user's preferences
      effect: write
      questions:
      - How do I save preferences like theme or language for a user?
      - What is the size limit for account preferences?
      instructions:
      - text: Replace my account preferences with {prefs}.
        slots:
          prefs: requestBody.prefs
      - text: Save {prefs} as the logged-in user's preferences.
        slots:
          prefs: requestBody.prefs
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/recovery'].put
  update:
    x-apievangelist-phrasing:
      intent: Complete a password reset
      effect: write
      questions:
      - How do I finish a password reset after the user clicks the email link?
      - Which values from the reset link do I need to set a new password?
      instructions:
      - text: Reset the password for user {userId} to {password} using secret {secret}.
        slots:
          userId: requestBody.userId
          password: requestBody.password
          secret: requestBody.secret
      - text: Complete password recovery for {userId} with secret {secret} and new password {password}.
        slots:
          userId: requestBody.userId
          secret: requestBody.secret
          password: requestBody.password
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/recovery'].post
  update:
    x-apievangelist-phrasing:
      intent: Send a password reset email
      effect: write
      questions:
      - How do I send a forgot-password email to a user?
      - Where does the password reset link redirect the user?
      instructions:
      - text: Send a password reset email to {email} redirecting to {url}.
        slots:
          email: requestBody.email
          url: requestBody.url
      - text: Start password recovery for {email} with reset page {url}.
        slots:
          email: requestBody.email
          url: requestBody.url
      method: generated
      generated: '2026-09-26'
- target: $.paths['/account/sessions'].get
  update:
    x-apievangelist-phrasing:
      intent: List the user's active sessions
      effect: read
      questions:
      - On which devices am I currently logged in?
      - Can I see all active sessions for my account?
      instructions:
      - text: List my active sessions across devices.
      - text: Show every device I'm logged in on.
      method: generated
      generated: '2026-09-26'


# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/appwrite/refs/heads/main/overlays/appwrite-account-api-phrasing-overlay.yaml