# Bulk update user moderation states

Changes the moderation state for multiple users in a single optimized operation. Performs one bulk DB update, submits jobs in batches for users transitioning to or from SUSPENDED, and distributes updates without per-user queries.

RBAC: requires Users.Manage

Endpoint: POST /api/v1/admin/user/change-state-bulk
Version: 1.0
Security: header

## Request fields (application/json):

  - `newState` (string, required)
    New moderation state for the user(s).
    Enum: "REGULAR", "SENSITIVE", "LIMITED", "SUSPENDED"

  - `reportId` (string,null)
    Optional report ID if this action is in response to a moderation report.
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `reason` (string,null)
    Optional reason for the state change. Limited to 120 characters. Logged in audit trail.
    Example: "Violation of community guidelines - spam behavior"

  - `userIds` (array, required)
    List of user IDs to change state for. Must be valid USER TypeIds. Maximum 50.
    Example: ["us_01hxcvk1hjexere4pvtrj0ymqq"]

## Response 200 fields (application/json):

  - `totalRequested` (integer, required)
    Total number of user IDs requested

  - `totalUpdated` (integer, required)
    Total number of users updated in DB

  - `notFound` (array, required)
    User IDs that were not found or already deleted
    Example: ["us_01hxcvk1hjexere4pvtrj0ymqq"]

## Response 400 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation

## Response 404 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation


