Skip to main content
If you’re currently using Amazon SES and want to migrate to SendPost, we offer Amazon SES Compatible APIs (v1 and v2) that minimize code changes. You only need to change the endpoint URL and replace AWS Signature authentication with a simple API key header.

Quick Migration Steps

1

Change the endpoint URL

  • From: https://email.{region}.amazonaws.com/
  • To: https://api.sendpost.io/api/v1/subaccount/email/ses/v1
2

Update authentication

  • From: AWS Signature Version 4 (complex signing with access/secret keys)
  • To: X-SubAccount-ApiKey: YOUR_SENDPOST_API_KEY header
3

Keep your request body

Use the exact same SES v1 or v2 JSON request format - no changes needed!
4

Optional: Add SendPostOptions

Optionally add SendPostOptions to leverage SendPost-specific features like IP Pool routing

SES v1 Migration Example


SES v2 Migration Example


Field Mappings

SES v1 → SendPost

SES v2 → SendPost


SendPostOptions Extension

SendPost offers optional extensions through the SendPostOptions field that are not available in the standard SES API:
Tracking Explained: Open and click events are tracked via Amazon SES’s configuration set (“sendpost-events”) and delivered to SendPost through SNS notifications. The TrackOpens and TrackClicks options in SendPostOptions control SendPost’s tracking pixels, which provide additional tracking when emails are processed by SendPost before being sent to SES. Both tracking methods work independently.

Supported SES Features


Unsupported SES Features

The following SES features are not supported and will return a ValidationException error if present:
Error Response for Unsupported Fields:

Response Format

Success Response (HTTP 200)

Error Response (HTTP 400/403/413/429/500)

Error Types


Key Differences: SES v1 vs v2


IP Pool Routing

When using the Amazon SES Compatible API, you can specify an IP Pool through SendPostOptions.IPPool. This IP Pool must be configured in SendPost to route traffic to your Amazon SES provider.
Important: The IP Pool specified in SendPostOptions.IPPool must exist in SendPost and be configured to route to your Amazon SES provider. If not specified, the default IP Pool will be used.

Next Steps