List Databases
List the managed databases of the active account, newest first. A database is a MariaDB database that belongs to the account: it has its own users and is connected to managed, full-stack and function apps, which then get DB_HOST … DATABASE_URL as environment variables. See Databases for the dashboard side (Storage → Databases).
The list also includes the database an app got from POST /v1/applications/{uuid}/database, named after the app. A database with no label (an older per-app database) shows its name inside MariaDB as its name.
Requires the caller's role to have Databases read, and a plan with managed databases (Team: 3 databases, Enterprise: 10). Every route of the Databases API is also on the agent plane under /v1/agent/databases (and /v1/agent/applications/{uuid}/database-connections) for account-scoped agent tokens, the way the ngris CLI calls the API.
Query parameters
provisioning | ready | failed | deleting. Exact match.true: only databases at least one application uses; false: only unused ones. Omit for all.1.100. Default 25 (when you pass page alone, the API's default page size, 15).Response (200 OK)
{used, limit}: the databases that count against the plan (creating or ready; a failed or deleting one doesn't count) and the plan's limit. limit is null when there is no cap.null when the plan sets none. ngris doesn't measure database sizes yet.Errors
status must be one of provisioning, ready, failed, deleting or connected must be true or false.Insufficient permissions for this action (no Databases read), No active account for this request, or Managed databases are not available on your plan.databases_unavailable: every Databases route answers this until the feature's database migration is applied (it is applied on ngris).Get Database
Fetch one database with where apps reach it (host, port, name inside MariaDB — never a password), its users, its connections and the apps that use it. Requires Databases read.
Database object
mariadb, the only engine.provisioning (being created) → ready; failed (delete it and create a new one); deleting.shared: the database lives on ngris's shared database server.app_ + the name in lowercase letters, digits and _ + _ + 8 generated characters. It never changes; an app gets it as DB_NAME.DB_HOST / DB_PORT). Nothing outside ngris can reach it.null today: ngris doesn't measure database sizes yet.true when the account has more databases than its plan allows and this one is paused: its settings are read-only (409 quota_paused on rename, new users, password rotation and new connections); deleting it, its users, and disconnecting apps still work. quota_paused_at says since when.Response (200 OK)
used_by (the apps connected as it).{application_uuid, application_name}. An app bound to the database the older way, with no connection (an older per-app database), carries legacy: true: it can't be disconnected through the connections API.Errors
database not found: no such database in the active account (another account's reads the same).databases_unavailable.