Limits
Every limit in one place, so you can plan for them.
These are opencloudport's own limits, read from the code that enforces them. Each comes back as a clear error with a message saying which limit you hit. If one gets in your way, tell us what you're building.
Running a platform?
The limits marked (raisable) can be raised for your workspace on request, for example when you run an app per customer: apps, sandboxes, sandboxes per app, services per app (up to 100), domains per app, webhooks, and the request rate per key. See Building a platform.
Requests
| What | Limit |
|---|---|
| Requests per API key | 20 a second on average, bursts of up to 60 (raisable) |
| Emails sent per API key | 2 a second on average, bursts of up to 20 |
| Sandboxes started per API key | 1 every 5 seconds, bursts of up to 5 |
Idempotency-Key | 1 to 255 visible characters, remembered for 24 hours |
| Request body | 16 KB, unless listed below |
Over a rate limit you get 429 rate_limited with Retry-After in seconds. See Rate limits.
Workspaces and apps
| What | Limit |
|---|---|
| Apps per workspace | 1,000 (raisable) |
| App name | 100 characters |
external_id | 200 printable characters, no spaces |
metadata | 50 values; names up to 40 characters, values up to 500 |
| Databases, buckets and email senders per app | 20 in all (raisable, up to 100) |
| Compute and sandboxes | one of each per app |
| Variables and secrets per app | 100, each value up to 5 KB |
| Domains per app | 20 (raisable) |
Webhooks
| What | Limit |
|---|---|
| Webhooks per workspace | 10 (raisable) |
| Time to answer a delivery | 10 seconds |
| Retries of a failed delivery | 6, over about a day and a half |
| Failing before a webhook is turned off | 3 days in a row |
| Events and deliveries kept | 30 days |
Code
| What | Limit |
|---|---|
| Code files (modules) per deployment | 100 |
| Code per deployment | 10 MB |
| Static files per deployment | 20,000 |
| One static file | 25 MB |
| All static files in one upload | 50 MB |
Logs
| What | Limit |
|---|---|
| How long lines are kept | 7 days |
| Lines kept per app | 2,000 an hour |
| Printed lines kept per run | 100 |
| One message or stack | 8,000 characters |
| Lines per page from the API | 500 |
Waiting for new lines (wait) | 20 seconds |
Databases
| What | Limit |
|---|---|
| SQL per request | 100 KB |
Values for ? placeholders | 100 |
| Rows returned per statement | 1,000 (the rest are left out, and truncated is true) |
A SQL file to load (import) | 10 MB |
| A copy's download link | 15 minutes |
File storage
| What | Limit |
|---|---|
| A file's path | 1,024 bytes |
| Files listed per page | 1,000 |
| Signed links | 1 minute to 7 days (15 minutes unless you say) |
| Direct bucket credentials | 15 minutes to 12 hours (1 hour unless you say) |
| What | Limit |
|---|---|
| Subject | 500 characters |
| Text version | 200,000 characters |
| HTML version | 500,000 characters |
| Sent emails kept in the dashboard | 30 days |
| Sender domains | 1 per email service |
Scheduled runs
| What | Limit |
|---|---|
| Schedules per app | 5 |
| How often | at most once a minute, in UTC |
Sandboxes
| What | Limit |
|---|---|
| Sandboxes per app | 50 (raisable) |
| Sandboxes per workspace | 200 (raisable) |
| Falls asleep after being idle | 1 minute to 24 hours (15 minutes unless you say) |
| A command | up to 10 minutes (2 minutes unless you say) |
| Files written at once | 500, up to 25 MB in all |
| A variable's value | 4 KB |
Money
| What | Limit |
|---|---|
| Adding funds | $5 to $10,000 at a time |
| Spending limits (keys, apps, end users) | up to $1,000,000, to the cent |
| Usage you can ask for at once | 92 days |
opencloudport