Amazon Pinpoint Pinpoint Email API

The Pinpoint Email API from Amazon Pinpoint — 1 operation(s) for pinpoint email.

Business capability
Email AE-150.10

Operations 4

POST /v1/templates/{TemplateName}/email Create Email Template #
DELETE /v1/templates/{TemplateName}/email Delete Email Template #
GET /v1/templates/{TemplateName}/email Get Email Template #
PUT /v1/templates/{TemplateName}/email Update Email Template #

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-email-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-email-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Amazon Pinpoint Email 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: Email
paths:
  /v1/templates/{TemplateName}/email:
    post:
      operationId: CreateEmailTemplate
      summary: Create Email Template
      description: Creates a message template for messages that are sent through the email channel.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateEmailTemplateResponse'
        '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'
        '429':
          description: TooManyRequestsException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEmailTemplateRequest'
      tags:
      - Email
    delete:
      operationId: DeleteEmailTemplate
      summary: Delete Email Template
      description: Deletes a message template for messages that were sent through the email channel.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteEmailTemplateResponse'
        '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/DeleteEmailTemplateRequest'
      tags:
      - Email
    get:
      operationId: GetEmailTemplate
      summary: Get Email Template
      description: Retrieves the content and settings of a message template for messages that are sent through the email channel.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEmailTemplateResponse'
        '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/GetEmailTemplateRequest'
      tags:
      - Email
    put:
      operationId: UpdateEmailTemplate
      summary: Update Email Template
      description: Updates an existing message template for messages that are sent through the email channel.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateEmailTemplateResponse'
        '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/UpdateEmailTemplateRequest'
      tags:
      - Email
