Appwrite · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Appwrite Projects API
19 actions
19 updates
phrasing
extends
openapi/appwrite-projects-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 19 · first 16 shown; the file carries all of them
$.info
$.paths['/projects/{projectId}/addons'].get
$.paths['/projects/{projectId}/addons/premium-geo-db'].post
$.paths['/projects/{projectId}/addons/{addonId}'].get
$.paths['/projects/{projectId}/addons/{addonId}'].delete
$.paths['/projects/{projectId}/addons/{addonId}/confirmations'].post
$.paths['/projects/{projectId}/addons/{addon}/price'].get
$.paths['/projects/{projectId}/console-access'].patch
$.paths['/projects/{projectId}/dev-keys'].get
$.paths['/projects/{projectId}/dev-keys/{keyId}'].get
$.paths['/projects/{projectId}/dev-keys/{keyId}'].put
$.paths['/projects/{projectId}/dev-keys/{keyId}'].delete
$.paths['/projects/{projectId}/schedules'].get
$.paths['/projects/{projectId}/schedules'].post
$.paths['/projects/{projectId}/schedules/{scheduleId}'].get
$.paths['/projects/{projectId}/stages'].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 Projects API
version: 1.0.0
extends: openapi/appwrite-projects-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: 18
- target: $.paths['/projects/{projectId}/addons'].get
update:
x-apievangelist-phrasing:
intent: List a project's billing addons
effect: read
questions:
- Which paid addons are active on my Appwrite project?
- Where can I see every billing addon attached to one project?
instructions:
- text: List the billing addons on project {projectId}.
slots:
projectId: path.projectId
- text: Show me which addons project {projectId} is paying for.
slots:
projectId: path.projectId
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/addons/premium-geo-db'].post
update:
x-apievangelist-phrasing:
intent: Add the Premium Geo DB addon to a project
effect: write
questions:
- How do I turn on the Premium Geo DB addon for a project?
- Can I buy premium geolocation data as an addon for just one project?
instructions:
- text: Add the Premium Geo DB addon to project {projectId}.
slots:
projectId: path.projectId
- text: Subscribe project {projectId} to premium geo database lookups.
slots:
projectId: path.projectId
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/addons/{addonId}'].get
update:
x-apievangelist-phrasing:
intent: Get one project addon
effect: read
questions:
- What are the details of a specific billing addon on my project?
- Can I check the status of one addon by its ID?
instructions:
- text: Show addon {addonId} on project {projectId}.
slots:
addonId: path.addonId
projectId: path.projectId
- text: Get the billing details of addon {addonId} for project {projectId}.
slots:
addonId: path.addonId
projectId: path.projectId
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/addons/{addonId}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a billing addon from a project
effect: destructive
questions:
- How do I cancel a paid addon on one of my projects?
- Can I drop an addon I no longer need from a project?
instructions:
- text: Delete addon {addonId} from project {projectId}.
slots:
addonId: path.addonId
projectId: path.projectId
- text: Cancel the billing addon {addonId} on project {projectId}.
slots:
addonId: path.addonId
projectId: path.projectId
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/addons/{addonId}/confirmations'].post
update:
x-apievangelist-phrasing:
intent: Confirm an addon payment after 3DS
effect: write
questions:
- My addon purchase asked for 3D Secure, how do I finish the payment?
- What call completes an addon payment once card authentication succeeds?
instructions:
- text: Confirm the payment for addon {addonId} on project {projectId} after 3DS authentication.
slots:
addonId: path.addonId
projectId: path.projectId
- text: Finalize the 3D Secure payment for project {projectId} addon {addonId}.
slots:
projectId: path.projectId
addonId: path.addonId
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/addons/{addon}/price'].get
update:
x-apievangelist-phrasing:
intent: Check what an addon will cost a project
effect: read
questions:
- How much will an addon cost if I add it partway through my billing cycle?
- Can I see the prorated price of an addon before buying it?
instructions:
- text: Get the price of the {addon} addon for project {projectId}.
slots:
addon: path.addon
projectId: path.projectId
- text: Show the prorated amount for adding {addon} to project {projectId} this cycle.
slots:
addon: path.addon
projectId: path.projectId
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/console-access'].patch
update:
x-apievangelist-phrasing:
intent: Record console access to a project
effect: write
questions:
- How does the console track when a project was last opened?
- Can I update a project's last-accessed timestamp?
instructions:
- text: Record console access to project {projectId}.
slots:
projectId: path.projectId
- text: Bump the last accessed time on project {projectId}.
slots:
projectId: path.projectId
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/dev-keys'].get
update:
x-apievangelist-phrasing:
intent: List a project's dev keys
effect: read
questions:
- Which dev keys exist for my project?
- Can I filter a project's dev keys with queries?
instructions:
- text: List the dev keys for project {projectId}.
slots:
projectId: path.projectId
- text: List dev keys on project {projectId} matching {queries}.
slots:
projectId: path.projectId
queries: query.queries
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/dev-keys/{keyId}'].get
update:
x-apievangelist-phrasing:
intent: Get one dev key
effect: read
questions:
- When does a particular dev key expire?
- How do I look up a single dev key by its ID?
instructions:
- text: Show dev key {keyId} on project {projectId}.
slots:
keyId: path.keyId
projectId: path.projectId
- text: Get the name and expiry of dev key {keyId} in project {projectId}.
slots:
keyId: path.keyId
projectId: path.projectId
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/dev-keys/{keyId}'].put
update:
x-apievangelist-phrasing:
intent: Rename a dev key or change its expiry
effect: write
questions:
- Can I extend the expiration of an existing dev key?
- How do I rename a dev key without creating a new one?
instructions:
- text: Rename dev key {keyId} in project {projectId} to {name} and set it to expire at {expire}.
slots:
keyId: path.keyId
projectId: path.projectId
name: requestBody.name
expire: requestBody.expire
- text: 'Update dev key {keyId} on project {projectId}: name {name}, expiry {expire}.'
slots:
keyId: path.keyId
projectId: path.projectId
name: requestBody.name
expire: requestBody.expire
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/dev-keys/{keyId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a dev key
effect: destructive
questions:
- How do I revoke a dev key so it stops bypassing rate limits?
- What happens to debugging and rate limits once a dev key is deleted?
instructions:
- text: Delete dev key {keyId} from project {projectId}.
slots:
keyId: path.keyId
projectId: path.projectId
- text: Revoke the dev key {keyId} on project {projectId}.
slots:
keyId: path.keyId
projectId: path.projectId
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/schedules'].get
update:
x-apievangelist-phrasing:
intent: List a project's schedules
effect: read
questions:
- What scheduled jobs are set up in my project?
- Can I filter a project's resource schedules with queries?
instructions:
- text: List all schedules in project {projectId}.
slots:
projectId: path.projectId
- text: List schedules on project {projectId} matching {queries}.
slots:
projectId: path.projectId
queries: query.queries
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/schedules'].post
update:
x-apievangelist-phrasing:
intent: Schedule a resource to run on a cron
effect: write
questions:
- How do I put a function or other resource on a recurring schedule?
- Can I create a schedule that starts out inactive?
instructions:
- text: Create a schedule in project {projectId} for {resourceType} {resourceId} running on {schedule}.
slots:
projectId: path.projectId
resourceType: requestBody.resourceType
resourceId: requestBody.resourceId
schedule: requestBody.schedule
- text: 'Schedule {resourceType} {resourceId} in project {projectId} with cron {schedule}, active: {active}.'
slots:
resourceType: requestBody.resourceType
resourceId: requestBody.resourceId
projectId: path.projectId
schedule: requestBody.schedule
active: requestBody.active
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/schedules/{scheduleId}'].get
update:
x-apievangelist-phrasing:
intent: Get one schedule
effect: read
questions:
- What cron expression and resource does a given schedule use?
- Is a specific schedule still active?
instructions:
- text: Show schedule {scheduleId} in project {projectId}.
slots:
scheduleId: path.scheduleId
projectId: path.projectId
- text: Get the cron and target of schedule {scheduleId} on project {projectId}.
slots:
scheduleId: path.scheduleId
projectId: path.projectId
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/stages'].get
update:
x-apievangelist-phrasing:
intent: List a project's onboarding stages
effect: read
questions:
- Which onboarding steps have I finished or skipped for my project?
- Can I see the SDK method tied to each onboarding stage?
instructions:
- text: List the onboarding stages for project {projectId}.
slots:
projectId: path.projectId
- text: Show which onboarding stages are still pending on project {projectId}.
slots:
projectId: path.projectId
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/stages/{stageId}'].patch
update:
x-apievangelist-phrasing:
intent: Skip an onboarding stage
effect: write
questions:
- Can I skip an onboarding step without doing the API action it asks for?
- How do I mark a project onboarding stage as skipped?
instructions:
- text: Skip onboarding stage {stageId} on project {projectId}.
slots:
stageId: path.stageId
projectId: path.projectId
- text: Set skip to {skip} for stage {stageId} in project {projectId}.
slots:
skip: requestBody.skip
stageId: path.stageId
projectId: path.projectId
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/status'].patch
update:
x-apievangelist-phrasing:
intent: Archive, restore or unpause a project
effect: write
questions:
- How do I archive a project I'm not using anymore?
- Can I bring a paused project back online?
instructions:
- text: Set the status of project {projectId} to {status}.
slots:
projectId: path.projectId
status: requestBody.status
- text: Archive project {projectId} by changing its status to {status}.
slots:
projectId: path.projectId
status: requestBody.status
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/team'].patch
update:
x-apievangelist-phrasing:
intent: Transfer a project to another team
effect: write
questions:
- Can I move a project to a different team?
- What call hands ownership of a project over to another team?
instructions:
- text: Transfer project {projectId} to team {teamId}.
slots:
projectId: path.projectId
teamId: requestBody.teamId
- text: Change the owning team of project {projectId} to {teamId}.
slots:
projectId: path.projectId
teamId: requestBody.teamId
method: generated
generated: '2026-09-26'