# Create user Creates a user. Endpoint: POST /users Version: v1 Security: AuthToken ## Header parameters: - `Content-Type` (string, required) Enum: "application/json" - `Accept` (string, required) Enum: "application/json" ## Request fields (application/json): - `first_name` (string, required) First name. Example: "Jane" - `last_name` (string, required) Surname. Example: "Doe" - `email` (string, required) Email address. Example: "jane.doe@smartsheet.com" - `user_type_id` (integer, required) 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. Enum: 0, 1, 2, 3, 4, 5, 7, 8 - `hire_date` (string) Date (in UTC) the user was hired. Example: "2021-07-09T00:00:00Z" - `termination_date` (string,null) Date (in UTC) the user's employment was terminated. - `mobile_phone` (string) Cell phone number. - `office_phone` (string) Office phone number. - `archived` (boolean, required) true if the user has been archived; false otherwise. > Note: > - An account owner cannot be archived. > - An archived user can be unarchived. - `employee_number` (string) The user's employee number. - `role` (string) The user's role. Example: "Senior" - `discipline` (string) The user's field. Example: "Program Management" - `location` (string) The user's geographic location. Example: "Seattle" - `license_type` (string) The user's license type. Enum: "licensed", "managed_resource" - `billability_target` (number) 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. Example: 100 - `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. Example: -1 - `approver_user_ids` (array) IDs of other users who approve this user's timesheets. Example: [123,456,789] - `approvee_user_ids` (array) IDs of other users whose timesheets this user approves. Example: [222,333,444] ## Response 200 fields (application/json): - `id` (integer) Unique identifier for the resource instance. Example: 1234567 - `first_name` (string) First name. Example: "Jane" - `last_name` (string) Surname. Example: "Doe" - `display_name` (string) Display name. Example: "Jane Doe" - `email` (string) Email address. Example: "jane.doe@smartsheet.com" - `user_type_id` (integer) 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. Enum: 0, 1, 2, 3, 4, 5, 7, 8 - `billable` (boolean) true if the user is billable; false otherwise. Example: true - `hire_date` (string) Date (in UTC) the user was hired. Example: "2021-07-09T00:00:00Z" - `termination_date` (string,null) 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,null) 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. Example: "96d769c7-1b4e-4b07-8baf-5ed6f2b915aa" - `employee_number` (string) The user's employee number. - `role` (string) The user's role. Example: "Senior" - `discipline` (string) The user's field. Example: "Program Management" - `location` (string) The user's geographic location. Example: "Seattle" - `type` (string) The object type. Example: "User" - `license_type` (string) The user's license type. Enum: "licensed", "managed_resource" - `billability_target` (number) 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. Example: 100 - `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. Example: -1 - `has_login` (boolean) true if the user has a setup login; false otherwise. Example: true - `login_type` (string) The user's authentication method. Possible values: - smar - Sign in with Smartsheet - saml - Security Assertion Markup Language - default - Username/password authentication Enum: "smar", "saml", "default" - `thumbnail` (string) A URL to the user's profile image. - `approver_user_ids` (array) IDs of other users who approve this user's timesheets. Example: [123,456,789] - `approvee_user_ids` (array) IDs of other users whose timesheets this user approves. Example: [222,333,444] - `last_login_time` (string) Date Example: "2025-02-17T19:12:36Z" - `created_at` (string) Date Example: "2024-11-13T20:38:10Z" - `updated_at` (string) Date Example: "2024-11-13T20:38:10Z" ## Response default fields (application/json): - `message` (string) Error description.