# Update user role Update user's role Endpoint: PUT /authz2/v1/users/{user_id} Version: 1.0.0 Security: apiKey ## Path parameters: - `user_id` (string, required) AuthN User Id. The authn_user_id from the Get Users response. ## Request fields (application/json): - `authz_role_id` (string) - `can_factory_reset` (boolean) - `has_all_group_access` (boolean) - `groups` (array, required) - `role` (string, required) Enum: "Shoonya Admin", "Enterprise Admin", "Enterprise User", "Viewer", "Group Admin", "Group Viewer", "AuthZ Role User" ## Response 200 fields (application/json): - `id` (integer) - `username` (string) - `email` (string) - `first_name` (string) - `last_name` (string) - `full_name` (string) - `is_staff` (boolean) - `is_superuser` (boolean) - `is_active` (boolean) - `profile` (object) - `profile.enterprise_user_id` (string) - `profile.authn_user_id` (string) - `profile.authn_connection_id` (string) - `profile.authz_role_id` (string) - `profile.role` (string) Enum: "Shoonya Admin", "Enterprise Admin", "Enterprise User", "Viewer", "Group Admin", "Group Viewer" - `profile.enterprise` (string) - `profile.is_customer` (boolean) - `profile.is_endpoint_creator` (boolean) - `profile.created_on` (string) - `profile.updated_on` (string) - `profile.setup_wizard_complete` (boolean) - `profile.default_password_changed` (boolean) - `profile.is_developer` (boolean) - `profile.can_factory_reset` (boolean) - `profile.groups` (array) - `profile.groups.name` (string) - `profile.groups.path` (string) - `profile.groups.device_count` (integer) - `emm` (object) - `emm.user` (integer) - `emm.account_identifier` (string) - `emm.account_type` (string) - `emm.display_name` (string) - `emm.google_user_id` (string) - `emm.google_enterprise` (integer) - `emm.authentication_token` (object) - `emm.authentication_token.token` (string) - `last_login` (string) - `has_emm` (boolean) - `is_email_verified` (boolean) ## Response 400 fields (application/json): - `status` (integer) Either 'status' or 'code' will be present, but not both. - `code` (integer) Either 'status' or 'code' will be present, but not both. - `error` (string) Either 'error' or 'errors' will be present, but not both. - `errors` (array) Either 'error' or 'errors' will be present, but not both. - `message` (string) ## Response 401 fields (application/json): - `status` (integer) Either 'status' or 'code' will be present, but not both. - `code` (integer) Either 'status' or 'code' will be present, but not both. - `error` (string) Either 'error' or 'errors' will be present, but not both. - `errors` (array) Either 'error' or 'errors' will be present, but not both. - `message` (string) ## Response 403 fields (application/json): - `status` (integer) Either 'status' or 'code' will be present, but not both. - `code` (integer) Either 'status' or 'code' will be present, but not both. - `error` (string) Either 'error' or 'errors' will be present, but not both. - `errors` (array) Either 'error' or 'errors' will be present, but not both. - `message` (string)