> ## 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.

# 用户 ACU 上限

> 通过服务密钥 API 读取和设置用户级 ACU 上限覆盖。

<Info>
  本文档适用于 Devin 联邦部署。[返回 Devin 文档](/zh/get-started/devin-intro)
</Info>

读取和管理用户级 ACU 上限覆盖。用户级覆盖的优先级高于团队和组限额；有关生效上限的解析方式，请参阅 [ACU 限制](/zh/federal/acu-limits)。这些端点仅适用于多租户联邦部署。读取操作需要 **Teams Read-Only** 权限，写入操作需要 **Teams Update** 权限。

两个端点均通过 `user` 对象指定用户，该对象必须且只能包含以下其中一项：

<ParamField body="user.email" type="string">
  用户的电子邮件地址。
</ParamField>

<ParamField body="user.user_id" type="string">
  用户的稳定 ID，由 API 返回 (例如在[组成员](/zh/federal/api/group-management#list-group-members)或 [ACU 消耗](/zh/federal/api/acu-consumption)记录中) 。
</ParamField>

组作用域的服务密钥只能选择其分配组中的当前成员；其他用户会返回 `not_found`。有关身份验证和错误的信息，请参阅 [API 概述](/zh/federal/api/overview)。

两个端点返回的上限对象：

| 字段                           | 说明                                         |
| ---------------------------- | ------------------------------------------ |
| `user_id`                    | 用户的稳定 ID。                                  |
| `email`                      | 用户的电子邮件地址。                                 |
| `configured_cycle_acu_limit` | 直接设置的用户级覆盖 (如有) 。值为 `0` 表示该用户被阻止。未设置覆盖时省略。 |
| `effective_cycle_acu_limit`  | 结合用户级覆盖、团队和组限额后，实际对该用户执行的上限。未应用任何限制时省略。    |

***

<div id="get-a-users-acu-cap">
  ## 获取用户的 ACU 上限
</div>

```
POST /api/v1/GetUserAcuCap
```

```bash theme={null}
curl -X POST https://<your-server>/api/v1/GetUserAcuCap \
  -H "Content-Type: application/json" \
  -d '{
    "service_key": "your_service_key",
    "user": {"email": "dev@agency.gov"}
  }'
```

```json theme={null}
{
  "cap": {
    "userId": "user_abc",
    "email": "dev@agency.gov",
    "configuredCycleAcuLimit": 25,
    "effectiveCycleAcuLimit": 25
  }
}
```

<div id="set-or-clear-a-users-acu-cap">
  ## 设置或取消设置用户的 ACU 上限
</div>

```
POST /api/v1/UpdateUserAcuCap
```

必须且只能提供以下其中一项：

<ParamField body="set_cycle_acu_limit" type="number">
  设置用户每个周期的 ACU 覆盖限额。该值必须为非负数；`0` 表示阻止该用户消耗任何 ACU。
</ParamField>

<ParamField body="clear_cycle_acu_limit" type="boolean">
  移除用户的覆盖设置，使 Team 和组限额重新生效。
</ParamField>

```bash theme={null}
curl -X POST https://<your-server>/api/v1/UpdateUserAcuCap \
  -H "Content-Type: application/json" \
  -d '{
    "service_key": "your_service_key",
    "user": {"email": "dev@agency.gov"},
    "set_cycle_acu_limit": 25
  }'
```

响应中包含更新后的 `cap` 对象。

<Note>
  将用户的覆盖值设为 `0` 会**阻止**该用户。服务密钥组 API 不接受组上限为零：`set_cycle_acu_limit` 必须为正数，而 `clear_cycle_acu_limit` 会移除组覆盖设置。门户中独立的组上限操作会将 `0` 视为清除操作。请参阅[零值和未设置值](/zh/federal/acu-limits#zero-and-unset-values)。
</Note>
