AdminGetDevice
Given the device key, returns details for a user' device. For more information, see Working with devices.
Note
Amazon Cognito evaluates Amazon 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
{
"DeviceKey": "string
",
"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.
- DeviceKey
-
The key of the device that you want to delete. You can get device IDs in the response to an AdminListDevices request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 55.
Pattern:
[\w-]+_[0-9a-f-]+
Required: Yes
- 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 the device owner is a user.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 55.
Pattern:
[\w-]+_[0-9a-zA-Z]+
Required: Yes
Response Syntax
{
"Device": {
"DeviceAttributes": [
{
"Name": "string",
"Value": "string"
}
],
"DeviceCreateDate": number,
"DeviceKey": "string",
"DeviceLastAuthenticatedDate": number,
"DeviceLastModifiedDate": number
}
}
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.
- Device
-
Details of the requested device. Includes device information, last-accessed and created dates, and the device key.
Type: DeviceType object
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
- InvalidUserPoolConfigurationException
-
This exception is thrown when the user pool configuration is not valid.
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
Examples
Example
The following example API request retrieves information about a device that belongs to 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.AdminGetDevice
User-Agent: <UserAgentString>
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature>
Content-Length: <PayloadSizeBytes>
{
"DeviceKey": "us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
"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
{
"Device": {
"DeviceAttributes": [
{
"Name": "device_status",
"Value": "valid"
},
{
"Name": "device_name",
"Value": "Dart-device"
},
{
"Name": "dev:device_arn",
"Value": "arn:aws:cognito-idp:us-west-2:123456789012:owner/testuser.us-west-2_EXAMPLE/device/us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE22222"
},
{
"Name": "dev:device_owner",
"Value": "testuser.us-west-2_EXAMPLE"
},
{
"Name": "last_ip_used",
"Value": "192.0.2.1"
},
{
"Name": "dev:device_remembered_status",
"Value": "remembered"
},
{
"Name": "dev:device_sdk",
"Value": "aws-sdk-unknown-unknown"
}
],
"DeviceCreateDate": 1715100742.022,
"DeviceKey": "us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
"DeviceLastAuthenticatedDate": 1715100742.0,
"DeviceLastModifiedDate": 1715100742.022
}
}
See Also
For more information about using this API in one of the language-specific Amazon SDKs, see the following: