AdminGetUser
Gets the specified user by user name in a user pool as an administrator. Works on any user. This operation contributes to your monthly active user (MAU) count for the purpose of billing.
Note
Amazon Cognito evaluates AWS Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.
Request Syntax
{
"Username": "string
",
"UserPoolId": "string
"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- Username
-
The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If
username
isn't an alias attribute in your user pool, this value must be thesub
of a local user or the username of a user from a third-party IdP.Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[\p{L}\p{M}\p{S}\p{N}\p{P}]+
Required: Yes
- UserPoolId
-
The user pool ID for the user pool where you want to get information about the user.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 55.
Pattern:
[\w-]+_[0-9a-zA-Z]+
Required: Yes
Response Syntax
{
"Enabled": boolean,
"MFAOptions": [
{
"AttributeName": "string",
"DeliveryMedium": "string"
}
],
"PreferredMfaSetting": "string",
"UserAttributes": [
{
"Name": "string",
"Value": "string"
}
],
"UserCreateDate": number,
"UserLastModifiedDate": number,
"UserMFASettingList": [ "string" ],
"Username": "string",
"UserStatus": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- Enabled
-
Indicates that the status is
enabled
.Type: Boolean
- MFAOptions
-
This response parameter is no longer supported. It provides information only about SMS MFA configurations. It doesn't provide information about time-based one-time password (TOTP) software token MFA configurations. To look up information about either type of MFA configuration, use UserMFASettingList instead.
Type: Array of MFAOptionType objects
- PreferredMfaSetting
-
The user's preferred MFA setting.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 131072.
- UserAttributes
-
An array of name-value pairs representing user attributes.
Type: Array of AttributeType objects
- UserCreateDate
-
The date the user was created.
Type: Timestamp
- UserLastModifiedDate
-
The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java
Date
object.Type: Timestamp
- UserMFASettingList
-
The MFA options that are activated for the user. The possible values in this list are
SMS_MFA
,EMAIL_OTP
, andSOFTWARE_TOKEN_MFA
.Type: Array of strings
Length Constraints: Minimum length of 0. Maximum length of 131072.
- Username
-
The username of the user that you requested.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[\p{L}\p{M}\p{S}\p{N}\p{P}]+
- UserStatus
-
The user status. Can be one of the following:
-
UNCONFIRMED - User has been created but not confirmed.
-
CONFIRMED - User has been confirmed.
-
UNKNOWN - User status isn't known.
-
RESET_REQUIRED - User is confirmed, but the user must request a code and reset their password before they can sign in.
-
FORCE_CHANGE_PASSWORD - The user is confirmed and the user can sign in using a temporary password, but on first sign-in, the user must change their password to a new value before doing anything else.
Type: String
Valid Values:
UNCONFIRMED | CONFIRMED | ARCHIVED | COMPROMISED | UNKNOWN | RESET_REQUIRED | FORCE_CHANGE_PASSWORD | EXTERNAL_PROVIDER
-
Errors
For information about the errors that are common to all actions, see Common Errors.
- InternalErrorException
-
This exception is thrown when Amazon Cognito encounters an internal error.
HTTP Status Code: 500
- InvalidParameterException
-
This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
HTTP Status Code: 400
- NotAuthorizedException
-
This exception is thrown when a user isn't authorized.
HTTP Status Code: 400
- ResourceNotFoundException
-
This exception is thrown when the Amazon Cognito service can't find the requested resource.
HTTP Status Code: 400
- TooManyRequestsException
-
This exception is thrown when the user has made too many requests for a given operation.
HTTP Status Code: 400
- UserNotFoundException
-
This exception is thrown when a user isn't found.
HTTP Status Code: 400
Examples
Example
The following example API request gets user details for the user "testuser."
Sample Request
POST HTTP/1.1
Host: cognito-idp.us-west-2.amazonaws.com
X-Amz-Date: 20230613T200059Z
Accept-Encoding: gzip, deflate, br
X-Amz-Target: AWSCognitoIdentityProviderService.AdminGetUser
User-Agent: <UserAgentString>
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature>
Content-Length: <PayloadSizeBytes>
{
"UserPoolId": "us-west-2_EXAMPLE",
"Username": "testuser"
}
Sample Response
HTTP/1.1 200 OK
Date: Tue, 13 Jun 2023 20:00:59 GMT
Content-Type: application/x-amz-json-1.0
Content-Length: <PayloadSizeBytes>
x-amzn-requestid: a1b2c3d4-e5f6-a1b2-c3d4-EXAMPLE11111
Connection: keep-alive
{
"Enabled": true,
"UserAttributes": [
{
"Name": "sub",
"Value": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
},
{
"Name": "identities",
"Value": "[{\"userId\":\"a1b2c3d4-5678-90ab-cdef-EXAMPLE22222\",\"providerName\":\"SignInWithApple\",\"providerType\":\"SignInWithApple\",\"issuer\":null,\"primary\":false,\"dateCreated\":1701125599632}]"
},
{
"Name": "email_verified",
"Value": "true"
},
{
"Name": "custom:deliverables",
"Value": "project-111222"
},
{
"Name": "name",
"Value": "John"
},
{
"Name": "phone_number_verified",
"Value": "true"
},
{
"Name": "phone_number",
"Value": "+12065551212"
},
{
"Name": "preferred_username",
"Value": "John Doe"
},
{
"Name": "locale",
"Value": "EMEA"
},
{
"Name": "email",
"Value": "testuser@example.com"
}
],
"UserCreateDate": 1.682955829578E9,
"UserLastModifiedDate": 1.722380161794E9,
"UserStatus": "CONFIRMED",
"Username": "testuser"
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: