User-level limits are in beta and require the feature to be enabled for your enterprise. To enable this feature, reach out to your account team.
- Users get into tiers three ways: an admin explicitly assigns them, an IdP group mapping places them (a group maps to a tier, and its members inherit that tier unless explicitly assigned elsewhere), or they fall back to the default tier. Every account can designate one tier as the default tier; every account member not otherwise assigned belongs to it. There is no separate “default user limit” — configure the default tier instead.
- Individual users can have an override — either permanent (never expires) or temporary (expires at the end of the current monthly billing window). Overrides are user-scoped: setting one never changes the user’s tier assignment.
- A user’s effective limit resolves in this order: permanent override, else a live temporary override, else their explicitly assigned tier’s
cycle_acu_limit, else their highest-ranked IdP-group-mapped tier’s limit, else the default tier’s limit. Anulllimit means uncapped. - Users can ask for a higher limit; admins review these limit-increase requests, and each tier’s
policycontrols whether requests are auto-approved or held for manual review.
PATCH semantics shared by all endpoints on this page.
Tier endpoints
List tiers
priority first, newest tier first within a priority. Each tier looks like:
is_default: whether this is the account’s default tier.cycle_acu_limit: the default per-cycle ACU limit for each member;nullmeans uncapped.policy: how limit-increase requests against the tier are handled —unconditionalandconditionalapprove up tomax_limit,manualrequires admin review. Theconditionalpolicy (efficiency-based auto-approval) requires separate enablement; reach out to your account team.max_limit: the maximum limit to which increase requests are approved;nullapproves without a ceiling. Alwaysnullwhencycle_acu_limitisnull.priority: ranks the tier among a user’s IdP-group-mapped tiers — the highest value wins, ties broken by newest tier. The ranking is precedence only: a higher-priority tier may have a lowercycle_acu_limit. An explicit user assignment overrides the ranking, and the default tier never ranks.member_count: the number of users currently in the tier — explicitly assigned users plus users placed by an IdP group mapping. For the default tier this counts every account member not in another tier.
Configure the default tier and tier priority from the web app under Usage policies.
Create a tier
201 with the created tier.
Get a tier
Update a tier
Delete a tier
204 on success. The default tier cannot be deleted (promote another tier first). A tier that still has users must have them moved first, and any IdP group mappings to the tier must be removed first.
Tier user endpoints
List a tier’s users
cycle_acu_limit_override: the user’s permanent override, if any.temporary_cycle_acu_limit: the user’s temporary override, present only while it is live in the current monthly billing window.effective_cycle_acu_limit: the limit currently enforced for the user;nullmeans uncapped.limit_source: where the effective limit comes from —override(permanent),temporary_override, ortier.membership: why the user is in the tier —explicit(directly assigned),idp_group(via their winning IdP group mapping), ordefault(fallback to the default tier).
Assign a user to a tier
204 on success. Moving a user from another tier clears any per-user override, so they start out inheriting the destination tier’s limit.
Remove a user from a tier
204 on success.
User override endpoint
Set or clear a user’s override
kind is required when setting a value: permanent never expires; temporary expires at the end of the current monthly billing window.
Request body — clear all overrides
204 on success.
IdP group endpoints
Map an IdP group to a tier so its members inherit that tier automatically. Mappings are resolved live from group membership and never change a user’s explicit tier assignment — an explicit assignment always wins. A user in several mapped groups resolves to the highest-ranked mapped tier (highest tierpriority, ties broken by newest tier).
List IdP group mappings
?tier_id= to list only groups mapped to one tier:
Get an IdP group’s mapping
404 if the group has no mapping.
Map an IdP group to a tier
Unmap an IdP group
204 on success. The mapped tier stops applying to the group’s members; users with no explicit assignment and no other mapped tier fall back to the default tier.
Limit-increase request endpoints
Users can request a higher per-cycle limit. The requester’s tierpolicy decides what happens: unconditional and conditional auto-approve up to the tier’s max_limit, while manual holds the request for admin review through these endpoints (or in Usage policies in the web app).
Unlike the other endpoints on this page, reading limit-increase requests requires the ManageBilling permission — requests carry member identity and free-text messages, which are admin workflow data.
List limit-increase requests
?status= (pending, approved, denied) and ?user_id=:
tier_id/tier_name: the requester’s tier (explicit assignment, IdP group mapping, or the default tier);nullwhen the account has no tiers.current_cycle_acu_limit: the limit currently enforced for the requester;nullmeans uncapped.reviewer: the admin who reviewed the request;nullwhile pending.
Get a limit-increase request
Approve a limit-increase request
409 if the request was already reviewed or the requester is no longer an account member.
Deny a limit-increase request
409 if it was already reviewed.
Example workflows
Set up tiers with a default limit
Create a default tier so every user gets a 500 ACU monthly cap:Frequently asked questions
Which products do user-level limits apply to?
Which products do user-level limits apply to?
Local and cloud usage: cloud Devin sessions plus local usage from the CLI and IDEs (Devin Desktop, Windsurf JetBrains, and Devin CLI) count against a single cap.
How is a user's effective limit determined?
How is a user's effective limit determined?
A permanent override wins first, then a live temporary override, then the user’s explicitly assigned tier’s limit, then their highest-ranked IdP-group-mapped tier’s limit, then the default tier’s limit. A
null limit at every level means the user is uncapped.Do user overrides add to the tier limit?
Do user overrides add to the tier limit?
No. An override replaces the tier limit for that user. If the tier limit is 500 ACUs and a user has an override of 200 ACUs, that user’s effective limit is 200 ACUs.
What is the difference between a permanent and a temporary override?
What is the difference between a permanent and a temporary override?
A permanent override never expires. A temporary override expires at the end of the current monthly billing window, after which the user falls back to their tier’s limit. Approving a limit-increase request grants a temporary override.
Is there still a default user limit?
Is there still a default user limit?
Not as a standalone setting. Configure the default tier’s limit instead — it applies to every account member not assigned to another tier. The legacy default user limit endpoints now read and write the default tier’s limit.
What happens when someone reaches their limit?
What happens when someone reaches their limit?
New work is blocked on local and cloud surfaces alike. The user can contact an enterprise administrator to adjust the limit or wait until the next monthly window begins.

