A team's Postgres and MySQL databases and Valkey (Redis-compatible) KV databases: engine, version, size, instances, the cluster's status (phase, primary, ready instances, failovers), the services connected to each and their variables, passwords masked.
API key access: read.
apiKeyAuthorizationBearer <pyo_…>An API key from the dashboard's API keys page: Authorization: Bearer pyo_…. Keys can expire, and an expired one gets a 401.
team*stringThe team's id.
databases, each with id, name, engine, version, size, cpu, memory, storageGi, instances, pooler, rest, deletionProtection, status (with backup: firstRecoverabilityPoint, lastSuccessfulBackup, lastArchivedWal, lastFailedBackup, message), backup, restoredFrom, readReplicas, extensions, setup, members, connections and variables (passwords masked). backup has enabled, retentionDays and hour for Postgres and MySQL. For KV, once turned on, it has enabled, schedule, hour, keep and backupDatabaseId (its id in Backups). readReplicas is null when off, or has instances, ready, reported and members (each with name, ready, server and lagSeconds). extensions is null for MySQL. For Postgres and KV, it lists each extension or module that's on or being turned off, with name, enabled, state ("enabled", "pending", "restarting", "disabling" or "failed") and a message. setup is null once the cluster's databases are set up. While they're being set up or updated, it has state ("installing" or "failed") and a message. members lists each instance's name, role ("primary" or "replica"), ready and the server it runs on, primary first.
application/jsoncurl -X GET 'https://your-pyo.example.com/api/v1/databases?team=string'{}