---
title: "PATCH /api/users/{user}"
method: PATCH
path: "/api/users/{user}"
tags: ["UserService"]
---

# PATCH /api/users/{user}

`PATCH /api/users/{user}`

## Request

- The document declares no server URL.
- Auth: none declared

UpdateUser updates a user. Users may update themselves; admins may update
 anyone. Changing the password ends the user's other sessions.

## Path parameters

- `user` string, required

## Query parameters

- `updateMask` string, field-mask
- `allowMissing` boolean

## Request body

- User: User is an account on the instance.
  - `name` string: Identifier. The resource name of the user. {user} is the username. Format: users/{user}
  - `username` string, required: Required. The unique username, used to sign in.
  - `displayName` string: Optional. The display name of the user.
  - `email` string: Optional. The email address of the user. Stored trimmed and lowercased; empty means no address. An address belongs to at most one user on the instance, so writes that would reuse one fail with ALREADY_EXISTS. Returned only to the user and to admins.
  - `avatarUrl` string: Optional. The avatar URL of the user. An avatar set as a data URI (PNG, JPEG, GIF or WebP, at most 2 MiB) is returned as a file server URL.
  - `description` string: Optional. The description of the user.
  - `password` string: Input only. The password of the user. Never returned.
  - `role` 'ROLE_UNSPECIFIED' | 'ADMIN' | 'USER', enum, required: Required. The role of the user. Only admins can change it.
  - `state` 'STATE_UNSPECIFIED' | 'NORMAL' | 'ARCHIVED', enum, required: Required. The state of the user. Only admins can change it.
  - `createTime` string, date-time: Output only. The creation timestamp.
  - `updateTime` string, date-time: Output only. The last update timestamp.

## Response `200`

OK

- User: User is an account on the instance.
  - `name` string: Identifier. The resource name of the user. {user} is the username. Format: users/{user}
  - `username` string, required: Required. The unique username, used to sign in.
  - `displayName` string: Optional. The display name of the user.
  - `email` string: Optional. The email address of the user. Stored trimmed and lowercased; empty means no address. An address belongs to at most one user on the instance, so writes that would reuse one fail with ALREADY_EXISTS. Returned only to the user and to admins.
  - `avatarUrl` string: Optional. The avatar URL of the user. An avatar set as a data URI (PNG, JPEG, GIF or WebP, at most 2 MiB) is returned as a file server URL.
  - `description` string: Optional. The description of the user.
  - `password` string: Input only. The password of the user. Never returned.
  - `role` 'ROLE_UNSPECIFIED' | 'ADMIN' | 'USER', enum, required: Required. The role of the user. Only admins can change it.
  - `state` 'STATE_UNSPECIFIED' | 'NORMAL' | 'ARCHIVED', enum, required: Required. The state of the user. Only admins can change it.
  - `createTime` string, date-time: Output only. The creation timestamp.
  - `updateTime` string, date-time: Output only. The last update timestamp.

## Other responses

- `default`: Default error response

## Changes

- **2026-10-08** `1846a777b0ef`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/usememos/apis/untitled-api/changes/api/users/:user/patch.md)

---

[API](https://skmtc.dev/usememos/apis/untitled-api.md) - [All operations](https://skmtc.dev/usememos/apis/untitled-api/llms.txt) - [OpenAPI document](https://skmtc.dev/usememos/apis/untitled-api/revisions/f587355e35b4?raw)
