Appwrite · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Appwrite Teams API
20 actions
20 updates
phrasing
extends
openapi/appwrite-teams-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 20 · first 16 shown; the file carries all of them
$.info
$.paths['/teams'].get
$.paths['/teams'].post
$.paths['/teams/{teamId}'].get
$.paths['/teams/{teamId}'].put
$.paths['/teams/{teamId}'].delete
$.paths['/teams/{teamId}/installations'].get
$.paths['/teams/{teamId}/installations'].post
$.paths['/teams/{teamId}/installations/{installationId}'].get
$.paths['/teams/{teamId}/installations/{installationId}'].put
$.paths['/teams/{teamId}/installations/{installationId}'].delete
$.paths['/teams/{teamId}/logs'].get
$.paths['/teams/{teamId}/memberships'].get
$.paths['/teams/{teamId}/memberships'].post
$.paths['/teams/{teamId}/memberships/{membershipId}'].get
$.paths['/teams/{teamId}/memberships/{membershipId}'].delete
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 Teams API
version: 1.0.0
extends: openapi/appwrite-teams-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: 19
- target: $.paths['/teams'].get
update:
x-apievangelist-phrasing:
intent: List the teams I belong to
effect: read
questions:
- Which teams is the current user a member of?
- Can I search my teams by name?
instructions:
- text: List the teams I'm a member of.
- text: Search my teams for {search}.
slots:
search: query.search
method: generated
generated: '2026-09-26'
- target: $.paths['/teams'].post
update:
x-apievangelist-phrasing:
intent: Create a team
effect: write
questions:
- How do I create a team in Appwrite?
- Who becomes the owner when a new team is created?
instructions:
- text: Create a team named {name} with ID {teamId}.
slots:
name: requestBody.name
teamId: requestBody.teamId
- text: Create team {teamId} called {name} and give me the roles {roles}.
slots:
teamId: requestBody.teamId
name: requestBody.name
roles: requestBody.roles
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}'].get
update:
x-apievangelist-phrasing:
intent: Get a team
effect: read
questions:
- What are the details of a specific team?
- Can any team member read the team's details?
instructions:
- text: Get team {teamId}.
slots:
teamId: path.teamId
- text: Show me the details of team {teamId}.
slots:
teamId: path.teamId
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}'].put
update:
x-apievangelist-phrasing:
intent: Rename a team
effect: write
questions:
- How do I rename a team?
- Can I change a team's display name after creating it?
instructions:
- text: Rename team {teamId} to {name}.
slots:
teamId: path.teamId
name: requestBody.name
- text: Change the name of team {teamId} to {name}.
slots:
teamId: path.teamId
name: requestBody.name
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a team
effect: destructive
questions:
- How do I delete a team entirely?
- Who is allowed to delete a team?
instructions:
- text: Delete team {teamId}.
slots:
teamId: path.teamId
- text: Permanently remove the team {teamId}.
slots:
teamId: path.teamId
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}/installations'].get
update:
x-apievangelist-phrasing:
intent: List apps installed on a team
effect: read
questions:
- Which apps are installed on my team?
- Can a regular team member see the team's app installations?
instructions:
- text: List app installations on team {teamId}.
slots:
teamId: path.teamId
- text: Show installed apps for team {teamId} matching {queries}.
slots:
teamId: path.teamId
queries: query.queries
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}/installations'].post
update:
x-apievangelist-phrasing:
intent: Install an app on a team
effect: write
questions:
- How do I install an app on a team?
- What scopes does an app get when it is installed on a team?
instructions:
- text: Install app {appId} on team {teamId}.
slots:
appId: requestBody.appId
teamId: path.teamId
- text: Install app {appId} on team {teamId} with authorization details {authorizationDetails}.
slots:
appId: requestBody.appId
teamId: path.teamId
authorizationDetails: requestBody.authorizationDetails
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}/installations/{installationId}'].get
update:
x-apievangelist-phrasing:
intent: Get an app installation on a team
effect: read
questions:
- What scopes were granted to a specific app installation on my team?
- Can I look up one team app installation by ID?
instructions:
- text: Get installation {installationId} on team {teamId}.
slots:
installationId: path.installationId
teamId: path.teamId
- text: Show the details of app installation {installationId}.
slots:
installationId: path.installationId
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}/installations/{installationId}'].put
update:
x-apievangelist-phrasing:
intent: Refresh an app installation's grants
effect: write
questions:
- How do I refresh an installed app's scopes after it requests new ones?
- Are old installation access tokens revoked when I update an installation?
instructions:
- text: Refresh the scopes of installation {installationId} on team {teamId}.
slots:
installationId: path.installationId
teamId: path.teamId
- text: Update installation {installationId} on {teamId} with authorization details {authorizationDetails}.
slots:
installationId: path.installationId
teamId: path.teamId
authorizationDetails: requestBody.authorizationDetails
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}/installations/{installationId}'].delete
update:
x-apievangelist-phrasing:
intent: Uninstall an app from a team
effect: destructive
questions:
- How do I uninstall an app from my team?
- What happens to an app's access tokens when I remove it from a team?
instructions:
- text: Uninstall installation {installationId} from team {teamId}.
slots:
installationId: path.installationId
teamId: path.teamId
- text: Remove app installation {installationId} and revoke its tokens.
slots:
installationId: path.installationId
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}/logs'].get
update:
x-apievangelist-phrasing:
intent: List a team's activity logs
effect: read
questions:
- What activity has happened on my team recently?
- Can I see an audit log of changes to a team?
instructions:
- text: List activity logs for team {teamId}.
slots:
teamId: path.teamId
- text: Show team {teamId} logs matching {queries}.
slots:
teamId: path.teamId
queries: query.queries
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}/memberships'].get
update:
x-apievangelist-phrasing:
intent: List a team's members
effect: read
questions:
- Who are the members of my team?
- Can I search a team's members by name or email?
instructions:
- text: List the members of team {teamId}.
slots:
teamId: path.teamId
- text: Search team {teamId} members for {search}.
slots:
teamId: path.teamId
search: query.search
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}/memberships'].post
update:
x-apievangelist-phrasing:
intent: Invite someone to a team
effect: write
questions:
- How do I invite a new member to my team by email?
- Can I add someone to a team using just their phone number?
- What role will an invited team member get?
instructions:
- text: Invite {email} to team {teamId} with roles {roles}.
slots:
email: requestBody.email
teamId: path.teamId
roles: requestBody.roles
- text: Add user {userId} to team {teamId} as {roles}.
slots:
userId: requestBody.userId
teamId: path.teamId
roles: requestBody.roles
- text: Invite phone number {phone} to team {teamId} with roles {roles}.
slots:
phone: requestBody.phone
teamId: path.teamId
roles: requestBody.roles
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}/memberships/{membershipId}'].get
update:
x-apievangelist-phrasing:
intent: Get a team member's membership
effect: read
questions:
- What roles does a particular member have on my team?
- Has a specific team invitation been accepted?
instructions:
- text: Get membership {membershipId} on team {teamId}.
slots:
membershipId: path.membershipId
teamId: path.teamId
- text: Show the roles for membership {membershipId}.
slots:
membershipId: path.membershipId
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}/memberships/{membershipId}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a member from a team
effect: destructive
questions:
- How do I remove someone from my team?
- Can I cancel a team invitation that hasn't been accepted yet?
instructions:
- text: Remove membership {membershipId} from team {teamId}.
slots:
membershipId: path.membershipId
teamId: path.teamId
- text: Leave team {teamId} by deleting my membership {membershipId}.
slots:
teamId: path.teamId
membershipId: path.membershipId
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}/memberships/{membershipId}'].patch
update:
x-apievangelist-phrasing:
intent: Change a team member's roles
effect: write
questions:
- How do I promote a team member to owner?
- Who can change the roles of team members?
instructions:
- text: Set the roles of membership {membershipId} on team {teamId} to {roles}.
slots:
membershipId: path.membershipId
teamId: path.teamId
roles: requestBody.roles
- text: Change member {membershipId} in {teamId} to roles {roles}.
slots:
membershipId: path.membershipId
teamId: path.teamId
roles: requestBody.roles
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}/memberships/{membershipId}/status'].patch
update:
x-apievangelist-phrasing:
intent: Accept a team invitation
effect: write
questions:
- How does a user accept a team invite after clicking the email link?
- Does accepting a team invitation log the user in?
instructions:
- text: Accept invitation {membershipId} to team {teamId} for user {userId} with secret {secret}.
slots:
membershipId: path.membershipId
teamId: path.teamId
userId: requestBody.userId
secret: requestBody.secret
- text: Confirm user {userId} joining team {teamId} using membership {membershipId} and secret {secret}.
slots:
userId: requestBody.userId
teamId: path.teamId
membershipId: path.membershipId
secret: requestBody.secret
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}/prefs'].get
update:
x-apievangelist-phrasing:
intent: Get a team's shared preferences
effect: read
questions:
- What shared settings are stored for my team?
- Can I read the preferences all team members share?
instructions:
- text: Get the preferences of team {teamId}.
slots:
teamId: path.teamId
- text: Show shared prefs for team {teamId}.
slots:
teamId: path.teamId
method: generated
generated: '2026-09-26'
- target: $.paths['/teams/{teamId}/prefs'].put
update:
x-apievangelist-phrasing:
intent: Replace a team's shared preferences
effect: write
questions:
- How do I save shared settings for a whole team?
- Is there a size limit on team preferences?
instructions:
- text: Set the preferences of team {teamId} to {prefs}.
slots:
teamId: path.teamId
prefs: requestBody.prefs
- text: Replace team {teamId} shared prefs with {prefs}.
slots:
teamId: path.teamId
prefs: requestBody.prefs
method: generated
generated: '2026-09-26'