Appearance
Plans & quotas
Every account is on a plan — Free by default, Pro for more resources and extra features (managed databases, dev sync). Plans define every limit the platform enforces.
Limits are per-plan, not hardcoded
Plan limits live in the platform's plans table and can be adjusted by the administrators, so this page describes the dimensions rather than exact numbers. Check your current limits and usage on the dashboard (plan usage card) or via GET /account/usage on the HTTP API.
What a plan controls
Per-container resources (SSR apps):
| Dimension | Meaning |
|---|---|
| Memory | RAM limit per container |
| CPU | vCPU share (millicores) per container |
| Process limit | Max processes/threads (pids) per container |
Project & deploy limits:
| Dimension | Meaning |
|---|---|
| Max projects | How many projects you can create |
| Deploys per hour | Rate cap on deployments (RATE_LIMITED, HTTP 429) |
| Upload size | Max source archive size per deploy (UPLOAD_TOO_LARGE, HTTP 413) |
| OCI image size | Max existing-image transfer and inspected size; 0 disables dockerimage projects/deploys |
| Env vars | Max environment variables per project (QUOTA_EXCEEDED) |
| Storage | Disk footprint for static files and images |
Traffic:
| Dimension | Meaning |
|---|---|
| Rate limit / minute | Per-minute request rate limit on your sites |
| Monthly requests | Request quota per calendar month (UTC) |
| Monthly bandwidth | Bandwidth quota per calendar month (UTC) |
Pro features:
| Dimension | Meaning |
|---|---|
| Managed database projects | How many projects may use a managed database (0 disables it); Production/Preview/Dev branches together consume one slot |
| Database size | Size cap per channel database — one branch going over does not make another branch read-only |
| Database connections | Connection cap per channel database role |
| Database backups | Completed backups kept per project across all channels (0 disables backups) |
| SSE connections | Concurrent realtime connections your plan is sized for |
| Dev sync | Whether apco dev --sync is available |
| Preview deploys | Whether Preview-channel deployments are available |
| Active PR Previews | Maximum simultaneous GitHub App PR Previews per project; reaching it rejects the new Preview without evicting another PR |
| Scheduled jobs | Maximum active manifest definitions per project; 0 disables scheduling/execution |
| Concurrent job runs | Maximum running logical jobs per project across definitions/channels; excess work waits |
What happens when you hit a quota
Monthly request and bandwidth usage is checked hourly, summed across all your projects for the current UTC calendar month:
- At 80% of either limit — you receive a warning email (once per calendar month).
- At 100% — all of your active projects are suspended: containers stop, visitors see a suspension page (503), and dev-channel deployments are taken down too. New deploys are rejected with
SUSPENDED(HTTP 403).
Suspension is not automatic to undo
Suspended projects are never auto-resumed — not even when the month rolls over. Upgrade your plan or wait for the monthly reset, then contact an administrator to resume your projects.
Suspended projects show up in apco projects list with a suspendedAt timestamp and a suspendReason ("quota" or "admin").
Hard limits vs quotas
Most limits reject the specific action (a too-large upload, one deploy too many this hour, an extra env var) with a clear error code and leave everything else running. Only the monthly request/bandwidth quotas suspend projects.
Checking your usage
- Dashboard — the plan usage card shows month-to-date requests and bandwidth against your limits, plus per-project resource usage.
- API —
GET /account/usagereturns your plan (includingdevSyncEnabled,previewEnabled,maxActivePreviews,maxImageMb,maxDatabases,dbSizeMb,dbConnectionLimit,maxBackups,maxScheduledJobs,maxConcurrentJobRuns,maxSseConnections) and usage vs limits. Note it requires a full-access key, not a scoped token.
Related
- Analytics — watch your traffic before the emails do
- Managed databases — the Pro database feature
- Hybrid dev — the Pro dev-sync feature
- Scheduled jobs — durable cron and manual runs
- OCI images — image-size gate and runtime trust boundary
- Error codes