Appwrite · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Appwrite Mysql API

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

$.info
$.paths['/mysql'].get
$.paths['/mysql'].post
$.paths['/mysql/specifications'].get
$.paths['/mysql/{databaseId}'].get
$.paths['/mysql/{databaseId}'].delete
$.paths['/mysql/{databaseId}'].patch
$.paths['/mysql/{databaseId}/backups'].get
$.paths['/mysql/{databaseId}/backups'].post
$.paths['/mysql/{databaseId}/backups/policies'].get
$.paths['/mysql/{databaseId}/backups/policies'].post
$.paths['/mysql/{databaseId}/backups/policies/{policyId}'].get
$.paths['/mysql/{databaseId}/backups/policies/{policyId}'].delete
$.paths['/mysql/{databaseId}/backups/policies/{policyId}'].patch
$.paths['/mysql/{databaseId}/backups/storage'].put
$.paths['/mysql/{databaseId}/backups/{backupId}'].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 Mysql API
  version: 1.0.0
extends: openapi/appwrite-mysql-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: 34
- target: $.paths['/mysql'].get
  update:
    x-apievangelist-phrasing:
      intent: List dedicated MySQL databases
      effect: read
      questions:
      - Which dedicated MySQL databases do I have running?
      - Can I page through my dedicated databases with queries?
      instructions:
      - text: List all my dedicated MySQL databases.
      - text: List dedicated databases matching {queries}.
        slots:
          queries: query.queries
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql'].post
  update:
    x-apievangelist-phrasing:
      intent: Provision a dedicated MySQL database
      effect: write
      questions:
      - How do I spin up a dedicated MySQL database in Appwrite?
      - Can I enable replicas and point-in-time recovery when creating a database?
      - What status does a new dedicated database show while it is provisioning?
      instructions:
      - text: Create a dedicated MySQL database {name} with ID {databaseId}.
        slots:
          name: requestBody.name
          databaseId: requestBody.databaseId
      - text: Provision database {databaseId} named {name} on specification {specification} with {replicas} replicas.
        slots:
          databaseId: requestBody.databaseId
          name: requestBody.name
          specification: requestBody.specification
          replicas: requestBody.replicas
      - text: Create MySQL database {databaseId} called {name}, version {version}, with PITR set to {pitr}.
        slots:
          databaseId: requestBody.databaseId
          name: requestBody.name
          version: requestBody.version
          pitr: requestBody.pitr
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/specifications'].get
  update:
    x-apievangelist-phrasing:
      intent: List available database sizes and prices
      effect: read
      questions:
      - What CPU, memory and storage sizes can I pick for a dedicated database?
      - How much does each dedicated database specification cost on my plan?
      instructions:
      - text: List the dedicated database specifications on my plan.
      - text: Show me the database sizes with their prices and overage rates.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a dedicated database's configuration
      effect: read
      questions:
      - What configuration is a dedicated database running with?
      - Can I look up one dedicated MySQL database by ID?
      instructions:
      - text: Show the configuration of database {databaseId}.
        slots:
          databaseId: path.databaseId
      - text: Get dedicated database {databaseId}.
        slots:
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a dedicated MySQL database
      effect: destructive
      questions:
      - How do I permanently delete a dedicated MySQL database?
      - Can I retry deletion if cleanup of a database got stuck?
      instructions:
      - text: Delete dedicated database {databaseId}.
        slots:
          databaseId: path.databaseId
      - text: Tear down MySQL database {databaseId} and clean up its resources.
        slots:
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change a dedicated database's settings
      effect: write
      questions:
      - Can I resize a dedicated database without downtime?
      - How do I turn on storage autoscaling for an existing database?
      - Which SQL API limits can I adjust on a running database?
      instructions:
      - text: Move database {databaseId} to specification {specification}.
        slots:
          databaseId: path.databaseId
          specification: requestBody.specification
      - text: Enable storage autoscaling on database {databaseId} up to {storageAutoscalingMaxGb} GB.
        slots:
          databaseId: path.databaseId
          storageAutoscalingMaxGb: requestBody.storageAutoscalingMaxGb
      - text: Restrict database {databaseId} to IP allowlist {networkIPAllowlist}.
        slots:
          databaseId: path.databaseId
          networkIPAllowlist: requestBody.networkIPAllowlist
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/backups'].get
  update:
    x-apievangelist-phrasing:
      intent: List a database's backups
      effect: read
      questions:
      - What backups exist for my dedicated database?
      - Can I filter a database's backups by status or type?
      instructions:
      - text: List backups for database {databaseId}.
        slots:
          databaseId: path.databaseId
      - text: List backups of {databaseId} matching {queries}.
        slots:
          databaseId: path.databaseId
          queries: query.queries
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/backups'].post
  update:
    x-apievangelist-phrasing:
      intent: Take a manual database backup
      effect: write
      questions:
      - How do I take an on-demand backup of a dedicated database?
      - Is a manual backup created synchronously or in the background?
      instructions:
      - text: Back up database {databaseId} now.
        slots:
          databaseId: path.databaseId
      - text: Create a {type} backup of database {databaseId}.
        slots:
          type: requestBody.type
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/backups/policies'].get
  update:
    x-apievangelist-phrasing:
      intent: List scheduled backup policies
      effect: read
      questions:
      - Which scheduled backup policies are set on my database?
      - Can I see the backup schedules for a dedicated database?
      instructions:
      - text: List backup schedules for database {databaseId}.
        slots:
          databaseId: path.databaseId
      - text: Show backup policies on {databaseId} matching {queries}.
        slots:
          databaseId: path.databaseId
          queries: query.queries
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/backups/policies'].post
  update:
    x-apievangelist-phrasing:
      intent: Schedule recurring database backups
      effect: write
      questions:
      - How do I schedule automatic backups for a dedicated database?
      - Can I set how long scheduled backups are retained?
      instructions:
      - text: Create backup policy {policyId} named {name} on database {databaseId} running on schedule {schedule}, keeping {retention}.
        slots:
          policyId: requestBody.policyId
          name: requestBody.name
          databaseId: path.databaseId
          schedule: requestBody.schedule
          retention: requestBody.retention
      - text: Schedule {name} backups of {databaseId} at {schedule} with retention {retention}, ID {policyId}.
        slots:
          name: requestBody.name
          databaseId: path.databaseId
          schedule: requestBody.schedule
          retention: requestBody.retention
          policyId: requestBody.policyId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/backups/policies/{policyId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one scheduled backup policy
      effect: read
      questions:
      - What schedule and retention does a particular backup policy use?
      - Can I look up a single backup policy by ID?
      instructions:
      - text: Show backup policy {policyId} on database {databaseId}.
        slots:
          policyId: path.policyId
          databaseId: path.databaseId
      - text: Get the schedule of policy {policyId} for {databaseId}.
        slots:
          policyId: path.policyId
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/backups/policies/{policyId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a scheduled backup policy
      effect: destructive
      questions:
      - How do I stop a scheduled backup policy for good?
      - Are backups already taken kept after I delete their policy?
      instructions:
      - text: Delete backup policy {policyId} on database {databaseId}.
        slots:
          policyId: path.policyId
          databaseId: path.databaseId
      - text: Remove the scheduled backups policy {policyId} from {databaseId}.
        slots:
          policyId: path.policyId
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/backups/policies/{policyId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change a backup policy's schedule or retention
      effect: write
      questions:
      - Can I change the schedule of an existing backup policy?
      - Can I pause a backup policy without deleting it?
      instructions:
      - text: Change backup policy {policyId} on {databaseId} to run on schedule {schedule}.
        slots:
          policyId: path.policyId
          databaseId: path.databaseId
          schedule: requestBody.schedule
      - text: Set policy {policyId} on database {databaseId} enabled to {enabled}.
        slots:
          policyId: path.policyId
          databaseId: path.databaseId
          enabled: requestBody.enabled
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/backups/storage'].put
  update:
    x-apievangelist-phrasing:
      intent: Send backups to off-cluster object storage
      effect: write
      questions:
      - Can database backups be copied to my own S3, GCS or Azure Blob bucket?
      - What credentials are needed to configure off-cluster backup storage?
      instructions:
      - text: Store backups of {databaseId} in {provider} bucket {bucket} using access key {accessKey} and secret {secretKey}.
        slots:
          databaseId: path.databaseId
          provider: requestBody.provider
          bucket: requestBody.bucket
          accessKey: requestBody.accessKey
          secretKey: requestBody.secretKey
      - text: Configure off-cluster backups for {databaseId} to {provider} bucket {bucket} in {region}, keys {accessKey} and {secretKey}.
        slots:
          databaseId: path.databaseId
          provider: requestBody.provider
          bucket: requestBody.bucket
          region: requestBody.region
          accessKey: requestBody.accessKey
          secretKey: requestBody.secretKey
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/backups/{backupId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one backup's status and size
      effect: read
      questions:
      - Has my manual database backup finished?
      - How large is a specific database backup?
      instructions:
      - text: Show backup {backupId} of database {databaseId}.
        slots:
          backupId: path.backupId
          databaseId: path.databaseId
      - text: Check the status of backup {backupId} on {databaseId}.
        slots:
          backupId: path.backupId
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/backups/{backupId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a database backup
      effect: destructive
      questions:
      - How do I permanently remove a database backup?
      - Can a deleted backup be recovered afterwards?
      instructions:
      - text: Delete backup {backupId} of database {databaseId}.
        slots:
          backupId: path.backupId
          databaseId: path.databaseId
      - text: Remove backup {backupId} from {databaseId} storage.
        slots:
          backupId: path.backupId
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/branches'].get
  update:
    x-apievangelist-phrasing:
      intent: List ephemeral database branches
      effect: read
      questions:
      - Which test branches exist for my dedicated database?
      - When do my database branches expire?
      instructions:
      - text: List branches of database {databaseId}.
        slots:
          databaseId: path.databaseId
      - text: Show the ephemeral branches and their expiry for {databaseId}.
        slots:
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/branches'].post
  update:
    x-apievangelist-phrasing:
      intent: Branch a database for testing
      effect: write
      questions:
      - Can I clone my production database to test a schema migration?
      - How long does an ephemeral database branch live?
      instructions:
      - text: Create a branch of database {databaseId}.
        slots:
          databaseId: path.databaseId
      - text: Branch {databaseId} as {branchId} with a time-to-live of {ttl}.
        slots:
          databaseId: path.databaseId
          branchId: requestBody.branchId
          ttl: requestBody.ttl
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/branches/{branchId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a database branch
      effect: destructive
      questions:
      - How do I delete a test branch I no longer need?
      - Is deleting a database branch reversible?
      instructions:
      - text: Delete branch {branchId} of database {databaseId}.
        slots:
          branchId: path.branchId
          databaseId: path.databaseId
      - text: Remove the ephemeral branch {branchId} from {databaseId}.
        slots:
          branchId: path.branchId
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/credentials'].patch
  update:
    x-apievangelist-phrasing:
      intent: Rotate a database's connection credentials
      effect: write
      questions:
      - How do I rotate the password on my dedicated database?
      - What happens if I rotate credentials while the database is hibernated?
      instructions:
      - text: Rotate the connection credentials for database {databaseId}.
        slots:
          databaseId: path.databaseId
      - text: Queue a credential rotation on {databaseId}.
        slots:
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/executions'].post
  update:
    x-apievangelist-phrasing:
      intent: Run a SQL statement on a database
      effect: write
      questions:
      - Can I run a SQL query against my dedicated database from the console API?
      - Can I pass bound parameters and a timeout with a SQL statement?
      instructions:
      - text: Run SQL {sql} on database {databaseId}.
        slots:
          sql: requestBody.sql
          databaseId: path.databaseId
      - text: Execute {sql} on {databaseId} with bindings {bindings} and a {timeoutSeconds}-second timeout.
        slots:
          sql: requestBody.sql
          databaseId: path.databaseId
          bindings: requestBody.bindings
          timeoutSeconds: requestBody.timeoutSeconds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/failovers'].post
  update:
    x-apievangelist-phrasing:
      intent: Fail over to a replica
      effect: write
      questions:
      - How do I manually promote a replica to primary?
      - Can I choose which replica becomes the new primary during failover?
      instructions:
      - text: Trigger a failover on database {databaseId}.
        slots:
          databaseId: path.databaseId
      - text: Promote replica {targetReplicaId} to primary for {databaseId}.
        slots:
          targetReplicaId: requestBody.targetReplicaId
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/maintenance'].patch
  update:
    x-apievangelist-phrasing:
      intent: Set a database's maintenance window
      effect: write
      questions:
      - When do minor version upgrades happen on my dedicated database?
      - Can I move the maintenance window to a quieter day and hour?
      instructions:
      - text: Set the maintenance window for {databaseId} to {day} at {hourUtc} UTC.
        slots:
          databaseId: path.databaseId
          day: requestBody.day
          hourUtc: requestBody.hourUtc
      - text: Schedule maintenance on database {databaseId} for {day}, hour {hourUtc} UTC.
        slots:
          databaseId: path.databaseId
          day: requestBody.day
          hourUtc: requestBody.hourUtc
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/migrations'].post
  update:
    x-apievangelist-phrasing:
      intent: Switch a database between shared and dedicated
      effect: write
      questions:
      - Can I convert a shared serverless database into a dedicated one?
      - Is there downtime when moving a database from dedicated back to shared?
      instructions:
      - text: Migrate database {databaseId} to {targetType}.
        slots:
          databaseId: path.databaseId
          targetType: requestBody.targetType
      - text: Convert {databaseId} to {targetType} on specification {specification}.
        slots:
          databaseId: path.databaseId
          targetType: requestBody.targetType
          specification: requestBody.specification
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/operations'].get
  update:
    x-apievangelist-phrasing:
      intent: List a database's lifecycle operations
      effect: read
      questions:
      - Has my database update or restore finished yet?
      - Can I filter a database's operation history by status?
      instructions:
      - text: List recent lifecycle operations for database {databaseId}.
        slots:
          databaseId: path.databaseId
      - text: Show {limit} operations on {databaseId} with status {status}.
        slots:
          limit: query.limit
          databaseId: path.databaseId
          status: query.status
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/pitr'].get
  update:
    x-apievangelist-phrasing:
      intent: Get point-in-time recovery windows
      effect: read
      questions:
      - How far back can I restore my database to a point in time?
      - What are the earliest and latest recovery points available?
      instructions:
      - text: Show the point-in-time recovery window for {databaseId}.
        slots:
          databaseId: path.databaseId
      - text: Get the earliest and latest restore points for database {databaseId}.
        slots:
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/pooler'].get
  update:
    x-apievangelist-phrasing:
      intent: Get connection pooler settings
      effect: read
      questions:
      - What connection pooling mode is my database using?
      - How many max connections does my database pooler allow?
      instructions:
      - text: Show the connection pooler settings for {databaseId}.
        slots:
          databaseId: path.databaseId
      - text: Get pool size and max connections for database {databaseId}.
        slots:
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/pooler'].patch
  update:
    x-apievangelist-phrasing:
      intent: Tune the connection pooler
      effect: write
      questions:
      - Can I raise the max connections on my database pooler?
      - Can the pooler split reads and writes across replicas?
      instructions:
      - text: Set the pooler on {databaseId} to mode {mode} with {maxConnections} max connections.
        slots:
          databaseId: path.databaseId
          mode: requestBody.mode
          maxConnections: requestBody.maxConnections
      - text: Turn read-write splitting to {readWriteSplitting} on the pooler for {databaseId}.
        slots:
          readWriteSplitting: requestBody.readWriteSplitting
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/replicas'].get
  update:
    x-apievangelist-phrasing:
      intent: Check replica health and lag
      effect: read
      questions:
      - How far behind are my database replicas?
      - Is high availability healthy on my dedicated database?
      instructions:
      - text: Show replica status and replication lag for {databaseId}.
        slots:
          databaseId: path.databaseId
      - text: Check the high availability status of database {databaseId}.
        slots:
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/restorations'].get
  update:
    x-apievangelist-phrasing:
      intent: List a database's restorations
      effect: read
      questions:
      - Which restores have been run on my database?
      - Can I filter restorations by status or type?
      instructions:
      - text: List restorations for database {databaseId}.
        slots:
          databaseId: path.databaseId
      - text: List {type} restorations on {databaseId} with status {status}.
        slots:
          type: query.type
          databaseId: path.databaseId
          status: query.status
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/restorations'].post
  update:
    x-apievangelist-phrasing:
      intent: Restore a database from backup or a point in time
      effect: write
      questions:
      - How do I restore my database from a backup?
      - Can I roll a database back to a specific timestamp?
      instructions:
      - text: Restore database {databaseId} from backup {backupId}.
        slots:
          databaseId: path.databaseId
          backupId: requestBody.backupId
      - text: Restore {databaseId} to the point in time {targetTime}.
        slots:
          databaseId: path.databaseId
          targetTime: requestBody.targetTime
      - text: Restore backup {backupId} of {databaseId} into database {targetDatabaseId}.
        slots:
          backupId: requestBody.backupId
          databaseId: path.databaseId
          targetDatabaseId: requestBody.targetDatabaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/restorations/{restorationId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one restoration's status
      effect: read
      questions:
      - Has my database restore completed?
      - Can I look up one restoration by ID?
      instructions:
      - text: Show restoration {restorationId} of database {databaseId}.
        slots:
          restorationId: path.restorationId
          databaseId: path.databaseId
      - text: Check progress of restore {restorationId} on {databaseId}.
        slots:
          restorationId: path.restorationId
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/status'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a database's real-time health
      effect: read
      questions:
      - Is my dedicated database healthy and ready right now?
      - How long has my database been up, and what are its connection details?
      instructions:
      - text: Check the live health of database {databaseId}.
        slots:
          databaseId: path.databaseId
      - text: Show uptime, readiness and volume info for {databaseId}.
        slots:
          databaseId: path.databaseId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/mysql/{databaseId}/upgrades'].post
  update:
    x-apievangelist-phrasing:
      intent: Upgrade a database's MySQL version
      effect: write
      questions:
      - How do I upgrade my dedicated database to a newer MySQL version?
      - Does a version upgrade cause downtime?
      instructions:
      - text: Upgrade database {databaseId} to version {targetVersion}.
        slots:
          databaseId: path.databaseId
          targetVersion: requestBody.targetVersion
      - text: Move {databaseId} onto MySQL {targetVersion} with a blue-green cutover.
        slots:
          databaseId: path.databaseId
          targetVersion: requestBody.targetVersion
      method: generated
      generated: '2026-09-26'