components:
  schemas:
    GetEmailTemplateResponse:
      type: object
      properties:
        EmailTemplateResponse:
          $ref: '#/components/schemas/EmailTemplateResponse'
      required:
      - EmailTemplateResponse
    CreateEmailTemplateRequest:
      type: object
      properties:
        EmailTemplateRequest:
          $ref: '#/components/schemas/EmailTemplateRequest'
        TemplateName:
          type: string
          description: The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.
      required:
      - EmailTemplateRequest
      - TemplateName
    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.
    DeleteEmailTemplateResponse:
      type: object
      properties:
        MessageBody:
          $ref: '#/components/schemas/MessageBody'
      required:
      - MessageBody
    EmailTemplateResponse:
      type: object
      properties:
        Arn:
          type: string
          description: The Amazon Resource Name (ARN) of the message template.
        CreationDate:
          type: string
          description: The date, in ISO 8601 format, when the message template was created.
        DefaultSubstitutions:
          type: string
          description: The JSON object that specifies the default values that are used for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable.
        HtmlPart:
          type: string
          description: The message body, in HTML format, that's used in email messages that are based on the message template.
        LastModifiedDate:
          type: string
          description: The date, in ISO 8601 format, when the message template was last modified.
        RecommenderId:
          type: string
          description: The unique identifier for the recommender model that's used by the message template.
        Subject:
          type: string
          description: The subject line, or title, that's used in email messages that are based on the message template.
        Headers:
          type: array
          items:
            $ref: '#/components/schemas/MessageHeader'
          description: The list of MessageHeaders for the email. You can have up to 15 Headers.
        tags:
          type: object
          additionalProperties:
            type: string
          description: A string-to-string map of key-value pairs that identifies the tags that are associated with the message template. Each tag consists of a required tag key and an associated tag value.
        TemplateDescription:
          type: string
          description: The custom description of the message template.
        TemplateName:
          type: string
          description: The name of the message template.
        TemplateType:
          type: string
          enum:
          - EMAIL
          - SMS
          - VOICE
          - PUSH
          - INAPP
          description: The type of channel that the message template is designed for. For an email template, this value is EMAIL.
        TextPart:
          type: string
          description: The message body, in plain text format, that's used in email messages that are based on the message template.
        Version:
          type: string
          description: The unique identifier, as an integer, for the active version of the message template, or the version of the template that you specified by using the version parameter in your request.
      required:
      - CreationDate
      - LastModifiedDate
      - TemplateName
      - TemplateType
    CreateTemplateMessageBody:
      type: object
      properties:
        Arn:
          type: string
          description: The Amazon Resource Name (ARN) of the message template that was created.
        Message:
          type: string
          description: The message that's returned from the API for the request to create the message template.
        RequestID:
          type: string
          description: The unique identifier for the request to create the message template.
    GetEmailTemplateRequest:
      type: object
      properties:
        TemplateName:
          type: string
          description: The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.
        Version:
          type: string
          description: 'The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource. If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don''t occur. If you don''t specify a value for this parameter, Amazon Pinpoint does the following: For a get op'
      required:
      - TemplateName
    MessageHeader:
      type: object
      properties:
        Name:
          type: string
          description: The name of the message header. The header name can contain up to 126 characters.
        Value:
          type: string
          description: The value of the message header. The header value can contain up to 870 characters, including the length of any rendered attributes. For example if you add the {CreationDate} attribute, it renders as YYYY-MM-DDTHH:MM:SS.SSSZ and is 24 characters in length.
    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.
    EmailTemplateRequest:
      type: object
      properties:
        DefaultSubstitutions:
          type: string
          description: A JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.
        HtmlPart:
          type: string
          description: The message body, in HTML format, to use in email messages that are based on the message template. We recommend using HTML format for email clients that render HTML content. You can include links, formatted text, and more in an HTML message.
        RecommenderId:
          type: string
          description: The unique identifier for the recommender model to use for the message template. Amazon Pinpoint uses this value to determine how to retrieve and process data from a recommender model when it sends messages that use the template, if the template contains message variables for recommendation data.
        Subject:
          type: string
          description: The subject line, or title, to use in email messages that are based on the message template.
        Headers:
          type: array
          items:
            $ref: '#/components/schemas/MessageHeader'
          description: The list of MessageHeaders for the email. You can have up to 15 Headers.
        tags:
          type: object
          additionalProperties:
            type: string
          description: As of 22-05-2023 tags has been deprecated for update operations. After this date any value in tags is not processed and an error code is not returned. To manage tags we recommend using either Tags in the API Reference for Amazon Pinpoint, resourcegroupstaggingapi commands in the AWS Command Line Interface Documentation or resourcegroupstaggingapi in the AWS SDK. (Deprecated) A string-to-string map of key-value pairs that defines the tags to associate with the message template. Each tag consists of a required tag key and an associated tag value.
        TemplateDescription:
          type: string
          description: A custom description of the message template.
        TextPart:
          type: string
          description: The message body, in plain text format, to use in email messages that are based on the message template. We recommend using plain text format for email clients that don't render HTML content and clients that are connected to high-latency networks, such as mobile devices.
    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.
    CreateEmailTemplateResponse:
      type: object
      properties:
        CreateTemplateMessageBody:
          $ref: '#/components/schemas/CreateTemplateMessageBody'
      required:
      - CreateTemplateMessageBody
    DeleteEmailTemplateRequest:
      type: object
      properties:
        TemplateName:
          type: string
          description: The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.
        Version:
          type: string
          description: 'The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource. If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don''t occur. If you don''t specify a value for this parameter, Amazon Pinpoint does the following: For a get op'
      required:
      - TemplateName
    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.
    UpdateEmailTemplateRequest:
      type: object
      properties:
        CreateNewVersion:
          type: boolean
          description: 'Specifies whether to save the updates as a new version of the message template. Valid values are: true, save the updates as a new version; and, false, save the updates to (overwrite) the latest existing version of the template. If you don''t specify a value for this parameter, Amazon Pinpoint saves the updates to (overwrites) the latest existing version of the template. If you specify a value of true for this parameter, don''t specify a value for the version parameter. Otherwise, an error will occur.'
        EmailTemplateRequest:
          $ref: '#/components/schemas/EmailTemplateRequest'
        TemplateName:
          type: string
          description: The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.
        Version:
          type: string
          description: 'The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource. If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don''t occur. If you don''t specify a value for this parameter, Amazon Pinpoint does the following: For a get op'
      required:
      - EmailTemplateRequest
      - TemplateName
    UpdateEmailTemplateResponse:
      type: object
      properties:
        MessageBody:
          $ref: '#/components/schemas/MessageBody'
      required:
      - MessageBody
    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.
  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)