---
title: "Update an existing user."
method: PUT
path: "/api/v1/users"
tags: ["Users"]
---

# Update an existing user.

`PUT /api/v1/users`

Updates an existing user's information including personal details, roles, and account settings. Only admin users or users with appropriate portlet access can perform this operation.

## Request body

- UserForm
  - `userId` string
  - `active` boolean
  - `firstName` string, required
  - `middleName` string
  - `lastName` string, required
  - `nickName` string
  - `email` string, required
  - `male` boolean
  - `birthday` string
  - `languageId` string
  - `timeZoneId` string
  - `password` string[]
  - `additionalInfo` object
  - `roles` string[]

## Response `200`

If success returns a map with the user + user id.

- ResponseEntityUserUpdateView
  - `errors` ErrorEntity[]
    - `errorCode` string
    - `message` string
    - `fieldName` string
  - `entity` object
  - `messages` MessageEntity[]
    - `message` string
  - `i18nMessagesMap` object
  - `permissions` string[]
  - `pagination` Pagination
    - `currentPage` integer
    - `perPage` integer
    - `totalEntries` integer

## Other responses

- `400` — If the user information is not valid
- `403` — If the user is not an admin or access to the role + user layouts or does have permission, it will return a 403.
- `404` — If the user to update does not exist

---

[API](https://skmtc.dev/jostens/apis/dotcms-rest-api.md) · [All operations](https://skmtc.dev/jostens/apis/dotcms-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/jostens/dotcms-rest-api/revisions/a088fe9f515c/schema)
