---
title: "Endpoint for horde admins to perform operations on users"
method: PUT
path: "/v2/users/{user_id}"
tags: ["v2"]
---

# Endpoint for horde admins to perform operations on users

`PUT /v2/users/{user_id}`

## Headers

- `apikey` string, required
- `Client-Agent` string
- `X-Fields` string, mask

## Request body

- ModifyUserInput
  - `kudos` number — The amount of kudos to modify (can be negative).
  - `concurrency` integer — The amount of concurrent request this user can have.
  - `usage_multiplier` number — The amount by which to multiply the users kudos consumption.
  - `worker_invited` integer — Set to the amount of workers this user is allowed to join to the horde when in worker invite-only mode.
  - `moderator` boolean — Set to true to make this user a horde moderator.
  - `public_workers` boolean — Set to true to make this user display their worker IDs.
  - `monthly_kudos` integer — When specified, will start assigning the user monthly kudos, starting now!
  - `username` string — When specified, will change the username. No profanity allowed!
  - `trusted` boolean — When set to true,the user and their servers will not be affected by suspicion.
  - `flagged` boolean — When set to true, the user cannot tranfer kudos and all their workers are put into permanent maintenance.
  - `customizer` boolean — When set to true, the user will be able to serve custom Stable Diffusion models which do not exist in the Official AI Horde Model Reference.
  - `vpn` boolean — When set to true, the user will be able to onboard workers behind a VPN. This should be used as a temporary solution until the user is trusted.
  - `service` boolean — When set to true, the user is considered a service account proxying the requests for other users.
  - `education` boolean — When set to true, the user is considered an education account and some options become more restrictive.
  - `special` boolean — When set to true, The user can send special payloads.
  - `filtered` boolean — When set to true, the replacement filter will always be applied against this user
  - `reset_suspicion` boolean — Set the user's suspicion back to 0.
  - `contact` string — Contact details for the horde admins to reach the user in case of emergency. This is only visible to horde moderators.
  - `admin_comment` string — Add further information about this user for the other admins.

## Response `200`

Modify User

- ModifyUser
  - `new_kudos` number — The new total Kudos this user has after this request.
  - `concurrency` integer — The request concurrency this user has after this request.
  - `usage_multiplier` number — Multiplies the amount of kudos lost when generating images.
  - `worker_invited` integer — Whether this user has been invited to join a worker to the horde and how many of them. When 0, this user cannot add (new) workers to the horde.
  - `moderator` boolean — The user's new moderator status.
  - `public_workers` boolean — The user's new public_workers status.
  - `username` string — The user's new username.
  - `monthly_kudos` integer — The user's new monthly kudos total.
  - `trusted` boolean — The user's new trusted status.
  - `flagged` boolean — The user's new flagged status.
  - `customizer` boolean — The user's new customizer status.
  - `vpn` boolean — The user's new vpn status.
  - `service` boolean — The user's new service status.
  - `education` boolean — The user's new education status.
  - `special` boolean — The user's new special status.
  - `new_suspicion` integer — The user's new suspiciousness rating.
  - `contact` string — The new contact details.
  - `admin_comment` string — The new admin comment.

## Other responses

- `400` — Validation Error
- `401` — Invalid API Key
- `403` — Access Denied
- `404` — Worker Not Found

---

[API](https://skmtc.net/haidra-org/apis/ai-horde.md) · [All operations](https://skmtc.net/haidra-org/apis/ai-horde/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/haidra-org/ai-horde/versions/dfeb0bedd935/schema)
