---
title: "Update user"
method: PATCH
path: "/v1/businesses/{client_id}/users/{user_id}"
tags: ["Users"]
---

# Update user

`PATCH /v1/businesses/{client_id}/users/{user_id}`

Update role, payment types, and/or delegation settings for an active employee.
All fields in the request body are optional.

## Path parameters

- `client_id` integer, required
- `user_id` integer, required

## Request body

- UserUpdate — Fields that may be updated on an active employee. All optional.
  - `role_id` string, uuid — The role to assign to the user. Must belong to the same business.
  - `payment_types` PaymentType[] — The payment types the user can transact with.
  - `out_of_office_mode` boolean — Whether the user is out of office. When true, both start and end dates are required.
  - `out_of_office_start_date` string, date — First day of the out-of-office period (inclusive).
  - `out_of_office_end_date` string, date — Last day of the out-of-office period (inclusive). Must be on or after the start date.
  - `delegate_approver` integer, nullable — The user ID to delegate approvals to while out of office. Must belong to the same business and have no overlapping out-of-office period.
  - `expense_delegate` integer[] — Replaces the user's full set of expense assistants with these user IDs. A user can have at most 3 expense assistants. Each ID must belong to the same business, must be a different user (a user cannot be their own expense assistant), and must not be repeated. Expense assistants cannot be chained. A user who is themselves an expense assistant cannot be given assistants, and a user who already has assistants cannot be assigned as one. Omit this field to leave the current assistants unchanged, or send an empty array to remove them all.

## Response `200`

OK

- User
  - `id` integer — The ID of the user.
  - `first_name` string — The first name of the user.
  - `last_name` string — The last name of the user.
  - `name` string — The full name of the user or the display name if the user has set one.
  - `email` string, email — The email of the user.
  - `role` string — The role of the user.
  - `role_id` string, uuid — The ID of the user's role.
  - `is_deleted` boolean — Whether the user is deleted.
  - `created` string, date-time — The date and time when the user was created in UTC.
  - `updated` string, date-time — The date and time when the user was last updated in UTC.
  - `payment_types` PaymentType[] — The payment types the user can transact with.
  - `out_of_office_mode` boolean — Whether the user is out of office.
  - `out_of_office_start_date` string, date, nullable — First day of the out-of-office period (inclusive).
  - `out_of_office_end_date` string, date, nullable — Last day of the out-of-office period (inclusive).
  - `delegate_approver` integer, nullable — The user ID to delegate approvals to while out of office.
  - `expense_delegate` integer[], nullable — The user IDs of this user's expense assistants (who can act on their expenses). Null if the business does not have the expense assistant feature.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/letsweel/apis/weel-openapi.md) · [All operations](https://skmtc.net/letsweel/apis/weel-openapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/letsweel/weel-openapi/revisions/55da5fa350fb/schema)
