Title: WP_REST_Application_Passwords_Controller::get_user
Published: December 9, 2020
Last modified: May 20, 2026

---

# WP_REST_Application_Passwords_Controller::get_user( WP_REST_Request $request ): 󠀁[WP_User](https://developer.wordpress.org/reference/classes/wp_user/)󠁿|󠀁[WP_Error](https://developer.wordpress.org/reference/classes/wp_error/)󠁿

## In this article

 * [Parameters](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_user/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_user/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_user/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_user/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_user/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_user/?output_format=md#wp--skip-link--target)

Gets the requested user.

## 󠀁[Parameters](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_user/?output_format=md#parameters)󠁿

 `$request`[WP_REST_Request](https://developer.wordpress.org/reference/classes/wp_rest_request/)
required

The request object.

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_user/?output_format=md#return)󠁿

 [WP_User](https://developer.wordpress.org/reference/classes/wp_user/)|[WP_Error](https://developer.wordpress.org/reference/classes/wp_error/)
The WordPress user associated with the request, or a [WP_Error](https://developer.wordpress.org/reference/classes/wp_error/)
if none found.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_user/?output_format=md#source)󠁿

    ```php
    protected function get_user( $request ) {
    	if ( ! wp_is_application_passwords_available() ) {
    		return new WP_Error(
    			'application_passwords_disabled',
    			__( 'Application passwords are not available.' ),
    			array( 'status' => 501 )
    		);
    	}

    	$error = new WP_Error(
    		'rest_user_invalid_id',
    		__( 'Invalid user ID.' ),
    		array( 'status' => 404 )
    	);

    	$id = $request['user_id'];

    	if ( 'me' === $id ) {
    		if ( ! is_user_logged_in() ) {
    			return new WP_Error(
    				'rest_not_logged_in',
    				__( 'You are not currently logged in.' ),
    				array( 'status' => 401 )
    			);
    		}

    		$user = wp_get_current_user();
    	} else {
    		$id = (int) $id;

    		if ( $id <= 0 ) {
    			return $error;
    		}

    		$user = get_userdata( $id );
    	}

    	if ( empty( $user ) || ! $user->exists() ) {
    		return $error;
    	}

    	if ( is_multisite() && ! user_can( $user->ID, 'manage_sites' ) && ! is_user_member_of_blog( $user->ID ) ) {
    		return $error;
    	}

    	if ( ! wp_is_application_passwords_available_for_user( $user ) ) {
    		return new WP_Error(
    			'application_passwords_disabled_for_user',
    			__( 'Application passwords are not available for your account. Please contact the site administrator for assistance.' ),
    			array( 'status' => 501 )
    		);
    	}

    	return $user;
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.0/src/wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php#L681)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php#L681-L735)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_user/?output_format=md#related)󠁿

| Uses | Description | 
| [wp_is_application_passwords_available()](https://developer.wordpress.org/reference/functions/wp_is_application_passwords_available/)`wp-includes/user.php` |

Checks if Application Passwords is globally available.

  | 
| [wp_is_application_passwords_available_for_user()](https://developer.wordpress.org/reference/functions/wp_is_application_passwords_available_for_user/)`wp-includes/user.php` |

Checks if Application Passwords is available for a specific user.

  | 
| [user_can()](https://developer.wordpress.org/reference/functions/user_can/)`wp-includes/capabilities.php` |

Returns whether a particular user has the specified capability.

  | 
| [wp_get_current_user()](https://developer.wordpress.org/reference/functions/wp_get_current_user/)`wp-includes/pluggable.php` |

Retrieves the current user object.

  | 
| [is_user_member_of_blog()](https://developer.wordpress.org/reference/functions/is_user_member_of_blog/)`wp-includes/user.php` |

Finds out whether a user is a member of a given blog.

  | 
| [__()](https://developer.wordpress.org/reference/functions/__/)`wp-includes/l10n.php` |

Retrieves the translation of $text.

  | 
| [is_user_logged_in()](https://developer.wordpress.org/reference/functions/is_user_logged_in/)`wp-includes/pluggable.php` |

Determines whether the current visitor is a logged in user.

  | 
| [get_userdata()](https://developer.wordpress.org/reference/functions/get_userdata/)`wp-includes/pluggable.php` |

Retrieves user info by user ID.

  | 
| [is_multisite()](https://developer.wordpress.org/reference/functions/is_multisite/)`wp-includes/load.php` |

Determines whether Multisite is enabled.

  | 
| [WP_Error::__construct()](https://developer.wordpress.org/reference/classes/wp_error/__construct/)`wp-includes/class-wp-error.php` |

Initializes the error.

  |

[Show 5 more](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_user/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_user/?output_format=md#)

| Used by | Description | 
| [WP_REST_Application_Passwords_Controller::get_current_item_permissions_check()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_current_item_permissions_check/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Checks if a given request has access to get the currently used application password for a user.

  | 
| [WP_REST_Application_Passwords_Controller::get_current_item()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_current_item/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Retrieves the application password being currently used for authentication of a user.

  | 
| [WP_REST_Application_Passwords_Controller::do_permissions_check()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/do_permissions_check/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Performs a permissions check for the request.

  | 
| [WP_REST_Application_Passwords_Controller::prepare_item_for_response()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/prepare_item_for_response/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Prepares the application password for the REST response.

  | 
| [WP_REST_Application_Passwords_Controller::get_application_password()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_application_password/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Gets the requested application password for a user.

  | 
| [WP_REST_Application_Passwords_Controller::get_items_permissions_check()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_items_permissions_check/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Checks if a given request has access to get application passwords.

  | 
| [WP_REST_Application_Passwords_Controller::get_items()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_items/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Retrieves a collection of application passwords.

  | 
| [WP_REST_Application_Passwords_Controller::get_item_permissions_check()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_item_permissions_check/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Checks if a given request has access to get a specific application password.

  | 
| [WP_REST_Application_Passwords_Controller::create_item_permissions_check()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/create_item_permissions_check/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Checks if a given request has access to create application passwords.

  | 
| [WP_REST_Application_Passwords_Controller::create_item()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/create_item/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Creates an application password.

  | 
| [WP_REST_Application_Passwords_Controller::update_item_permissions_check()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/update_item_permissions_check/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Checks if a given request has access to update application passwords.

  | 
| [WP_REST_Application_Passwords_Controller::update_item()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/update_item/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Updates an application password.

  | 
| [WP_REST_Application_Passwords_Controller::delete_items_permissions_check()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/delete_items_permissions_check/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Checks if a given request has access to delete all application passwords for a user.

  | 
| [WP_REST_Application_Passwords_Controller::delete_items()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/delete_items/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Deletes all application passwords for a user.

  | 
| [WP_REST_Application_Passwords_Controller::delete_item_permissions_check()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/delete_item_permissions_check/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Checks if a given request has access to delete a specific application password for a user.

  | 
| [WP_REST_Application_Passwords_Controller::delete_item()](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/delete_item/)`wp-includes/rest-api/endpoints/class-wp-rest-application-passwords-controller.php` |

Deletes an application password for a user.

  |

[Show 11 more](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_user/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_user/?output_format=md#)

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_rest_application_passwords_controller/get_user/?output_format=md#changelog)󠁿

| Version | Description | 
| [5.6.0](https://developer.wordpress.org/reference/since/5.6.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_rest_application_passwords_controller%2Fget_user%2F)
before being able to contribute a note or feedback.