Skip to content

Quota Profiles

Quota profiles are named, reusable sets of resource limits. A profile is created once and can be assigned to multiple users, making it easy to enforce consistent limits across a team or account without configuring each user individually.

A quota profile can be attached to four different objects that all influence a user’s effective limits:

Quota profiles relationship diagram

Assignment pointHow to set it
RoleAssign a profile to a role; every user with that role inherits its limits
Group MappingAssign a profile to an LDAP/SAML group mapping; matched users inherit its limits
AccountAssign a profile to an account; all users in that account inherit its limits
Parent AccountAssign a profile to a parent account; limits cascade down to all child accounts

When a user belongs to multiple objects that each carry a quota profile, the effective limits are computed as the most restrictive value across all applicable profiles. For example, if a user’s role allows 20 server groups but their account only allows 10, the effective limit is 10.

The /api/v2/users/{userId}/quota-limits-breakdown endpoint returns the full breakdown — effective limits alongside the contribution from each source — which is useful for debugging why a user is hitting a limit.

Navigate to Users & Permissions > Quota Profiles and click Add Quota Profile.

Fill in:

FieldDescription
NameHuman-readable name for the profile
DescriptionOptional description
LimitsThe resource limits included in this profile
Terminal window
curl -X POST "https://<your-server>/api/v2/quota-profiles" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <API_KEY>" \
-d '{
"name": "Standard User",
"description": "Default limits for standard users",
"limits": {
"infrastructureServerGroupMaxCount": 5,
"serverGroupInstancesMaxCount": 10,
"infrastructureVmInstanceGroupMaxCount": 3,
"allowedSites": ["site-a", "site-b"]
}
}'

The optional id field lets you set a custom string identifier (lowercase letters, digits, and hyphens). If omitted, an ID is generated automatically.

Terminal window
curl "https://<your-server>/api/v2/quota-profiles" \
-H "Authorization: Bearer <API_KEY>"
Terminal window
curl "https://<your-server>/api/v2/quota-profiles/{profileId}" \
-H "Authorization: Bearer <API_KEY>"
Terminal window
curl -X PATCH "https://<your-server>/api/v2/quota-profiles/{profileId}" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <API_KEY>" \
-d '{
"limits": {
"maxServers": 25
}
}'

Updating a profile immediately affects all users assigned to it.

Terminal window
curl -X DELETE "https://<your-server>/api/v2/quota-profiles/{profileId}" \
-H "Authorization: Bearer <API_KEY>"

To see the resolved limits for a specific user (taking into account their assigned profile and any overrides):

Terminal window
curl "https://<your-server>/api/v2/users/{userId}/quota-limits-breakdown" \
-H "Authorization: Bearer <API_KEY>"