Menu
Amazon Cognito Sync
API Reference (API Version 2014-06-30)

RegisterDevice

Registers a device to receive push sync notifications.

This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials.

Request Syntax

POST /identitypools/IdentityPoolId/identity/IdentityId/device HTTP/1.1
Content-type: application/json

{
   "Platform": "string",
   "Token": "string"
}

URI Request Parameters

The request requires the following URI parameters.

IdentityId

The unique ID for this identity.

Length Constraints: Minimum length of 1. Maximum length of 55.

Pattern: [\w-]+:[0-9a-f-]+

IdentityPoolId

A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. Here, the ID of the pool that the identity belongs to.

Length Constraints: Minimum length of 1. Maximum length of 55.

Pattern: [\w-]+:[0-9a-f-]+

Request Body

The request accepts the following data in JSON format.

Platform

The SNS platform type (e.g. GCM, SDM, APNS, APNS_SANDBOX).

Type: String

Valid Values: APNS | APNS_SANDBOX | GCM | ADM

Required: Yes

Token

The push token.

Type: String

Required: Yes

Response Syntax

HTTP/1.1 200
Content-type: application/json

{
   "DeviceId": "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.

DeviceId

The unique ID generated for this device by Cognito.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

Errors

For information about the errors that are common to all actions, see Common Errors.

InternalErrorException

Indicates an internal service error.

HTTP Status Code: 500

InvalidConfigurationException

This exception is thrown when Amazon Cognito detects an invalid configuration.

HTTP Status Code: 400

InvalidParameterException

Thrown when a request parameter does not comply with the associated constraints.

HTTP Status Code: 400

NotAuthorizedException

Thrown when a user is not authorized to access the requested resource.

HTTP Status Code: 403

ResourceNotFoundException

Thrown if the resource doesn't exist.

HTTP Status Code: 404

TooManyRequestsException

Thrown if the request is throttled.

HTTP Status Code: 429

Example

RegisterDevice

The following examples have been edited for readability.

Sample Request


POST / HTTP/1.1
CONTENT-TYPE: application/json
X-AMZN-REQUESTID: 368f9200-3eca-449e-93b3-7b9c08d8e185
X-AMZ-TARGET: com.amazonaws.cognito.sync.model.AWSCognitoSyncService.RegisterDevice
HOST: cognito-sync.us-east-1.amazonaws.com
X-AMZ-DATE: 20141004T194643Z
X-AMZ-SECURITY-TOKEN: <securitytoken>
AUTHORIZATION: AWS4-HMAC-SHA256 Credential=<credential>, SignedHeaders=content-type;content-length;host;x-amz-date;x-amz-target, Signature=<signature>

{
    "IdentityPoolId": "ID_POOL_ID",
    "IdentityId": "IDENTITY_ID",
    "Platform": "GCM",
    "Token": "PUSH_TOKEN"
}
               

Sample Response


1.1 200 OK
x-amzn-requestid: 368f9200-3eca-449e-93b3-7b9c08d8e185
date: Sat, 04 Oct 2014 19:46:44 GMT
content-type: application/json
content-length: 145

{
    "DeviceId": "5cd28fbe-dd83-47ab-9f83-19093a5fb014"
}
               

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: