Amazon Pinpoint Pinpoint Endpoints API
The Pinpoint Endpoints API from Amazon Pinpoint — 2 operation(s) for pinpoint endpoints.
The Pinpoint Endpoints API from Amazon Pinpoint — 2 operation(s) for pinpoint endpoints.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/amazon-pinpoint:amazon-pinpoint-endpoints-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Amazon Pinpoint Endpoints API
version: '2016-12-01'
description: Generated from AWS's published Smithy model for Amazon Pinpoint. 4 operation(s).
contact:
name: Amazon Web Services
url: https://aws.amazon.com/contact-us/
license:
name: Apache 2.0
identifier: Apache-2.0
url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://pinpoint.{region}.amazonaws.com
variables:
region:
default: us-east-1
security:
- sigv4: []
tags:
- name: Endpoints
paths:
/v1/apps/{ApplicationId}/endpoints/{EndpointId}:
delete:
operationId: DeleteEndpoint
summary: Delete Endpoint
description: Deletes an endpoint from an application.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteEndpointResponse'
'400':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'403':
description: ForbiddenException
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenException'
'500':
description: InternalServerErrorException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorException'
'405':
description: MethodNotAllowedException
content:
application/json:
schema:
$ref: '#/components/schemas/MethodNotAllowedException'
'404':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'413':
description: PayloadTooLargeException
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadTooLargeException'
'429':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteEndpointRequest'
tags:
- Endpoints
get:
operationId: GetEndpoint
summary: Get Endpoint
description: Retrieves information about the settings and attributes of a specific endpoint for an application.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetEndpointResponse'
'400':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'403':
description: ForbiddenException
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenException'
'500':
description: InternalServerErrorException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorException'
'405':
description: MethodNotAllowedException
content:
application/json:
schema:
$ref: '#/components/schemas/MethodNotAllowedException'
'404':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'413':
description: PayloadTooLargeException
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadTooLargeException'
'429':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetEndpointRequest'
tags:
- Endpoints
put:
operationId: UpdateEndpoint
summary: Update Endpoint
description: 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 for an endpoint. If an update includes one or more values for a custom attribute, Amazon Pinpoint replaces (overwrites) any existing values with the new values.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateEndpointResponse'
'400':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'403':
description: ForbiddenException
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenException'
'500':
description: InternalServerErrorException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorException'
'405':
description: MethodNotAllowedException
content:
application/json:
schema:
$ref: '#/components/schemas/MethodNotAllowedException'
'404':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'413':
description: PayloadTooLargeException
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadTooLargeException'
'429':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateEndpointRequest'
tags:
- Endpoints
/v1/apps/{ApplicationId}/endpoints:
put:
operationId: UpdateEndpointsBatch
summary: Update Endpoints Batch
description: Creates a new batch of endpoints for an application or updates the settings and attributes of a batch of existing endpoints for an application. You can also use this operation to define custom attributes for a batch of endpoints. If an update includes one or more values for a custom attribute, Amazon Pinpoint replaces (overwrites) any existing values with the new values.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateEndpointsBatchResponse'
'400':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'403':
description: ForbiddenException
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenException'
'500':
description: InternalServerErrorException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorException'
'405':
description: MethodNotAllowedException
content:
application/json:
schema:
$ref: '#/components/schemas/MethodNotAllowedException'
'404':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'413':
description: PayloadTooLargeException
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadTooLargeException'
'429':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateEndpointsBatchRequest'
tags:
- Endpoints
components:
schemas:
NotFoundException:
type: object
properties:
Message:
type: string
description: The message that's returned from the API.
RequestID:
type: string
description: The unique identifier for the request or response.
GetEndpointRequest:
type: object
properties:
ApplicationId:
type: string
description: The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.
EndpointId:
type: string
description: The case insensitive unique identifier for the endpoint. The identifier can't contain $, { or }.
required:
- ApplicationId
- EndpointId
DeleteEndpointRequest:
type: object
properties:
ApplicationId:
type: string
description: The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.
EndpointId:
type: string
description: The case insensitive unique identifier for the endpoint. The identifier can't contain $, { or }.
required:
- ApplicationId
- EndpointId
EndpointBatchRequest:
type: object
properties:
Item:
type: array
items:
$ref: '#/components/schemas/EndpointBatchItem'
description: An array that defines the endpoints to create or update and, for each endpoint, the property values to set or change. An array can contain a maximum of 100 items.
required:
- Item
GetEndpointResponse:
type: object
properties:
EndpointResponse:
$ref: '#/components/schemas/EndpointResponse'
required:
- EndpointResponse
EndpointLocation:
type: object
properties:
City:
type: string
description: The name of the city where the endpoint is located.
Country:
type: string
description: 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.
Latitude:
type: number
description: The latitude coordinate of the endpoint location, rounded to one decimal place.
Longitude:
type: number
description: The longitude coordinate of the endpoint location, rounded to one decimal place.
PostalCode:
type: string
description: The postal or ZIP code for the area where the endpoint is located.
Region:
type: string
description: The name of the region where the endpoint is located. For locations in the United States, this value is the name of a state.
UpdateEndpointRequest:
type: object
properties:
ApplicationId:
type: string
description: The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.
EndpointId:
type: string
description: The case insensitive unique identifier for the endpoint. The identifier can't contain $, { or }.
EndpointRequest:
$ref: '#/components/schemas/EndpointRequest'
required:
- ApplicationId
- EndpointId
- EndpointRequest
DeleteEndpointResponse:
type: object
properties:
EndpointResponse:
$ref: '#/components/schemas/EndpointResponse'
required:
- EndpointResponse
UpdateEndpointsBatchRequest:
type: object
properties:
ApplicationId:
type: string
description: The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.
EndpointBatchRequest:
$ref: '#/components/schemas/EndpointBatchRequest'
required:
- ApplicationId
- EndpointBatchRequest
MessageBody:
type: object
properties:
Message:
type: string
description: The message that's returned from the API.
RequestID:
type: string
description: The unique identifier for the request or response.
PayloadTooLargeException:
type: object
properties:
Message:
type: string
description: The message that's returned from the API.
RequestID:
type: string
description: The unique identifier for the request or response.
UpdateEndpointResponse:
type: object
properties:
MessageBody:
$ref: '#/components/schemas/MessageBody'
required:
- MessageBody
EndpointUser:
type: object
properties:
UserAttributes:
type: object
additionalProperties:
type: array
items:
type: string
description: '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. Attribute names are case sensitive. An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. 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 consol'
UserId:
type: string
description: The unique identifier for the user.
EndpointResponse:
type: object
properties:
Address:
type: string
description: 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.
ApplicationId:
type: string
description: The unique identifier for the application that's associated with the endpoint.
Attributes:
type: object
additionalProperties:
type: array
items:
type: string
description: '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.'
ChannelType:
type: string
enum:
- PUSH
- GCM
- APNS
- APNS_SANDBOX
- APNS_VOIP
- APNS_VOIP_SANDBOX
- ADM
- SMS
- VOICE
- EMAIL
- BAIDU
- CUSTOM
- IN_APP
description: The channel that's used when sending messages or push notifications to the endpoint.
CohortId:
type: string
description: 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:
type: string
description: The date and time, in ISO 8601 format, when the endpoint was created.
Demographic:
$ref: '#/components/schemas/EndpointDemographic'
EffectiveDate:
type: string
description: The date and time, in ISO 8601 format, when the endpoint was last updated.
EndpointStatus:
type: string
description: '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.'
Id:
type: string
description: 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.
Location:
$ref: '#/components/schemas/EndpointLocation'
Metrics:
type: object
additionalProperties:
type: number
description: One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.
OptOut:
type: string
description: '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:
type: string
description: The unique identifier for the most recent request to update the endpoint.
User:
$ref: '#/components/schemas/EndpointUser'
MethodNotAllowedException:
type: object
properties:
Message:
type: string
description: The message that's returned from the API.
RequestID:
type: string
description: The unique identifier for the request or response.
EndpointRequest:
type: object
properties:
Address:
type: string
description: 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.
Attributes:
type: object
additionalProperties:
type: array
items:
type: string
description: '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. Attribute names are case sensitive. An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (\), and slash (/). The Amazon Pinpo'
ChannelType:
type: string
enum:
- PUSH
- GCM
- APNS
- APNS_SANDBOX
- APNS_VOIP
- APNS_VOIP_SANDBOX
- ADM
- SMS
- VOICE
- EMAIL
- BAIDU
- CUSTOM
- IN_APP
description: The channel to use when sending messages or push notifications to the endpoint.
Demographic:
$ref: '#/components/schemas/EndpointDemographic'
EffectiveDate:
type: string
description: The date and time, in ISO 8601 format, when the endpoint is updated.
EndpointStatus:
type: string
description: '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.'
Location:
$ref: '#/components/schemas/EndpointLocation'
Metrics:
type: object
additionalProperties:
type: number
description: One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.
OptOut:
type: string
description: '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:
type: string
description: The unique identifier for the most recent request to update the endpoint.
User:
$ref: '#/components/schemas/EndpointUser'
UpdateEndpointsBatchResponse:
type: object
properties:
MessageBody:
$ref: '#/components/schemas/MessageBody'
required:
- MessageBody
InternalServerErrorException:
type: object
properties:
Message:
type: string
description: The message that's returned from the API.
RequestID:
type: string
description: The unique identifier for the request or response.
ForbiddenException:
type: object
properties:
Message:
type: string
description: The message that's returned from the API.
RequestID:
type: string
description: The unique identifier for the request or response.
TooManyRequestsException:
type: object
properties:
Message:
type: string
description: The message that's returned from the API.
RequestID:
type: string
description: The unique identifier for the request or response.
EndpointBatchItem:
type: object
properties:
Address:
type: string
description: 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.
Attributes:
type: object
additionalProperties:
type: array
items:
type: string
description: '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. Attribute names are case sensitive. An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (\), and slash (/). The Amazon Pinpo'
ChannelType:
type: string
enum:
- PUSH
- GCM
- APNS
- APNS_SANDBOX
- APNS_VOIP
- APNS_VOIP_SANDBOX
- ADM
- SMS
- VOICE
- EMAIL
- BAIDU
- CUSTOM
- IN_APP
description: The channel to use when sending messages or push notifications to the endpoint.
Demographic:
$ref: '#/components/schemas/EndpointDemographic'
EffectiveDate:
type: string
description: The date and time, in ISO 8601 format, when the endpoint was created or updated.
EndpointStatus:
type: string
description: '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.'
Id:
type: string
description: The unique identifier for the endpoint in the context of the batch.
Location:
$ref: '#/components/schemas/EndpointLocation'
Metrics:
type: object
additionalProperties:
type: number
description: One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.
OptOut:
type: string
description: '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:
type: string
description: The unique identifier for the request to create or update the endpoint.
User:
$ref: '#/components/schemas/EndpointUser'
BadRequestException:
type: object
properties:
Message:
type: string
description: The message that's returned from the API.
RequestID:
type: string
description: The unique identifier for the request or response.
EndpointDemographic:
type: object
properties:
AppVersion:
type: string
description: The version of the app that's associated with the endpoint.
Locale:
type: string
description: '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.'
Make:
type: string
description: The manufacturer of the endpoint device, such as apple or samsung.
Model:
type: string
description: The model name or number of the endpoint device, such as iPhone or SM-G900F.
ModelVersion:
type: string
description: The model version of the endpoint device.
Platform:
type: string
description: The platform of the endpoint device, such as ios.
PlatformVersion:
type: string
description: The platform version of the endpoint device.
Timezone:
type: string
description: The time zone of the endpoint, specified as a tz database name value, such as America/Los_Angeles.
securitySchemes:
sigv4:
type: apiKey
in: header
name: Authorization
description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
x-aws-sigv4:
signingName: mobiletargeting
x-provenance:
method: harvested
publisher: Amazon Web Services
source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/pinpoint/service/2016-12-01/pinpoint-2016-12-01.json
note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)