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

# Update user

`PUT /users/{user_id}`

Updates the matching user.

## Request body

- User
  - `id` integer — Unique identifier for the resource instance.
  - `first_name` string — First name.
  - `last_name` string — Surname.
  - `display_name` string — Display name.
  - `email` string — Email address.
  - `user_type_id` 0 | 1 | 2 | 3 | 4 | 5 | 7 | 8 — A numeric code that specifies the user's permission level. **Permission Level Codes:** | **Code** | **Permission level** | | ---------------- | -------------------- | | 0 | None | | 1 | Resourcing Administrator | | 2 | Portfolio Editor | | 3 | Portfolio Reporter | | 4 | Portfolio Viewer | | 5 | Contractor | | 7 | People Scheduler | | 8 | Project Editor | > **Note:** Unlisted values you may encounter are for internal purposes or future use. You may set the `user_type_id` to any value except `1` (Resourcing Administrator). To make a user a Resourcing Administrator, use the app.
  - `billable` boolean — `true` if the user is billable; `false` otherwise.
  - `hire_date` string, date-time — Date (in UTC) the user was hired.
  - `termination_date` string, date-time, nullable — Date (in UTC) the user's employment was terminated.
  - `mobile_phone` string — Cell phone number.
  - `office_phone` string — Office phone number.
  - `archived` boolean — `true` if the user has been archived; `false` otherwise. > **Note:** > - An account owner cannot be archived. > - An archived user can be unarchived.
  - `archived_at` string, date-time, nullable — Date the user was archived.
  - `account_owner` boolean — `true` if the user is the account owner; `false` otherwise.
  - `invitation_pending` boolean — `true` if an invitation is pending for the user; `false` otherwise.
  - `guid` string — Globally Unique Identifier for the user.
  - `employee_number` string — The user's employee number.
  - `role` string — The user's role.
  - `discipline` string — The user's field.
  - `location` string — The user's geographic location.
  - `type` string — The object type.
  - `license_type` 'licensed' | 'managed_resource' — The user's license type.
  - `billability_target` number, float — The percentage of the resource's available time (based on working days/hours settings and part-time availability) that the resource is expected to have work assigned. It's on utilization reports to compare with the actual percentage.
  - `billrate` integer — The currency amount that a resource is "billed out" to clients on an hourly basis. Bill rates are inherited from the bill rate matrix in Account Settings, but can be overridden in specific resource profiles. Bill rates are considered in Time & Fees and Budget reports.
  - `has_login` boolean — `true` if the user has a setup login; `false` otherwise.
  - `login_type` 'smar' | 'saml' | 'default' — The user's authentication method. Possible values: - `smar` - Sign in with Smartsheet - `saml` - Security Assertion Markup Language - `default` - Username/password authentication
  - `thumbnail` string — A URL to the user's profile image.
  - `approver_user_ids` integer[] — IDs of other users who approve this user's timesheets.
  - `approvee_user_ids` integer[] — IDs of other users whose timesheets this user approves.
  - `last_login_time` string, date-time — Date
  - `created_at` string, date-time — Date
  - `updated_at` string, date-time — Date

## Response `200`

Successful response

- User
  - `id` integer — Unique identifier for the resource instance.
  - `first_name` string — First name.
  - `last_name` string — Surname.
  - `display_name` string — Display name.
  - `email` string — Email address.
  - `user_type_id` 0 | 1 | 2 | 3 | 4 | 5 | 7 | 8 — A numeric code that specifies the user's permission level. **Permission Level Codes:** | **Code** | **Permission level** | | ---------------- | -------------------- | | 0 | None | | 1 | Resourcing Administrator | | 2 | Portfolio Editor | | 3 | Portfolio Reporter | | 4 | Portfolio Viewer | | 5 | Contractor | | 7 | People Scheduler | | 8 | Project Editor | > **Note:** Unlisted values you may encounter are for internal purposes or future use. You may set the `user_type_id` to any value except `1` (Resourcing Administrator). To make a user a Resourcing Administrator, use the app.
  - `billable` boolean — `true` if the user is billable; `false` otherwise.
  - `hire_date` string, date-time — Date (in UTC) the user was hired.
  - `termination_date` string, date-time, nullable — Date (in UTC) the user's employment was terminated.
  - `mobile_phone` string — Cell phone number.
  - `office_phone` string — Office phone number.
  - `archived` boolean — `true` if the user has been archived; `false` otherwise. > **Note:** > - An account owner cannot be archived. > - An archived user can be unarchived.
  - `archived_at` string, date-time, nullable — Date the user was archived.
  - `account_owner` boolean — `true` if the user is the account owner; `false` otherwise.
  - `invitation_pending` boolean — `true` if an invitation is pending for the user; `false` otherwise.
  - `guid` string — Globally Unique Identifier for the user.
  - `employee_number` string — The user's employee number.
  - `role` string — The user's role.
  - `discipline` string — The user's field.
  - `location` string — The user's geographic location.
  - `type` string — The object type.
  - `license_type` 'licensed' | 'managed_resource' — The user's license type.
  - `billability_target` number, float — The percentage of the resource's available time (based on working days/hours settings and part-time availability) that the resource is expected to have work assigned. It's on utilization reports to compare with the actual percentage.
  - `billrate` integer — The currency amount that a resource is "billed out" to clients on an hourly basis. Bill rates are inherited from the bill rate matrix in Account Settings, but can be overridden in specific resource profiles. Bill rates are considered in Time & Fees and Budget reports.
  - `has_login` boolean — `true` if the user has a setup login; `false` otherwise.
  - `login_type` 'smar' | 'saml' | 'default' — The user's authentication method. Possible values: - `smar` - Sign in with Smartsheet - `saml` - Security Assertion Markup Language - `default` - Username/password authentication
  - `thumbnail` string — A URL to the user's profile image.
  - `approver_user_ids` integer[] — IDs of other users who approve this user's timesheets.
  - `approvee_user_ids` integer[] — IDs of other users whose timesheets this user approves.
  - `last_login_time` string, date-time — Date
  - `created_at` string, date-time — Date
  - `updated_at` string, date-time — Date

## Other responses

- `default` — Generic error payload.

---

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