---
title: "Update user"
method: PUT
path: "/users/{userId}"
tags: ["users"]
---

# Update user

`PUT /users/{userId}`

Updates attributes of the specified user.

> **Who can use this operation?**
> 
> **Permissions:** System Admin. To modify a user who belongs to a **user model organization**, you must also be a member of that same organization.

**Licensed sheet creator constraints**

- **On the user model**, you can only update `licensedSheetCreator` for a **System Admin** user (`admin: true`). 
- You can't revoke the licensed sheet creator status (that is, set `licensedSheetCreator` to `false`) for a user who is either a **Group Admin** (`groupAdmin: true`) or a **Resource Viewer** (`resourceViewer: true`).

## Request body

- UserUpdate — Updates User for the following attributes: * **admin** (required). * **licensedSheetCreator** (required). * **firstName** (optional). * **groupAdmin** (optional). * **lastName** (optional). * **resourceViewer** (optional).
  - `admin` boolean — Indicates whether the user is a system admin (can manage user accounts and organization account).
  - `licensedSheetCreator` boolean — Indicates whether the user is a licensed user (can create and own sheets).
  - `firstName` string — User's first name.
  - `lastName` string — User's last name.
  - `groupAdmin` boolean — Indicates whether the user is a group admin (can create and edit groups).
  - `resourceViewer` boolean — Indicates whether the user is a resource viewer (can access resource views).

## Response `200`

Result object containing the [User object](/api/smartsheet/openapi/users/user) for the updated user.

- object
  - `message` 'PARTIAL_SUCCESS' | 'SUCCESS' — Message that indicates the outcome of the request. (One of `SUCCESS` or `PARTIAL_SUCCESS`.)
  - `resultCode` 0 | 3 — * '0' Success * '3' Partial Success of Bulk Operation
  - `data` UserProfileImageResponse[] — Updated User Properties
    - `email` string, email — User's primary email address.
    - `name` string — User's full name (read-only).
    - `firstName` string — User's first name.
    - `lastName` string — User's last name.
    - `profileImage` ProfileImage
      - `imageId` string — Unique image ID.
      - `height` integer — Image height.
      - `width` integer — Image width.
    - `id` number — User ID.

## Other responses

- `400` — This can be caused by the following situation: Updating the license status (that is, updating the `licensedSheetCreator` attribute) of a non-System Admin user. ```json { "errorCode": 2109, "message": "User subscription updates (upgrade/downgrade) cannot be performed through this method. Please use the bulk upgrade/downgrade API." } ```
- `403` — This can be caused by the following situations: - Setting `licensedSheetCreator` to `false` for a Group Administrator. Example response: ```json { "errorCode": 1102, "message": "A user must be a licensed sheet creator to be a group administrator." } ``` - Setting `licensedSheetCreator` to `false` for a Resource Viewer. Example response: ```json { "errorCode": 1097 "message": "A user must be a licensed sheet creator to be a resource viewer." } ```
- `default` — Generic Error Payload

---

[API](https://skmtc.net/smartsheet/apis/smartsheet-openapi-reference.md) · [All operations](https://skmtc.net/smartsheet/apis/smartsheet-openapi-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/smartsheet/smartsheet-openapi-reference/versions/b4afda95fb51/schema)
