Managed Databases

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.

post/api/v1/databases

Headers

X-Project-IDstring uuid required

Project ID. Required for all mutating operations (create, delete, power actions, resize).

Request body

namestring required

Display name, unique within the account

engine'postgres' | 'mysql' | 'valkey' | 'clickhouse' | 'kafka'

Database engine identifier. Defaults to postgres on create; the live catalog (including availability and versions) is GET /api/v1/databases/engines.

engine_versionstring

Engine major version from the engine catalog. Omit for the default version.

plan_idinteger required

Pricing plan ID from GET /api/v1/databases/plans

storage_gbinteger

Storage in GB. Omit to use the plan's included allotment; storage above it bills at $0.12/GB/month.

ha_enabledboolean

Enable high availability (+70% of the plan price)

replica_countinteger

Read replicas (PostgreSQL only; Valkey rejects a count above 0)

region'us-east'

Data center region

vpc_idstring uuid

VPC to place the private endpoint in. Omit to create without VPC connectivity and attach one later via POST /api/v1/databases/{database_id}/vpc.

public_accessboolean

Enable public access at create time

engine_configobject

Engine configuration overrides (allowlisted keys only)

Example request

{
  "name": "orders-db",
  "engine": "postgres",
  "engine_version": "16",
  "plan_id": 5
}

Response

Database created (status pending while provisioning)

successboolean

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"
    ]
  }
}

Changes