AdminGetUser
Given the username, returns details about a user profile in a user pool. This
operation contributes to your monthly active user (MAU) count for the purpose of
billing. You can specify alias attributes in the Username
parameter.
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 ID of 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 whether the user is activated for sign-in. The AdminDisableUser and AdminEnableUser API operations deactivate and activate user sign-in, respectively.
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. Users can prefer SMS message, email message, or TOTP MFA.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 131072.
- UserAttributes
-
An array of name-value pairs of user attributes and their values, for example
"email": "testuser@example.com"
.Type: Array of AttributeType objects
- UserCreateDate
-
The date and time when the item was created. 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
- 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
. You can change the MFA preference for users who have more than one available MFA factor with AdminSetUserMFAPreference or SetUserMFAPreference.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's 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.
-
EXTERNAL_PROVIDER - The user signed in with a third-party identity provider.
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: