This page lists every fixed limit on apps that the Apps API reaches, in its words: an app is a web service in the dashboard, a replica an instance and a region a location. A version of an app is a release in both. The page that covers each feature explains how to work within it. What each month includes at no charge is in Usage rates. An app billed by use has no plan limit on its regions, builds at once, previews, protection, autoscaling or log drains. An app on older terms keeps its plan's limits, and log retention follows the plan on both (What your plan includes).
Set by the platform. The create request refuses a new app once you have that many, counting every deployment that is not a game server or a database. limits.apps in the answer to GET /api/v1/client/apps/regions gives it, where 0 means no limit, and limits.apps_used how many you have (Regions, sizes and limits). A deleted app does not count.
3–63 lowercase letters, digits and hyphens, starting and ending with a letter or a digit, with no hyphens in both the third and fourth places. Unique on the platform, and not a reserved word (Names on the platform).
Repository address
An https:// address on a public host, up to 500 characters, with no user name, token, query or fragment.
Branch
A name git accepts, up to 200 characters.
Directory
A path inside the repository, up to 255 characters.
Access token
Up to 1000 characters.
Image reference
Up to 500 characters, an image anyone can pull.
Install, build and start commands
Up to 500 characters each, on one line.
Dockerfile path
None: Dockerfiles are not built, and a path answers 422 with dockerfile_unsupported.
Framework
Up to 32 lowercase letters, digits, dots, plus signs and hyphens, starting with a letter or a digit. A preset such as next or fastapi sets the defaults (Frameworks we build).
200 through the Apps API, which sets the values every environment shares. With the values set for each environment and branch on the Variables tab, 1000 in all (Environments and variables).
Name
Upper-case letters, digits and underscores, not starting with a digit, up to 128 characters. Some names are set by the platform, and only three names that start with CORITAN_ are allowed (Names and values).
We count these requests over a rolling window. A request over a limit fails, and does not count towards it.
Requests
Most per window
Window
Counted for
Creating apps
20
1 hour
Your account, or the organization
Changes: every request that creates, changes, deploys or deletes
120
1 hour
Each person
Releases: deploy, rebuild, redeploy and roll back
30
10 minutes
Each app
Domain checks
30
10 minutes
Each app
Pushes that deploy
30
5 minutes
Each app
A request over a limit answers 429, with the length of the window in retry_after_seconds and in the Retry-After header:
JSON
{
"detail": {
"error": "rate_limited",
"message": "Too many releases of this app. Wait a few minutes.",
"retry_after_seconds": 600
}
}
The push webhook answers 429 in its own shape (The webhook's answers). Every API request also counts towards the limits for your account as a whole, which Rate limits describes.