CapyDB Docs
Reference

Limits

Plan entitlements and operational bounds, in one table-shaped place.

Plans

Plans are billed per organization (via Polar); project entitlements derive from the org's plan. POST /v1/projects does not accept a plan — it is not a choice you make per project.

VibeShipBusiness
Storage per project1 GB5 GB10 GB
Connections per project153060
Projects per organization13Unlimited
Preview databases per project15Unlimited
Statement timeout30s60s120s
Idle-in-transaction timeout60s90s120s

The connection budget covers direct and pooled access together; the pooled endpoint exists so app traffic does not eat it. Statement and idle-in-transaction timeouts are server-enforced on project roles.

Preview databases

Default TTL24 hours
Maximum TTL168 hours (7 days)
TTL extensionAny value 1–168 hours, repeatable

SQL runner (Studio, capydb sql, POST /v1/projects/{id}/sql)

Statement timeout15 seconds
Result rowsDefault 200, maximum 1000
Query length20,000 characters

Backups

Scheduled backup cadenceDaily, at a UTC hour:minute you choose
Scheduled backup retention1–365 days
On-demand backupsUnlimited within plan storage reason; subject to the same retention you configure

Imports

  • Source must be publicly reachable (private/internal addresses rejected)
  • Source database size must fit the plan's storage limit (preflight warns above 80%)
  • No Postgres major downgrades (source major must be ≤ target; targets run Postgres 17)
  • Source extensions must be on the allowlist

Webhooks

Delivery attempts8, exponential backoff 30s → 30m cap
Receiver requirementsHTTPS, publicly reachable

Usage alerts

Storage and connection usage are evaluated against the plan limits above; see Alerts.

Warning threshold≥ 80% of the limit
Critical threshold≥ 95% of the limit
Critical → warning downgradebelow 90%
Resolutionbelow 75%
Re-notification while openat most every 24 hours (escalations notify immediately)
Resolved-alert history30 days

Extensions

13 allowlisted extensions on Postgres 17 clusters, including pgvector and PostGIS — the full list and trusted/superuser split is in Extensions.

API

Per-IP rate limiting applies across the API, with a stricter limit on CLI-login endpoints. Exact thresholds are operational and may change; treat 429 as a signal to back off, and contact support if a legitimate workload keeps hitting it.

Need more?

If a limit here is the only thing between you and shipping, contact support — several of these are policy, not physics.