Limits and quotas
This page centralizes known Zenifra operational limits. Some limits depend on the plan, organization, project type, or current commercial conditions in the console.
Zenifra API
| Resource | Current limit |
|---|---|
| General project API rate limit | 100 requests per minute per project |
| Error when exceeded | 429 Too Many Requests |
| Authentication | x-api-key header |
For higher-volume automations, contact support before increasing call frequency.
Environment variables
| Resource | Current limit |
|---|---|
| Variables per project through API | 50 |
| Maximum name length | 120 characters |
| Maximum value length | 32760 characters |
Use variables only for configuration and secrets. Large files, long certificates, or large lists should be handled through another application configuration mechanism.
HTTP projects
| Resource | Limit or rule |
|---|---|
| Default HTTP instances | up to 10 instances per project |
| Automatic scaling | not available as a current capability |
| Port | manually configured in the project |
| Default URL | *.clients.zenifra.com |
| Logs | available according to plan |
| HTTP metrics | logs, CPU, RAM, storage, and HTTP requests according to plan |
For more than 10 instances or specific traffic needs, contact support before sizing the application.
Deployment and image
| Resource | Rule |
|---|---|
| GitHub source | branch, runtime, runtime version, and auto-deploy defined during creation |
| OCI source | project remains OCI after creation |
| Public image | does not require authentication |
| Private image | can use AWS ECR or registry user and token/password |
| OCI authentication type | not available for editing after creation |
Use image tags that identify version, commit, or release. Avoid relying on latest in production.
Databases
| Resource | Limit or rule |
|---|---|
| PostgreSQL | 1 to 3 total instances |
| MariaDB | 3 instances |
| Version downgrade | not supported |
| Storage | can increase, but not decrease |
DATABASE_URL | not injected automatically into HTTP projects |
| Database metrics | CPU, RAM, and storage on Premium+ plans |
Version upgrades and storage increases can cause temporary unavailability. Run these changes during low-usage windows.
Observability
| Resource | Current behavior |
|---|---|
| HTTP logs | update in up to 60 seconds |
| Resource metrics | update in up to 5 minutes |
| View | by instance when applicable |
| HTTP request metrics | volume, network traffic, status distribution, routes, user agents, and P95 latency when available according to plan |
| Per-application uptime | not currently available as a documented capability |
See Observability for details by project type.
AI
| Resource | Rule |
|---|---|
| API | compatible with OpenAI-compatible clients |
| AI key | created in the console with budget and allowed models |
| Billing | by tokens, using account balance first |
| Available models | check the console |
| Cost limit | defined by key budget |
If a key exceeds its budget or tries to use a model that is not allowed, the application should handle the API error and guide the user to review the key in the console.
What depends on plan or support
These limits can vary and should be confirmed in the console or with support:
- CPU and RAM per plan
- included or billed storage
- custom domain
- log retention
- maximum OCI image size
- build limits
- HTTP request timeout
- maximum projects per organization
- maximum keys per resource
Next steps
FAQ
Can I request higher limits?
Yes. For operational limits such as instances, traffic, API, or business usage, contact support before depending on the increase in production.
Does this page replace the console?
No. The console remains the source for plans, available resources, and current commercial conditions.
What happens if I exceed the rate limit?
The API returns 429 Too Many Requests. The application should apply backoff, reduce frequency, or request a limit increase.