> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Legacy user ACU limit endpoints

> Deprecated per-user and default user limit endpoints, superseded by tiers

<Warning>
  **Deprecated.** These endpoints predate [tiers](/admin/billing/user-acu-limits) and their naming is misleading: despite the `local_agent` field name, the limit they manage is **no longer Local Agent-only** — it is the user's account-wide ACU limit across cloud Devin sessions and Local Agent products alike. Prefer the [usage-policies endpoints](/admin/billing/user-acu-limits#tier-endpoints).
</Warning>

Migration guide:

* Setting `cycle_acu_limit` on the [user endpoints](#user-endpoints) is equivalent to setting a **permanent override** through the [user override endpoint](/admin/billing/user-acu-limits#user-override-endpoint).
* The [default user limit endpoints](#default-user-limit-endpoints) now read and write the **default tier's** `cycle_acu_limit` — there is no longer a standalone default user limit.
* The `billing_org_id` field on the user endpoints is **not deprecated**: it is still how [billing organization attribution](/admin/billing/org-acu-limits#billing-organization-attribution) for organization-level Local Agent limits is assigned.

See [ACU limits](/admin/billing/acu-limits) for authentication, permissions, and `PATCH` semantics shared by all endpoints on this page.

## User endpoints

### Get a user's ACU settings

```http theme={null}
GET /v3beta1/enterprise/users/{user_id}/consumption/acu-limits
```

**Response body**

```json theme={null}
{
  "local_agent": {
    "cycle_acu_limit": 1000,
    "billing_org_id": "org-xyz789"
  }
}
```

The `local_agent` block is omitted when the user has neither an explicit limit override nor a billing organization attribution. Fields inside the block are omitted when unset.

This response contains only the user's permanent override, not their effective limit. To determine effective limits, use the [tier user endpoints](/admin/billing/user-acu-limits#tier-user-endpoints).

### Update a user's ACU settings

```http theme={null}
PATCH /v3beta1/enterprise/users/{user_id}/consumption/acu-limits
```

Setting `cycle_acu_limit` here sets a permanent override without changing the user's tier assignment.

**Request body — set a permanent override and billing organization**

```json theme={null}
{
  "local_agent": {
    "cycle_acu_limit": 1000,
    "billing_org_id": "org-xyz789"
  }
}
```

**Request body — clear only the billing organization assignment**

```json theme={null}
{
  "local_agent": {
    "billing_org_id": null
  }
}
```

**Request body — clear all user settings**

```json theme={null}
{
  "local_agent": null
}
```

The endpoint returns HTTP `204` on success.

### Delete a user's ACU settings

This clears the user's permanent limit override and billing organization attribution.

```http theme={null}
DELETE /v3beta1/enterprise/users/{user_id}/consumption/acu-limits
```

The endpoint returns HTTP `204` on success.

## Default user limit endpoints

### Get the default user limit

```http theme={null}
GET /v3beta1/enterprise/users/consumption/acu-limits
```

**Response body**

```json theme={null}
{
  "local_agent": {
    "cycle_acu_limit": 500
  }
}
```

The `local_agent` block is omitted when the default tier has no limit set.

### Update the default user limit

```http theme={null}
PATCH /v3beta1/enterprise/users/consumption/acu-limits
```

**Request body — set the default tier's limit**

```json theme={null}
{
  "local_agent": {
    "cycle_acu_limit": 500
  }
}
```

**Request body — clear the default tier's limit**

Set `local_agent` to `null`:

```json theme={null}
{
  "local_agent": null
}
```

The endpoint returns HTTP `204` on success.

### Delete the default user limit

Clears the default tier's limit.

```http theme={null}
DELETE /v3beta1/enterprise/users/consumption/acu-limits
```

The endpoint returns HTTP `204` on success.
