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