Webhook events
domain.created
A domain was added to the team.
When it fires
domain.created fires when a domain is added in the dashboard or through the REST API. Provisioning in Amazon SES happens afterwards, so records holds the MX, SPF, and DMARC records but not yet the DKIM records. A domain added as a claim placeholder has no records. Follow domain.updated for status changes.
Payload
json
{
"type": "domain.created",
"created_at": "2026-09-29T10:00:00.000Z",
"data": {
"id": "YOUR_DOMAIN_ID",
"name": "example.com",
"status": "pending",
"created_at": "2026-09-29T09:59:59.000Z",
"region": "us-east-1",
"capabilities": {
"sending": "enabled",
"receiving": "disabled"
},
"records": [
{
"record": "SPF",
"name": "send.example.com",
"type": "TXT",
"ttl": "300",
"status": "pending",
"value": "v=spf1 include:amazonses.com ~all"
}
]
}
}| Field | Description |
|---|---|
id, name | The domain's ID and name. |
status | The domain's status, such as pending, verified, partially_verified, or failed. |
created_at | When the domain was added. |
region | The AWS region the domain sends from. |
capabilities | sending and receiving, each enabled or disabled. |
records | The DNS records to publish. Each has record (DKIM, SPF, DMARC, MX, Tracking, or Receiving), name, type (CNAME, MX, or TXT), ttl, status, value, and priority on records that have one. The DKIM records join the list once Amazon SES has issued the domain's keys. |
Handle the event
Verify the signature and deduplicate by svix-id.