Creates a new PostgreSQL database with its own user, password, and PgBouncer pool entry.
Database names must match ^[a-z][a-z0-9-]{1,48}[a-z0-9]$ — lowercase letters, numbers, and hyphens, 3-50 characters.
Request body
| Field | Type | Required | Description |
|---|
name | string | Yes | Database identifier (becomes DB name and username) |
displayName | string | Yes | Human-friendly label |
{
"name": "my-app",
"displayName": "My Application"
}
Response
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "my-app",
"displayName": "My Application",
"host": "13.61.204.171",
"port": 6432,
"dbName": "my_app",
"username": "my_app",
"password": "generated-secret-token",
"status": "active",
"sizeBytes": 0,
"createdAt": "2026-03-19T12:00:00.000Z"
}
Errors
| Status | Code | Description |
|---|
| 400 | INVALID_NAME | Name doesn’t match the required pattern |
| 409 | DATABASE_EXISTS | A database with this name already exists |