---
title: "Update a user"
method: PATCH
path: "/users/{id}"
tags: ["users"]
---

# Update a user

`PATCH /users/{id}`

Updates a client user by ID.

## Path parameters

- `id` string, cuid, required — The ID of the item

## Headers

- `x-client-id` string, cuid, required — The ID of the client

## Request body

- ClientUserUpdate
  - `role` 'admin' | 'user', required — Role to assign to the invited user. Can be 'admin', 'user'.

## Response `200`

User updated

- ClientUser
  - `id` string, cuid, required — Identifier of the client user.
  - `createdAt` string, date-time, required — The date and time when the client user record was created. ISO-8601 format (YYYY-MM-DDTHH:MM:SSZ).
  - `email` string, email, required — Email address of the client user.
  - `firstName` string, nullable, required — First name of the client user, if provided.
  - `lastName` string, nullable, required — Last name of the client user, if provided.
  - `roles` string[], required — List of role names assigned to the user.

## Other responses

- `401` — Unauthorized
- `404` — User or role not found
- `422` — The validation error(s)
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.net/steuerboard/apis/steuerboard-api.md) · [All operations](https://skmtc.net/steuerboard/apis/steuerboard-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/steuerboard/steuerboard-api/versions/9170dd572b31/schema)
