API Limits

FoxNose subscriptions define how many resources you can create per organization. The limits below are enforced by the Management API when you create or update data. If you are unsure which values apply to your workspace, call GET /organizations/{org_key}/plan/ to view the current plan or GET /organizations/{org_key}/usage/ to inspect live counters.


Organization-Level Quotas

These limits are stored on your plan. Before a create request succeeds, the API checks the plan value for that entity and rejects the call once the quota is reached.

ResourceScopeHow the limit works
ProjectsTotal projects owned by the organizationEach plan defines how many projects you can create. Once that number is reached, project creation requests return plan_limit_exceeded.
EnvironmentsAll environments across the organizationEach environment creation checks the plan-specified allowance. When the counter reaches the plan value, creation requests return plan_limit_exceeded.
ComponentsReusable component schemas defined in any environmentComponent creation stops when the plan’s component quota is reached.
FoldersCollection or component folders across every environmentFolder creation checks the plan limit before persisting the folder; attempts beyond the plan quota are rejected.
ResourcesContent entries stored in any folderResource creation is blocked when the organization’s resource count reaches the plan limit.

If you reach one of these limits, the API returns a 429 response with error_code: plan_limit_exceeded. The detail object specifies the entity, current count, and allowed maximum:

Plan limit exceeded

{
  "message": "Plan limit exceeded",
  "error_code": "plan_limit_exceeded",
  "detail": {
    "entity": "resources",
    "current": 5000,
    "limit": 5000
  }
}

detail.entity can be one of: projects, environments, folders, resources, or components.


Environment-Level Limits

Some entities are scoped to a single environment. They use global technical caps unless your plan sets a different value.

ResourceHow the cap is enforced
LocalesEach environment has a limited number of locales defined by its plan. Adding another locale after hitting the quota returns too_many_locales (HTTP 422).
Manage API keysBoth secure and simple keys count toward the plan’s API-key quota for the environment. Creating more than the allowance raises too_many_manage_api_keys.
Flux API keysShares the same quota model as Manage API keys; additional keys raise too_many_flux_api_keys.
Manage API rolesEnvironments can only store a finite number of roles. Exceeding the plan allowance returns too_many_manage_roles.
Flux API rolesFlux roles follow the same quota logic; exceeding the plan allowance returns too_many_flux_roles.
Flux APIsEach environment can expose a limited number of delivery APIs. Once the cap is reached, creation returns too_many_apis.
Environment togglingEnabling or disabling an environment requires a five-minute (300 second) pause between changes. Toggling sooner results in environment_toggle_error.

Object-Level Permissions

When you assign object-level permissions to a role (for example, restricting access to specific folders), each role can list at most 50 object IDs. This is a fixed technical limit that prevents slow permission lookups.


Schema Limits

LimitValueApplies to
Schema versions10 versions per collection model or component schemaCopying or creating versions beyond this number returns too_many_versions.
Fields per version50 fields (including nested ones)Creating a field beyond the cap returns too_many_fields.
Component inheritance depth2 levels by defaultPlans can raise or lower this value. Publishing nested components beyond the permitted depth fails validation.

Was this page helpful?