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

# ユーザー ACU 上限

> サービスキー API を使用して、ユーザーごとの ACU 上限オーバーライドを確認・設定します。

<Info>
  このドキュメントは Devin の連邦政府向け導入環境用です。[Devin Docs に戻る](/ja/get-started/devin-intro)
</Info>

ユーザーごとの ACU 上限オーバーライドを確認・管理します。ユーザーオーバーライドはチームおよびグループの上限より優先されます。有効な上限の決定方法については、[ACU 上限](/ja/federal/acu-limits)を参照してください。これらのエンドポイントは、マルチテナントの連邦政府向け導入環境でのみ利用できます。読み取りには **Teams Read-Only**、書き込みには **Teams Update** を使用します。

両方のエンドポイントでは、次のいずれか 1 つのみを含む `user` オブジェクトでユーザーを指定します。

<ParamField body="user.email" type="string">
  ユーザーのメールアドレス。
</ParamField>

<ParamField body="user.user_id" type="string">
  API から返されるユーザーの永続 ID (たとえば、[グループメンバー](/ja/federal/api/group-management#list-group-members)または [ACU消費量](/ja/federal/api/acu-consumption) の行) 。
</ParamField>

グループスコープのサービスキーでは、割り当て先グループの現在のメンバーのみを指定できます。その他のユーザーを指定すると `not_found` が返されます。認証とエラーについては、[API の概要](/ja/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
```

次のいずれか1つを必ず指定してください。

<ParamField body="set_cycle_acu_limit" type="number">
  ユーザーごとの1サイクルあたりのACU上限のオーバーライドを指定します。0以上である必要があります。`0` を指定すると、ユーザーはACUを一切消費できなくなります。
</ParamField>

<ParamField body="clear_cycle_acu_limit" type="boolean">
  ユーザーのオーバーライドを削除し、チームおよびグループの上限が再び適用されるようにします。
</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` はクリアとして扱われます。[ゼロ値と未設定値](/ja/federal/acu-limits#zero-and-unset-values)を参照してください。
</Note>
