# Update user

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).

Endpoint: PUT /users/{userId}
Version: 2.0.0
Security: APIToken, OAuth2

## Header parameters:

  - `Authorization` (string)
    API Access Token used to authenticate requests to Smartsheet APIs.

  - `smartsheet-integration-source` (string)
    Uses the following metadata to distinguish between human-initiated API requests and third-party service-initiated calls by AI Connectors or ITSM:

- Integration source type
- Organization name
- Integration source name 

Format:


TYPE,OrgName,SourceName


Examples: 

AI,SampleOrg,My-AI-Connector-v2

SCRIPT,SampleOrg2,Accounting-updater-script

APPLICATION,SampleOrg3,SheetUpdater
    Example: "AI,SampleOrg,My-AI-Connector-v2"

## Path parameters:

  - `userId` (number, required)
    ID of the user being accessed.

## Request fields (application/json):

  - `admin` (boolean)
    Indicates whether the user is a system admin (can manage user accounts and organization account).
    Example: true

  - `licensedSheetCreator` (boolean)
    Indicates whether the user is a licensed user (can create and own sheets).
    Example: true

  - `firstName` (string)
    User's first name.
    Example: "Jane"

  - `lastName` (string)
    User's last name.
    Example: "Doe"

  - `groupAdmin` (boolean)
    Indicates whether the user is a group admin (can create and edit groups).
    Example: true

  - `resourceViewer` (boolean)
    Indicates whether the user is a resource viewer (can access resource views).
    Example: true

## Response 200 fields (application/json):

  - `message` (string)
    Message that indicates the outcome of the request. (One of SUCCESS or PARTIAL_SUCCESS.)
    Enum: "PARTIAL_SUCCESS", "SUCCESS"

  - `resultCode` (number)
    * '0' Success
* '3' Partial Success of Bulk Operation
    Enum: 0, 3

  - `data` (array)
    Updated User Properties

  - `data.email` (string)
    User's primary email address.
    Example: "jane.doe@smartsheet.com"

  - `data.name` (string)
    User's full name (read-only).
    Example: "Jane Doe"

  - `data.firstName` (string)
    User's first name.
    Example: "Jane"

  - `data.lastName` (string)
    User's last name.
    Example: "Doe"

  - `data.profileImage` (object)

  - `data.profileImage.imageId` (string)
    Unique image ID.
    Example: "u!1!nAtdn5RJB_o!k6_e_3h2R3w!wmYXPek-yVD"

  - `data.profileImage.height` (integer)
    Image height.
    Example: 1050

  - `data.profileImage.width` (integer)
    Image width.
    Example: 1050

  - `data.id` (number)
    User ID.
    Example: 48569348493401200

## Response 400 fields (application/json):

  - `errorCode` (any)
    Example: 2109

  - `message` (any)
    Example: "User subscription updates (upgrade/downgrade) cannot be performed through this method. Please use the bulk upgrade/downgrade API."

## Response 403 fields (application/json):

  - `errorCode` (any)
    Example: 1102

  - `message` (any)
    Example: "A user must be a licensed sheet creator to be a group administrator."

## Response default fields (application/json):

  - `refId` (string)
    The ID of the specific error occurrence. Please include this information when contacting Smartsheet support.

  - `errorCode` (number)
    Custom error code from Smartsheet. See the complete [Error Code List](/api/smartsheet/error-codes).

  - `message` (string)
    Descriptive error message.


