Properties
| NAME | TYPE | DESCRIPTION |
$id | string | Dedicated database ID. |
$createdAt | string | Database creation time in ISO 8601 format. |
$updatedAt | string | Database update date in ISO 8601 format. |
projectId | string | Project ID that owns this database. |
name | string | Database display name. |
api | string | Product API that owns this database: tablesdb, documentsdb, vectorsdb, mysql, postgresql, or mongodb. |
engine | string | Database engine: postgresql, mysql, or mongodb. Null until the backing reports one. |
version | string | Database engine version. |
specification | string | Specification identifier. |
backend | string | Database backend provider. Possible values: prisma, edge. |
hostname | string | Database hostname for connections. |
connectionPort | integer | Database port for connections. Derived from the engine when the backing has not reported one yet. |
connectionUser | string | Database username for connections. |
connectionPassword | string | Database password for connections. |
connectionString | string | Full database connection string (URI format). |
ssl | boolean | Whether SSL/TLS is required for client connections. |
status | string | Database status. Possible values: provisioning, ready, inactive, paused, failed, deleted, restoring, scaling. |
containerStatus | string | Container status for lifecycle-managed database runtimes: active or inactive. |
lastAccessedAt | string | Last activity timestamp in ISO 8601 format. |
idleUntil | string | Display-only timestamp when the database is expected to be considered idle (ISO 8601 format). Derived from last activity; lifecycle transitions are driven by lifecycleState. |
lifecycleState | string | Idle-lifecycle state of the database. Possible values: active, warm, cold, hibernated. |
idleTimeoutMinutes | integer | Minutes of inactivity before container scales to zero. |
cpu | integer | CPU allocated in millicores. |
memory | integer | Memory allocated in MB. |
storage | integer | Storage allocated in GB. |
storageClass | string | Storage class. Currently always 'ssd'; DigitalOcean exposes a single block-storage class. |
storageMaxGb | integer | Maximum storage allowed in GB. 0 means use system default. |
nodePool | string | Kubernetes node pool where the database is scheduled. |
replicas | integer | Number of high availability replicas. High availability is enabled when greater than 0. |
syncMode | string | Replication sync mode: async, sync, or quorum. |
networkMaxConnections | integer | Maximum concurrent client connections. This is the limit a client pool may reach; the engine's own max_connections reported by the status endpoint is a smaller backend limit the pooler multiplexes onto and does not constrain a client pool. |
networkIdleTimeoutSeconds | integer | Connection idle timeout in seconds. |
networkIPAllowlist | array | IP addresses/CIDR ranges allowed to connect. |
backupEnabled | boolean | Whether automatic backups are enabled. |
pitr | boolean | Whether point-in-time recovery is enabled. |
pitrRetentionDays | integer | Number of days to retain PITR data. |
storageAutoscaling | boolean | Whether automatic storage expansion is enabled. |
storageAutoscalingThresholdPercent | integer | Storage usage percentage that triggers automatic expansion. |
storageAutoscalingMaxGb | integer | Maximum storage size in GB for autoscaling. 0 means no limit. |
maintenanceWindowDay | string | Day of the week for the maintenance window. Possible values: sun, mon, tue, wed, thu, fri, sat. |
maintenanceWindowHourUtc | integer | Hour in UTC (0-23) when the maintenance window starts. |
metricsEnabled | boolean | Whether metrics collection is enabled. |
sqlApiEnabled | boolean | Whether the SQL API sidecar is enabled for this database. |
sqlApiAllowedStatements | array | Statement types accepted by the SQL API. Defaults to read/write DML only; DDL/DCL types (CREATE, ALTER, DROP, TRUNCATE, GRANT, REVOKE) are opt-in per database. Allowed values: SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, TRUNCATE, GRANT, REVOKE. |
sqlApiMaxRows | integer | Maximum rows returned per SQL API execution. Results larger than this are truncated. |
sqlApiMaxBytes | integer | Maximum serialised SQL API result payload in bytes. Results larger than this are truncated. |
sqlApiTimeoutSeconds | integer | Maximum server-side SQL API execution time in seconds before the query is cancelled. |
error | string | Error message if status is failed. |
Example
{
"$id": "5e5ea5c16897e",
"$createdAt": "2020-10-15T06:38:00.000+00:00",
"$updatedAt": "2020-10-15T06:38:00.000+00:00",
"projectId": "5e5ea5c16897e",
"name": "My Production Database",
"api": "postgresql",
"engine": "postgresql",
"version": "16",
"specification": "s-2vcpu-2gb",
"backend": "edge",
"hostname": "db-myproject-mydb.fra.appwrite.center",
"connectionPort": 5432,
"connectionUser": "appwrite_user",
"connectionPassword": "••••••••",
"connectionString": "postgresql://user:pass@db-myproject-mydb.fra.appwrite.center:5432/postgres?sslmode=require",
"ssl": true,
"status": "ready",
"containerStatus": "active",
"lastAccessedAt": "2020-10-15T06:38:00.000+00:00",
"idleUntil": "2020-10-15T06:38:00.000+00:00",
"lifecycleState": "active",
"idleTimeoutMinutes": 15,
"cpu": 2000,
"memory": 4096,
"storage": 100,
"storageClass": "ssd",
"storageMaxGb": 100,
"nodePool": "db-pool-4vcpu-8gb",
"replicas": 2,
"syncMode": "async",
"networkMaxConnections": 500,
"networkIdleTimeoutSeconds": 900,
"networkIPAllowlist": [
"10.0.0.0/8",
"192.168.1.0/24"
],
"backupEnabled": true,
"pitr": true,
"pitrRetentionDays": 14,
"storageAutoscaling": true,
"storageAutoscalingThresholdPercent": 85,
"storageAutoscalingMaxGb": 500,
"maintenanceWindowDay": "sun",
"maintenanceWindowHourUtc": 3,
"metricsEnabled": false,
"sqlApiEnabled": true,
"sqlApiAllowedStatements": "SELECT",
"sqlApiMaxRows": 10000,
"sqlApiMaxBytes": 10485760,
"sqlApiTimeoutSeconds": 30,
"error": ""
}
{
"_id": "5e5ea5c16897e",
"_createdAt": "2020-10-15T06:38:00.000+00:00",
"_updatedAt": "2020-10-15T06:38:00.000+00:00",
"projectId": "5e5ea5c16897e",
"name": "My Production Database",
"api": "postgresql",
"engine": "postgresql",
"version": "16",
"specification": "s-2vcpu-2gb",
"backend": "edge",
"hostname": "db-myproject-mydb.fra.appwrite.center",
"connectionPort": 5432,
"connectionUser": "appwrite_user",
"connectionPassword": "••••••••",
"connectionString": "postgresql://user:pass@db-myproject-mydb.fra.appwrite.center:5432/postgres?sslmode=require",
"ssl": true,
"status": "ready",
"containerStatus": "active",
"lastAccessedAt": "2020-10-15T06:38:00.000+00:00",
"idleUntil": "2020-10-15T06:38:00.000+00:00",
"lifecycleState": "active",
"idleTimeoutMinutes": 15,
"cpu": 2000,
"memory": 4096,
"storage": 100,
"storageClass": "ssd",
"storageMaxGb": 100,
"nodePool": "db-pool-4vcpu-8gb",
"replicas": 2,
"syncMode": "async",
"networkMaxConnections": 500,
"networkIdleTimeoutSeconds": 900,
"networkIPAllowlist": [
"10.0.0.0/8",
"192.168.1.0/24"
],
"backupEnabled": true,
"pitr": true,
"pitrRetentionDays": 14,
"storageAutoscaling": true,
"storageAutoscalingThresholdPercent": 85,
"storageAutoscalingMaxGb": 500,
"maintenanceWindowDay": "sun",
"maintenanceWindowHourUtc": 3,
"metricsEnabled": false,
"sqlApiEnabled": true,
"sqlApiAllowedStatements": "SELECT",
"sqlApiMaxRows": 10000,
"sqlApiMaxBytes": 10485760,
"sqlApiTimeoutSeconds": 30,
"error": ""
}