Amazon Pinpoint
REST API Reference

Endpoint

An endpoint represents a destination that you can send messages to, such as a mobile device, email address, or phone number.

You can use the Endpoint resource to create, retrieve information about, update, or delete a specific endpoint from an application. This includes updating the settings and attributes of an endpoint. To perform these tasks for multiple endpoints in a single operation, use the Endpoints resource.

Note: Limits apply to the number of custom attributes that you can define for endpoints. If you send a PUT request that defines additional custom attributes for an endpoint and the addition of these attributes exceeds the limits, Amazon Pinpoint returns an HTTP 400 response. For information about the limits that apply to attributes, see Endpoint Limits in the Amazon Pinpoint Developer Guide. To remove custom attributes from endpoints, use the Attributes resource.

URI

/v1/apps/application-id/endpoints/endpoint-id

HTTP Methods

GET

Operation ID: GetEndpoint

Retrieves information about the settings and attributes of a specific endpoint for an application.

Path Parameters

Name Type Required Description
application-id String True

The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

endpoint-id String True

The unique identifier for the endpoint.

Header Parameters

Name Type Required Description
accept String False

Indicates which content types, expressed as MIME types, the client understands.

Responses

Status Code Response Model Description
200 EndpointResponse

The request succeeded.

400 MessageBody

The request contains a syntax error (BadRequestException).

403 MessageBody

The request was denied because access to the specified resource is forbidden (ForbiddenException).

404 MessageBody

The request failed because the specified resource was not found (NotFoundException).

405 MessageBody

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

429 MessageBody

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

500 MessageBody

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

PUT

Operation ID: UpdateEndpoint

Creates a new endpoint for an application or updates the settings and attributes of an existing endpoint for an application. You can also use this operation to define custom attributes (Attributes, Metrics, and UserAttributes properties) for an endpoint.

Path Parameters

Name Type Required Description
application-id String True

The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

endpoint-id String True

The unique identifier for the endpoint.

Header Parameters

Name Type Required Description
accept String False

Indicates which content types, expressed as MIME types, the client understands.

Responses

Status Code Response Model Description
202 MessageBody

The request was accepted for processing. Processing may not be complete.

400 MessageBody

The request contains a syntax error (BadRequestException).

403 MessageBody

The request was denied because access to the specified resource is forbidden (ForbiddenException).

404 MessageBody

The request failed because the specified resource was not found (NotFoundException).

405 MessageBody

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

429 MessageBody

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

500 MessageBody

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

DELETE

Operation ID: DeleteEndpoint

Deletes an endpoint from an application.

Path Parameters

Name Type Required Description
application-id String True

The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

endpoint-id String True

The unique identifier for the endpoint.

Header Parameters

Name Type Required Description
accept String False

Indicates which content types, expressed as MIME types, the client understands.

Responses

Status Code Response Model Description
202 EndpointResponse

The request was accepted for processing. Processing may not be complete.

400 MessageBody

The request contains a syntax error (BadRequestException).

403 MessageBody

The request was denied because access to the specified resource is forbidden (ForbiddenException).

404 MessageBody

The request failed because the specified resource was not found (NotFoundException).

405 MessageBody

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

429 MessageBody

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

500 MessageBody

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

OPTIONS

Retrieves information about the communication requirements and options that are available for the Endpoint resource.

Responses

Status Code Response Model Description
200 None

The request succeeded.

Schemas

Request Bodies

Example PUT

{ "ChannelType": enum, "Address": "string", "EndpointStatus": "string", "OptOut": "string", "RequestId": "string", "Location": { "Latitude": number, "Longitude": number, "PostalCode": "string", "City": "string", "Region": "string", "Country": "string" }, "Demographic": { "Make": "string", "Model": "string", "ModelVersion": "string", "Timezone": "string", "Locale": "string", "AppVersion": "string", "Platform": "string", "PlatformVersion": "string" }, "EffectiveDate": "string", "Attributes": { }, "Metrics": { }, "User": { "UserId": "string", "UserAttributes": { } } }

Response Bodies

Example EndpointResponse

{ "ChannelType": enum, "Address": "string", "EndpointStatus": "string", "OptOut": "string", "RequestId": "string", "Location": { "Latitude": number, "Longitude": number, "PostalCode": "string", "City": "string", "Region": "string", "Country": "string" }, "Demographic": { "Make": "string", "Model": "string", "ModelVersion": "string", "Timezone": "string", "Locale": "string", "AppVersion": "string", "Platform": "string", "PlatformVersion": "string" }, "EffectiveDate": "string", "Attributes": { }, "Metrics": { }, "User": { "UserId": "string", "UserAttributes": { } }, "ApplicationId": "string", "Id": "string", "CohortId": "string", "CreationDate": "string" }

Example MessageBody

{ "RequestID": "string", "Message": "string" }

Properties

EndpointDemographic

Specifies demographic information about an endpoint, such as the applicable time zone and platform.

Property Type Required Description
Make

string

False

The manufacturer of the endpoint device, such as Apple or Samsung.

Model

string

False

The model name or number of the endpoint device, such as iPhone.

ModelVersion

string

False

The model version of the endpoint device.

