Create database
Create a managed database. Provisioning is asynchronous — the database is created in status pending and moves through deploying to running; poll GET /api/v1/databases/{database_id} for progress.
Networking
Databases live on private VPC networking by default. Set vpc_id to place the private endpoint ({database_id}.db.raffusercloud.com) inside an existing VPC, or attach a VPC later via POST /api/v1/databases/{database_id}/vpc. Public access is optional and off by default. TLS is always required.
Engines
- PostgreSQL — pooled endpoint on port 6432 (PgBouncer, transaction mode) plus a direct endpoint on 5432. Nightly base backup with continuous WAL archiving for point-in-time restore.
- Valkey — single TLS endpoint on port 6379. Nightly RDB snapshots plus on-demand snapshots. No read replicas — high availability adds a standby with automatic Sentinel failover.
Pricing
The plan sets the base price. High availability adds 70% of the tier price; storage above the tier allotment is $0.12/GB/month. See GET /api/v1/public/pricing/database for the full catalog.
Headers
Project ID. Required for all mutating operations (create, delete, power actions, resize).
Request body
Example request
{
"name": "orders-db",
"engine": "postgres",
"engine_version": "16",
"plan_id": 5
}Response
Database created (status pending while provisioning)
Example response
{
"database": {
"name": "orders-db",
"engine": "postgres",
"engine_version": "16",
"region": "us-east",
"plan_id": 5,
"storage_gb": 25,
"connection_host": "a1b2c3d4.db.raffusercloud.com",
"connection_port": 6432,
"billing_type": "payg",
"price_per_hour": 0.010945,
"monthly_price": 7.99,
"public_port": 25060,
"public_dns_hostname": "a1b2c3d4.public.db.raffusercloud.com",
"public_allowlist": [
"203.0.113.0/24"
]
}
}