Appwrite MySQL API
Managed MySQL databases — bring your own MySQL or run Appwrite-hosted instances, announced 2026-09-02. 34 operations across 23 paths in the Appwrite 2.0.0 OpenAPI.
Operations 34
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
Ask an LLM
“Which dedicated MySQL databases do I have running?”
“Can I page through my dedicated databases with queries?”
Tell an agent
List all my dedicated MySQL databases.
List dedicated databases matching {queries}.
Ask an LLM
“How do I spin up a dedicated MySQL database in Appwrite?”
“Can I enable replicas and point-in-time recovery when creating a database?”
Tell an agent
Create a dedicated MySQL database {name} with ID {databaseId}.
Provision database {databaseId} named {name} on specification {specification} with {replicas} replicas.
Ask an LLM
“What CPU, memory and storage sizes can I pick for a dedicated database?”
“How much does each dedicated database specification cost on my plan?”
Tell an agent
List the dedicated database specifications on my plan.
Show me the database sizes with their prices and overage rates.
Ask an LLM
“What configuration is a dedicated database running with?”
“Can I look up one dedicated MySQL database by ID?”
Tell an agent
Show the configuration of database {databaseId}.
Get dedicated database {databaseId}.
Ask an LLM
“Can I resize a dedicated database without downtime?”
“How do I turn on storage autoscaling for an existing database?”
Tell an agent
Move database {databaseId} to specification {specification}.
Enable storage autoscaling on database {databaseId} up to {storageAutoscalingMaxGb} GB.
Ask an LLM
“How do I permanently delete a dedicated MySQL database?”
“Can I retry deletion if cleanup of a database got stuck?”
Tell an agent destructive · confirm first
Delete dedicated database {databaseId}.
Tear down MySQL database {databaseId} and clean up its resources.
Ask an LLM
“What backups exist for my dedicated database?”
“Can I filter a database's backups by status or type?”
Tell an agent
List backups for database {databaseId}.
List backups of {databaseId} matching {queries}.
Ask an LLM
“How do I take an on-demand backup of a dedicated database?”
“Is a manual backup created synchronously or in the background?”
Tell an agent
Back up database {databaseId} now.
Create a {type} backup of database {databaseId}.
Ask an LLM
“Which scheduled backup policies are set on my database?”
“Can I see the backup schedules for a dedicated database?”
Tell an agent
List backup schedules for database {databaseId}.
Show backup policies on {databaseId} matching {queries}.
POST
/mysql/{databaseId}/backups/policies
Schedule recurring database backups · Create backup policy
#
Ask an LLM
“How do I schedule automatic backups for a dedicated database?”
“Can I set how long scheduled backups are retained?”
Tell an agent
Create backup policy {policyId} named {name} on database {databaseId} running on schedule {schedule}, keeping {retention}.
Schedule {name} backups of {databaseId} at {schedule} with retention {retention}, ID {policyId}.
GET
/mysql/{databaseId}/backups/policies/{policyId}
Get one scheduled backup policy · Get backup policy
#
Ask an LLM
“What schedule and retention does a particular backup policy use?”
“Can I look up a single backup policy by ID?”
Tell an agent
Show backup policy {policyId} on database {databaseId}.
Get the schedule of policy {policyId} for {databaseId}.
PATCH
/mysql/{databaseId}/backups/policies/{policyId}
Change a backup policy's schedule or retention · Update backup policy
#
Ask an LLM
“Can I change the schedule of an existing backup policy?”
“Can I pause a backup policy without deleting it?”
Tell an agent
Change backup policy {policyId} on {databaseId} to run on schedule {schedule}.
Set policy {policyId} on database {databaseId} enabled to {enabled}.
DELETE
/mysql/{databaseId}/backups/policies/{policyId}
Delete a scheduled backup policy · Delete backup policy
#
Ask an LLM
“How do I stop a scheduled backup policy for good?”
“Are backups already taken kept after I delete their policy?”
Tell an agent destructive · confirm first
Delete backup policy {policyId} on database {databaseId}.
Remove the scheduled backups policy {policyId} from {databaseId}.
PUT
/mysql/{databaseId}/backups/storage
Send backups to off-cluster object storage · Update backup storage
#
Ask an LLM
“Can database backups be copied to my own S3, GCS or Azure Blob bucket?”
“What credentials are needed to configure off-cluster backup storage?”
Tell an agent
Store backups of {databaseId} in {provider} bucket {bucket} using access key {accessKey} and secret {secretKey}.
Configure off-cluster backups for {databaseId} to {provider} bucket {bucket} in {region}, keys {accessKey} and {secretKey}.
Ask an LLM
“Has my manual database backup finished?”
“How large is a specific database backup?”
Tell an agent
Show backup {backupId} of database {databaseId}.
Check the status of backup {backupId} on {databaseId}.
Ask an LLM
“How do I permanently remove a database backup?”
“Can a deleted backup be recovered afterwards?”
Tell an agent destructive · confirm first
Delete backup {backupId} of database {databaseId}.
Remove backup {backupId} from {databaseId} storage.
Ask an LLM
“Which test branches exist for my dedicated database?”
“When do my database branches expire?”
Tell an agent
List branches of database {databaseId}.
Show the ephemeral branches and their expiry for {databaseId}.
Ask an LLM
“Can I clone my production database to test a schema migration?”
“How long does an ephemeral database branch live?”
Tell an agent
Create a branch of database {databaseId}.
Branch {databaseId} as {branchId} with a time-to-live of {ttl}.
Ask an LLM
“How do I delete a test branch I no longer need?”
“Is deleting a database branch reversible?”
Tell an agent destructive · confirm first
Delete branch {branchId} of database {databaseId}.
Remove the ephemeral branch {branchId} from {databaseId}.
PATCH
/mysql/{databaseId}/credentials
Rotate a database's connection credentials · Update credentials
#
Ask an LLM
“How do I rotate the password on my dedicated database?”
“What happens if I rotate credentials while the database is hibernated?”
Tell an agent
Rotate the connection credentials for database {databaseId}.
Queue a credential rotation on {databaseId}.
Ask an LLM
“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?”
Tell an agent
Run SQL {sql} on database {databaseId}.
Execute {sql} on {databaseId} with bindings {bindings} and a {timeoutSeconds}-second timeout.
Ask an LLM
“How do I manually promote a replica to primary?”
“Can I choose which replica becomes the new primary during failover?”
Tell an agent
Trigger a failover on database {databaseId}.
Promote replica {targetReplicaId} to primary for {databaseId}.
Ask an LLM
“When do minor version upgrades happen on my dedicated database?”
“Can I move the maintenance window to a quieter day and hour?”
Tell an agent
Set the maintenance window for {databaseId} to {day} at {hourUtc} UTC.
Schedule maintenance on database {databaseId} for {day}, hour {hourUtc} UTC.
POST
/mysql/{databaseId}/migrations
Switch a database between shared and dedicated · Create migration
#
Ask an LLM
“Can I convert a shared serverless database into a dedicated one?”
“Is there downtime when moving a database from dedicated back to shared?”
Tell an agent
Migrate database {databaseId} to {targetType}.
Convert {databaseId} to {targetType} on specification {specification}.
Ask an LLM
“Has my database update or restore finished yet?”
“Can I filter a database's operation history by status?”
Tell an agent
List recent lifecycle operations for database {databaseId}.
Show {limit} operations on {databaseId} with status {status}.
Ask an LLM
“How far back can I restore my database to a point in time?”
“What are the earliest and latest recovery points available?”
Tell an agent
Show the point-in-time recovery window for {databaseId}.
Get the earliest and latest restore points for database {databaseId}.
Ask an LLM
“What connection pooling mode is my database using?”
“How many max connections does my database pooler allow?”
Tell an agent
Show the connection pooler settings for {databaseId}.
Get pool size and max connections for database {databaseId}.
Ask an LLM
“Can I raise the max connections on my database pooler?”
“Can the pooler split reads and writes across replicas?”
Tell an agent
Set the pooler on {databaseId} to mode {mode} with {maxConnections} max connections.
Turn read-write splitting to {readWriteSplitting} on the pooler for {databaseId}.
Ask an LLM
“How far behind are my database replicas?”
“Is high availability healthy on my dedicated database?”
Tell an agent
Show replica status and replication lag for {databaseId}.
Check the high availability status of database {databaseId}.
Ask an LLM
“Which restores have been run on my database?”
“Can I filter restorations by status or type?”
Tell an agent
List restorations for database {databaseId}.
List {type} restorations on {databaseId} with status {status}.
POST
/mysql/{databaseId}/restorations
Restore a database from backup or a point in time · Create restoration
#
Ask an LLM
“How do I restore my database from a backup?”
“Can I roll a database back to a specific timestamp?”
Tell an agent
Restore database {databaseId} from backup {backupId}.
Restore {databaseId} to the point in time {targetTime}.
GET
/mysql/{databaseId}/restorations/{restorationId}
Get one restoration's status · Get restoration
#
Ask an LLM
“Has my database restore completed?”
“Can I look up one restoration by ID?”
Tell an agent
Show restoration {restorationId} of database {databaseId}.
Check progress of restore {restorationId} on {databaseId}.
Ask an LLM
“Is my dedicated database healthy and ready right now?”
“How long has my database been up, and what are its connection details?”
Tell an agent
Check the live health of database {databaseId}.
Show uptime, readiness and volume info for {databaseId}.
Ask an LLM
“How do I upgrade my dedicated database to a newer MySQL version?”
“Does a version upgrade cause downtime?”
Tell an agent
Upgrade database {databaseId} to version {targetVersion}.
Move {databaseId} onto MySQL {targetVersion} with a blue-green cutover.