Timezone

string

False

The time zone of the endpoint, specified as a tz database name value, such as America/Los_Angeles.

Locale

string

False

The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 value.

AppVersion

string

False

The version of the app that's associated with the endpoint.

Platform

string

False

The platform of the endpoint device, such as iOS or Android.

PlatformVersion

string

False

The platform version of the endpoint device.

EndpointLocation

Specifies geographic information about an endpoint.

Property Type Required Description
Latitude

number

False

The latitude coordinate of the endpoint location, rounded to one decimal place.

Longitude

number

False

The longitude coordinate of the endpoint location, rounded to one decimal place.

PostalCode

string

False

The postal or ZIP code for the area where the endpoint is located.

City

string

False

The name of the city where the endpoint is located.

Region

string

False

The name of the region where the endpoint is located. For locations in the United States, this value is the name of a state.

Country

string

False

The two-character code, in ISO 3166-1 alpha-2 format, for the country or region where the endpoint is located. For example, US for the United States.

EndpointRequest

Specifies the channel type and other settings for an endpoint.

Property Type Required Description
ChannelType

string

Values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | VOICE | EMAIL | BAIDU | CUSTOM

False

The channel to use when sending messages or push notifications to the endpoint.

Address

string

False

The destination address for messages or push notifications that you send to the endpoint. The address varies by channel. For a push-notification channel, use the token provided by the push notification service, such as an Apple Push Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) registration token. For the SMS channel, use a phone number in E.164 format, such as +12065550100. For the email channel, use an email address.

EndpointStatus

string

False

Specifies whether to send messages or push notifications to the endpoint. Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

OptOut

string

False

Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

RequestId

string

False

The unique identifier for the most recent request to update the endpoint.

Location

EndpointLocation

False

The geographic information for the endpoint.

Demographic

EndpointDemographic

False

The demographic information for the endpoint, such as the time zone and platform.

EffectiveDate

string

False

The date and time, in ISO 8601 format, when the endpoint is updated.

Attributes

object

False

One or more custom attributes that describe the endpoint by associating a name with an array of values. For example, the value of a custom attribute named Interests might be: ["science", "music", "travel"]. You can use these attributes as filter criteria when you create segments.

When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't display attribute names that contain these characters. This limitation doesn't apply to attribute values.

Metrics

object

False

One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.

User

EndpointUser

False

One or more custom user attributes that describe the user who's associated with the endpoint.

EndpointResponse

Provides information about the channel type and other settings for an endpoint.

Property Type Required Description
ChannelType

string

Values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | VOICE | EMAIL | BAIDU | CUSTOM

False

The channel that's used when sending messages or push notifications to the endpoint.

Address

string

False

The destination address for messages or push notifications that you send to the endpoint. The address varies by channel. For example, the address for a push-notification channel is typically the token provided by a push notification service, such as an Apple Push Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) registration token. The address for the SMS channel is a phone number in E.164 format, such as +12065550100. The address for the email channel is an email address.

EndpointStatus

string

False

Specifies whether messages or push notifications are sent to the endpoint. Possible values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

OptOut

string

False

Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

RequestId

string

False

The unique identifier for the most recent request to update the endpoint.

Location

EndpointLocation

False

The geographic information for the endpoint.

Demographic

EndpointDemographic

False

The demographic information for the endpoint, such as the time zone and platform.

EffectiveDate

string

False

The date and time, in ISO 8601 format, when the endpoint was last updated.

Attributes

object

False

One or more custom attributes that describe the endpoint by associating a name with an array of values. For example, the value of a custom attribute named Interests might be: ["science", "music", "travel"]. You can use these attributes as filter criteria when you create segments.

Metrics

object

False

One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.

User

EndpointUser

False

One or more custom user attributes that your app reports to Amazon Pinpoint for the user who's associated with the endpoint.

ApplicationId

string

False

The unique identifier for the application that's associated with the endpoint.

Id

string

False

The unique identifier that you assigned to the endpoint. The identifier should be a globally unique identifier (GUID) to ensure that it doesn't conflict with other endpoint identifiers that are associated with the application.

CohortId

string

False

A number from 0-99 that represents the cohort that the endpoint is assigned to. Endpoints are grouped into cohorts randomly, and each cohort contains approximately 1 percent of the endpoints for an application. Amazon Pinpoint assigns cohorts to the holdout or treatment allocations for campaigns.

CreationDate

string

False

The date and time, in ISO 8601 format, when the endpoint was created.

EndpointUser

Specifies data for one or more attributes that describe the user who's associated with an endpoint.

Property Type Required Description
UserId

string

False

The unique identifier for the user.

UserAttributes

object

False

One or more custom attributes that describe the user by associating a name with an array of values. For example, the value of an attribute named Interests might be: ["science", "music", "travel"]. You can use these attributes as filter criteria when you create segments.

When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't display attribute names that contain these characters. This limitation doesn't apply to attribute values.

MessageBody

Provides information about an API request or response.

Property Type Required Description
RequestID

string

False

The unique identifier for the request or response.

Message

string

False

The message that's returned from the API.

See Also

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

GetEndpoint

UpdateEndpoint

DeleteEndpoint