Amazon Pinpoint Pinpoint Endpoints API

The Pinpoint Endpoints API from Amazon Pinpoint — 2 operation(s) for pinpoint endpoints.

Operations 4

DELETE /v1/apps/{ApplicationId}/endpoints/{EndpointId} Delete Endpoint #
GET /v1/apps/{ApplicationId}/endpoints/{EndpointId} Get Endpoint #
PUT /v1/apps/{ApplicationId}/endpoints/{EndpointId} Update Endpoint #
PUT /v1/apps/{ApplicationId}/endpoints Update Endpoints Batch #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-pinpoint:amazon-pinpoint-endpoints-api"
All apis
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.

Get an API 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 Specification

amazon-pinpoint-endpoints-api-openapi.yml Raw ↑
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)