Common envelope
All webhook events share a consistent envelope:- id: Unique identifier (UUIDv4) for the specific delivery event. Useful for idempotency.
- event: Event type.
- created_at: ISO timestamp when the event occurred.
- data: Event-specific fields (documented per event below).
- message_id: The unique identifier for the message.
- metadata: Custom metadata attached to the message (if any).
- tag: The tag assigned to categorize the message (e.g., “newsletter”, “order-confirmation”). Will be
null
if no tag was assigned.
Event payloads
message.created
Message accepted for processing. Example payload:message.sent
Message sent to recipient server.message.delivered
Message successfully delivered.message.hard_bounced
Permanent delivery failure (e.g., user does not exist).message.soft_bounced
Temporary delivery failure (e.g., mailbox full, transient error).message.spam_complaint
Recipient reported the message as spam.message.failed
Processing failure within Lettermint.message.suppressed
Message was suppressed due to previous bounce or complaint.message.unsubscribed
Recipient unsubscribed from the mailing list.webhook.test
Special event that can be triggered from the Dashboard for connectivity testing.Next Steps
- Signed Webhooks: Verify the authenticity of webhook payloads.
- Quick introduction: Learn about all the events Lettermint sends.