Title: wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php | Developer.WordPress.org

---

# File: wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php

 * hook[rest_after_insert_user](https://developer.wordpress.org/reference/hooks/rest_after_insert_user/)
 * Fires after a user is completely created or updated via the REST API.
 * Used by [2 functions](https://developer.wordpress.org/reference/hooks/rest_after_insert_user/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/rest_after_insert_user/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:700](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L700-L700)
 * method[WP_REST_Users_Controller::get_user()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_user/)
 * Get the user, if the ID is valid.
 * Used by [6 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_user/#used-by)
   | Uses [5 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_user/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:444](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L444-L465)
 * method[WP_REST_Users_Controller::check_username()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/check_username/)
 * Check a username for the REST API.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/check_username/#used-by)
   | Uses [4 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/check_username/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:1319](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L1319-L1342)
 * method[WP_REST_Users_Controller::check_user_password()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/check_user_password/)
 * Check a user password for the REST API.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/check_user_password/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/check_user_password/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:1356](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L1356-L1385)
 * method[WP_REST_Users_Controller::get_item_schema()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_item_schema/)
 * Retrieves the user’s schema, conforming to JSON Schema.
 * Used by [3 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_item_schema/#used-by)
   | Uses [4 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_item_schema/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:1394](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L1394-L1558)
 * method[WP_REST_Users_Controller::get_collection_params()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_collection_params/)
 * Retrieves the query params for collections.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_collection_params/#used-by)
   | Uses [4 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_collection_params/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:1567](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L1567-L1681)
 * hook[rest_user_collection_params](https://developer.wordpress.org/reference/hooks/rest_user_collection_params/)
 * Filters REST API collection parameters for the users controller.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/rest_user_collection_params/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/rest_user_collection_params/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:1680](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L1680-L1680)
 * method[WP_REST_Users_Controller::check_role_update()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/check_role_update/)
 * Determines if the current user is allowed to make the desired roles change.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/check_role_update/#used-by)
   | Uses [7 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/check_role_update/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:1257](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L1257-L1305)
 * method[WP_REST_Users_Controller::delete_current_item()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/delete_current_item/)
 * Deletes the current user.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/delete_current_item/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/delete_current_item/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:1019](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L1019-L1023)
 * method[WP_REST_Users_Controller::prepare_item_for_response()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/prepare_item_for_response/)
 * Prepares a single user output for response.
 * Used by [6 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/prepare_item_for_response/#used-by)
   | Uses [8 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/prepare_item_for_response/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:1035](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L1035-L1143)
 * hook[rest_prepare_user](https://developer.wordpress.org/reference/hooks/rest_prepare_user/)
 * Filters user data returned from the REST API.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/rest_prepare_user/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/rest_prepare_user/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:1142](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L1142-L1142)
 * method[WP_REST_Users_Controller::prepare_links()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/prepare_links/)
 * Prepares links for the user request.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/prepare_links/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/prepare_links/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:1153](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L1153-L1164)
 * method[WP_REST_Users_Controller::prepare_item_for_database()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/prepare_item_for_database/)
 * Prepares a single user for creation or update.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/prepare_item_for_database/#used-by)
   | Uses [3 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/prepare_item_for_database/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:1174](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L1174-L1243)
 * hook[rest_pre_insert_user](https://developer.wordpress.org/reference/hooks/rest_pre_insert_user/)
 * Filters user data before insertion via the REST API.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/rest_pre_insert_user/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/rest_pre_insert_user/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:1242](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L1242-L1242)
 * method[WP_REST_Users_Controller::update_current_item_permissions_check()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/update_current_item_permissions_check/)
 * Checks if a given request has access to update the current user.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/update_current_item_permissions_check/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/update_current_item_permissions_check/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:865](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L865-L869)
 * method[WP_REST_Users_Controller::update_current_item()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/update_current_item/)
 * Updates the current user.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/update_current_item/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/update_current_item/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:879](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L879-L883)
 * method[WP_REST_Users_Controller::delete_item_permissions_check()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/delete_item_permissions_check/)
 * Checks if a given request has access delete a user.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/delete_item_permissions_check/#used-by)
   | Uses [6 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/delete_item_permissions_check/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:893](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L893-L908)
 * method[WP_REST_Users_Controller::delete_item()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/delete_item/)
 * Deletes a single user.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/delete_item/#used-by)
   | Uses [10 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/delete_item/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:918](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L918-L995)
 * hook[rest_delete_user](https://developer.wordpress.org/reference/hooks/rest_delete_user/)
 * Fires immediately after a user is deleted via the REST API.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/rest_delete_user/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/rest_delete_user/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:992](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L992-L992)
 * method[WP_REST_Users_Controller::delete_current_item_permissions_check()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/delete_current_item_permissions_check/)
 * Checks if a given request has access to delete the current user.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/delete_current_item_permissions_check/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/delete_current_item_permissions_check/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:1005](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L1005-L1009)
 * method[WP_REST_Users_Controller::create_item()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/create_item/)
 * Creates a single user.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/create_item/#used-by)
   | Uses [19 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/create_item/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:581](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L581-L709)
 * hook[rest_insert_user](https://developer.wordpress.org/reference/hooks/rest_insert_user/)
 * Fires immediately after a user is created or updated via the REST API.
 * Used by [2 functions](https://developer.wordpress.org/reference/hooks/rest_insert_user/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/rest_insert_user/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:668](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L668-L668)
 * method[WP_REST_Users_Controller::update_item_permissions_check()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/update_item_permissions_check/)
 * Checks if a given request has access to update a user.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/update_item_permissions_check/#used-by)
   | Uses [6 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/update_item_permissions_check/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:719](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L719-L754)
 * method[WP_REST_Users_Controller::update_item()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/update_item/)
 * Updates a single user.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/update_item/#used-by)
   | Uses [14 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/update_item/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:764](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L764-L855)
 * method[WP_REST_Users_Controller::get_item()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_item/)
 * Retrieves a single user.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_item/#used-by)
   | Uses [4 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_item/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:514](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L514-L524)
 * method[WP_REST_Users_Controller::get_current_item()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_current_item/)
 * Retrieves the current user.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_current_item/#used-by)
   | Uses [6 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_current_item/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:534](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L534-L550)
 * method[WP_REST_Users_Controller::create_item_permissions_check()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/create_item_permissions_check/)
 * Checks if a given request has access create users.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/create_item_permissions_check/#used-by)
   | Uses [4 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/create_item_permissions_check/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:560](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L560-L571)
 * method[WP_REST_Users_Controller::register_routes()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/register_routes/)
 * Registers the routes for users.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/register_routes/#used-by)
   | Uses [3 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/register_routes/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:54](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L54-L163)
 * method[WP_REST_Users_Controller::check_reassign()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/check_reassign/)
 * Checks for a valid value for the reassign parameter when deleting users.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/check_reassign/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/check_reassign/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:177](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L177-L191)
 * method[WP_REST_Users_Controller::get_items_permissions_check()](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_items_permissions_check/)
 * Permissions check for getting all users.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_items_permissions_check/#used-by)
   | Uses [6 functions](https://developer.wordpress.org/reference/classes/wp_rest_users_controller/get_items_permissions_check/#uses)
   | Source: [wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php:201](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php#L201-L254)

1 [2](https://developer.wordpress.org/reference/files/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php/page/2/?output_format=md)

 [Next Page](https://developer.wordpress.org/reference/files/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php/page/2/?output_format=md)