Usage & Limits
Monitor your account usage and quotas through the API to stay within plan limits.
Get usage overview
Section titled “Get usage overview”Request: GET /v1/usage
curl -H "Authorization: Bearer $PRESS_CLOUD_TOKEN" \ "$PRESS_CLOUD_API/v1/usage"The response includes Cache-Control: private, no-store — do not cache this data.
Response: 200 OK
{ "period": { "kind": "current_bill_period", "start": 1743465600000, "end": 1746057600000, "usageDayStart": "2026-04-01", "usageDayEndExclusive": "2026-05-01" }, "plan": { "key": "starter", "name": "Starter", "currency": "usd", "interval": "month", "monthlyPriceCents": 9000 }, "policy": { "allowExternalNetwork": true, "maxBytesPerDeployCommit": 52428800, "maxConcurrentRenderJobs": 10, "maxDeployCommitsPerBillPeriod": null, "maxFilesPerDeployCommit": 200, "maxRenderJobsPerBillPeriod": null, "maxRenderOutputBytes": 209715200, "maxRenderTimeMsPerBillPeriod": 9000000000, "maxRenderTimeoutMs": 60000, "storageLimitBytes": 10737418240 }, "usageMeters": [ { "code": "deploy_commits", "aggregation": "count", "totalQuantity": 42, "unit": "count", "version": "1" }, { "code": "render_jobs", "aggregation": "count", "totalQuantity": 150, "unit": "count", "version": "1" }, { "code": "render_time_ms", "aggregation": "sum", "totalQuantity": 3600000, "unit": "ms", "version": "1" } ], "liveStorage": { "deployVersionStorageBytes": 104857600, "managedPdfStorageBytes": 52428800, "renderOutputStorageBytes": 0, "totalBytes": 157286400 }, "uploadLimits": { "maxSingleFileBytes": 10485760 }, "storageMeters": [ { "code": "managed_pdf_storage", "aggregation": "daily_peak", "unit": "bytes", "currentBytes": 52428800, "peakBytesByDay": [ { "day": "2026-04-27", "peakBytes": 52428800, "peakGiBDay": 0.0488 } ], "totalPeakBytes": 52428800, "totalPeakGiBDays": 1.46, "version": "1" } ], "bill": { "provider": "stripe", "interval": "month", "periodStart": 1743465600000, "periodEnd": 1746057600000 }, "generatedAt": 1745800000000}Key fields
Section titled “Key fields”| Field | Description |
|---|---|
period.start / period.end | Current billing period bounds (Unix ms) |
plan.name | Active plan name |
policy.* | Current plan limits — compare against these, not hardcoded values |
usageMeters[].totalQuantity | Accumulated usage this period (count or ms) |
liveStorage.totalBytes | Current total storage in bytes |
uploadLimits.maxSingleFileBytes | Max individual file size for uploads (10 MB on all plans) |
Use the policy object to determine limits programmatically — a null value means unlimited for that dimension.
Note on
maxConcurrentRenderJobs: This is a user-level limit representing the maximum concurrent render jobs your account is allowed to run. Actual concurrency may be lower depending on overall platform load. When the platform is under heavy load, render jobs join a shared public queue and queue wait times may vary.
Detecting quota exhaustion
Section titled “Detecting quota exhaustion”When a quota is exhausted, the API returns an error with one of these codes:
| Error code | Meaning |
|---|---|
deploy_commit_quota_exceeded | Monthly deploy commit allowance exhausted |
render_job_quota_exceeded | Monthly render job allowance exhausted |
render_time_quota_exceeded | Monthly render time allowance exhausted |
storage_limit_exceeded | Account storage exceeds plan limit |
deploy_commit_policy_limit_exceeded | Version exceeds per-commit file/byte limits |
upload_session_policy_limit_exceeded | Upload exceeds file count or byte limit |
These errors are checked atomically — concurrent requests cannot race past the limit. The error field in the response body contains the code listed above.
What to do when you hit a limit
Section titled “What to do when you hit a limit”- Check the current period usage via
GET /v1/usageto see how close you are to the limit. - Hard limits (policy limits): reduce the request size or file count. See Plan Limits for exact thresholds.
- Quota limits (bill-period): wait for the next billing period or upgrade your plan.
- Storage limits: delete unused deploy versions, render outputs, or managed PDFs to free up space.
See Error Reference for the complete error catalog.