## Bulk update admin workload state

**patch** `/v2/admins/bulk`

Atomically updates away state or assignment limits for up to 50 admins. One request performs one operation type. Assignment-limit operations require an explicit paused value.

### Header Parameters

- `"Featurebase-Version": optional "2026-08-19.orbit" or "2026-01-01.nova" or "2025-12-12.clover"`

  - `"2026-08-19.orbit"`

  - `"2026-01-01.nova"`

  - `"2025-12-12.clover"`

### Body Parameters

- `body: object { adminIds, enabled, operation, 2 more }  or object { adminIds, operation, paused, 2 more }`

  - `object { adminIds, enabled, operation, 2 more }`

    - `adminIds: array of string`

    - `enabled: boolean`

    - `operation: "away"`

      - `"away"`

    - `awayReasonId: optional string`

    - `reassignReplies: optional boolean`

  - `object { adminIds, operation, paused, 2 more }`

    - `adminIds: array of string`

    - `operation: "assignment_limit"`

      - `"assignment_limit"`

    - `paused: boolean`

    - `limit: optional number`

    - `mode: optional "inherit" or "custom" or "unlimited"`

      - `"inherit"`

      - `"custom"`

      - `"unlimited"`

### Returns

- `data: array of object { adminId, assignmentLimit, availability, object }`

  - `adminId: string`

  - `assignmentLimit: AssignmentLimit`

    - `adminId: string`

    - `effectiveLimit: number`

    - `limit: number`

    - `mode: "inherit" or "custom" or "unlimited"`

      - `"inherit"`

      - `"custom"`

      - `"unlimited"`

    - `object: "assignment_limit"`

      - `"assignment_limit"`

    - `paused: boolean`

  - `availability: AdminAvailability`

    - `adminId: string`

    - `automatic: boolean`

    - `away: boolean`

    - `changedAt: string`

    - `lastActiveAt: string`

    - `object: "admin_availability"`

      - `"admin_availability"`

    - `reason: object { id, label }`

      - `id: string`

      - `label: string`

    - `reassignReplies: boolean`

  - `object: "admin_workload_state"`

    - `"admin_workload_state"`

- `object: "bulk_result"`

  - `"bulk_result"`

- `operation: "away" or "assignment_limit"`

  - `"away"`

  - `"assignment_limit"`

- `updatedCount: number`

### Example

```http
curl https://do.featurebase.app/v2/admins/bulk \
    -X PATCH \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $FEATUREBASE_API_KEY" \
    -d '{
          "adminIds": [
            "string"
          ],
          "enabled": true,
          "operation": "away"
        }'
```

#### Response

```json
{
  "data": [
    {
      "adminId": "adminId",
      "assignmentLimit": {
        "adminId": "adminId",
        "effectiveLimit": 0,
        "limit": 0,
        "mode": "inherit",
        "object": "assignment_limit",
        "paused": true
      },
      "availability": {
        "adminId": "adminId",
        "automatic": true,
        "away": true,
        "changedAt": "2019-12-27T18:11:19.117Z",
        "lastActiveAt": "2019-12-27T18:11:19.117Z",
        "object": "admin_availability",
        "reason": {
          "id": "id",
          "label": "label"
        },
        "reassignReplies": true
      },
      "object": "admin_workload_state"
    }
  ],
  "object": "bulk_result",
  "operation": "away",
  "updatedCount": 0
}
```
