Amazon SES · AsyncAPI Specification
Amazon Ses Events
Version
View Spec
View on GitHub
EmailEmail DeliverabilityEmail ServiceMarketing EmailNotificationSMTPTransactional EmailBulk EmailEmail ReceivingDKIMMessagingCloud InfrastructureAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-13'
method: searched
source: https://docs.aws.amazon.com/ses/latest/dg/event-publishing-retrieving-sns-contents.html
spec_type: null
spec_type_note: >-
AWS publishes NO AsyncAPI document for Amazon SES. Searched the SES Developer Guide event-publishing
section, the SES API v2 reference, the AWS docs llms.txt index and the awslabs/aws GitHub orgs; nothing.
This file is the webhook/event catalogue captured from the published event-record documentation, so it
carries a Webhooks pointer and NOT an AsyncAPI pointer. No AsyncAPI is fabricated.
delivery_model:
name: SES event publishing
mechanism: >-
SES does not POST to a customer-supplied URL directly. Events are published to a configured event
destination attached to a configuration set. One of those destinations is Amazon SNS, and an SNS topic can
deliver to an HTTPS endpoint — that composition is how a SES event becomes a webhook.
webhook_path: SES -> configuration set event destination -> Amazon SNS topic -> HTTPS subscription
configured_by: CreateConfigurationSetEventDestination / UpdateConfigurationSetEventDestination
selected_at_send: EmailContent + ConfigurationSetName on SendEmail / SendBulkEmail
max_destinations_per_configuration_set: 10
destinations:
- type: SNS
http_capable: true
docs: https://docs.aws.amazon.com/ses/latest/dg/event-publishing-add-event-destination-sns.html
note: The only destination that yields an HTTP callback to a caller-owned endpoint.
- type: EventBridge
http_capable: false
docs: https://docs.aws.amazon.com/ses/latest/dg/event-publishing-add-event-destination-eventbridge.html
- type: CloudWatch
http_capable: false
docs: https://docs.aws.amazon.com/ses/latest/dg/event-publishing-add-event-destination-cloudwatch.html
- type: Data Firehose
http_capable: false
docs: https://docs.aws.amazon.com/ses/latest/dg/event-publishing-add-event-destination-firehose.html
- type: Pinpoint
http_capable: false
docs: https://docs.aws.amazon.com/ses/latest/dg/event-publishing-add-event-destination-pinpoint.html
envelope:
discriminator_field: eventType
discriminator_note: >-
The field is named eventType when event publishing is configured, and notificationType on the legacy
identity-level notification path. A consumer must handle both names.
always_present:
- eventType
- mail
payload_field_per_type: the lower-camel field matching the event type (bounce, complaint, delivery, send, reject, open, click, failure, deliveryDelay, subscription)
mail_object_fields:
- timestamp
- messageId
- source
- sourceArn
- sendingAccountId
- destination
- headersTruncated
- headers
- commonHeaders
- tags
events:
- type: Send
payload_field: send
description: SES accepted the message and will attempt delivery.
- type: Delivery
payload_field: delivery
description: The recipient's mail server accepted the message.
- type: Bounce
payload_field: bounce
description: The message was returned undelivered.
subtypes:
bounceType: [Undetermined, Permanent, Transient]
bounceSubType: [Undetermined, General, NoEmail, Suppressed, OnAccountSuppressionList, MailboxFull, MessageTooLarge, ContentRejected, AttachmentRejected]
- type: Complaint
payload_field: complaint
description: The recipient marked the message as spam.
subtypes:
complaintFeedbackType: [abuse, auth-failure, fraud, not-spam, other, virus]
complaintSubType: [OnAccountSuppressionList]
- type: Reject
payload_field: reject
description: SES accepted the message then rejected it, most often because it contained a virus.
- type: Open
payload_field: open
description: The recipient opened the message and images were loaded.
- type: Click
payload_field: click
description: The recipient clicked a link in the message.
- type: Rendering Failure
payload_field: failure
description: A templated send failed because template data was missing or malformed.
- type: DeliveryDelay
payload_field: deliveryDelay
description: Delivery was delayed and SES will retry.
subtypes:
delayType: [InternalFailure, General, MailboxFull, SpamDetected, RecipientServerError, IPFailure, TransientCommunicationFailure, BYOIPHostNameLookupUnavailable, Undetermined, SendingDeferral]
- type: Subscription
payload_field: subscription
description: A contact changed their topic subscription preferences.
event_count: 10
recent_change:
date: '2026-08-07'
summary: Amazon SES now helps identify automated open and click events in event notifications.
source: https://aws.amazon.com/about-aws/whats-new/2026/08/amazon-ses-automated-email-interactions/
note: Adds signalling that distinguishes machine-generated opens/clicks (security scanners, prefetchers) from human ones.
docs:
- https://docs.aws.amazon.com/ses/latest/dg/monitor-using-event-publishing.html
- https://docs.aws.amazon.com/ses/latest/dg/event-publishing-retrieving-sns-contents.html
- https://docs.aws.amazon.com/ses/latest/dg/event-publishing-retrieving-sns-examples.html
- https://docs.aws.amazon.com/ses/latest/dg/event-publishing-retrieving-firehose-contents.html