Documentation Index
Fetch the complete documentation index at: https://jetemail.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Event Types Overview
Webhook events are namespaced by service (outbound or inbound). Subscribe to the events relevant to your use case.
Outbound Events
| Event | Description |
|---|
outbound.queued | Message entered the queue |
outbound.delivered | Message successfully delivered |
outbound.deferred | Message temporarily deferred |
outbound.bounced | Message bounced (hard or soft) |
outbound.rejected | Message rejected by remote server |
outbound.spam | Message flagged as spam |
outbound.virus | Virus detected in message |
outbound.dropped | Message dropped (policy/rate limit) |
outbound.opened | Recipient opened the email |
outbound.clicked | Recipient clicked a link |
outbound.complaint | Spam complaint received (FBL) |
Inbound Events
These events notify you about inbound email activity. If you want to deliver the actual email content to your application via webhook, see Inbound Webhooks.
| Event | Description |
|---|
inbound.received | Message received at our servers |
inbound.delivered | Message delivered to your mailbox |
inbound.spam | Message marked as spam |
inbound.blocked | Message blocked by policy |
Outbound Event Payloads
outbound.queued
Triggered when a message enters the queue.
{
"id": "evt_abc123",
"service": "outbound",
"type": "outbound.queued",
"created_at": 1704825600,
"data": {
"uid": "message-uid",
"from": "sender@example.com",
"to": "recipient@example.com",
"subject": "Hello World",
"user": "api-user"
}
}
outbound.delivered
Triggered when a message is successfully delivered.
{
"id": "evt_abc123",
"service": "outbound",
"type": "outbound.delivered",
"created_at": 1704825600,
"data": {
"uid": "message-uid",
"from": "sender@example.com",
"to": "recipient@example.com",
"subject": "Hello World",
"mx": "aspmx.l.google.com",
"host": "2404:6800:4003:c1a::1b",
"ip": "2001:df4:2980:15::1",
"response": "250 2.0.0 OK"
}
}
outbound.bounced
Triggered when a message bounces.
{
"id": "evt_abc123",
"service": "outbound",
"type": "outbound.bounced",
"created_at": 1704825600,
"data": {
"uid": "message-uid",
"from": "sender@example.com",
"to": "invalid@example.com",
"bounce_type": "hard",
"mx": "mx.example.com",
"host": "192.0.2.1",
"response": "550 User unknown"
}
}
The bounce_type field indicates whether it was a hard bounce (permanent) or soft bounce (temporary).
outbound.rejected
Triggered when a message is rejected by the remote mail server.
{
"id": "evt_abc123",
"service": "outbound",
"type": "outbound.rejected",
"created_at": 1704825600,
"data": {
"uid": "message-uid",
"from": "sender@example.com",
"to": "blocked@example.com",
"mx": "mx.example.com",
"host": "192.0.2.1",
"response": "550 5.7.1 Message rejected due to policy"
}
}
outbound.deferred
Triggered when a message is temporarily deferred by the remote mail server.
{
"id": "evt_abc123",
"service": "outbound",
"type": "outbound.deferred",
"created_at": 1704825600,
"data": {
"uid": "message-uid",
"from": "sender@example.com",
"to": "recipient@example.com",
"mx": "mx.example.com",
"host": "192.0.2.1",
"response": "451 4.7.1 Try again later"
}
}
outbound.spam
Triggered when a message is flagged as spam before delivery.
{
"id": "evt_abc123",
"service": "outbound",
"type": "outbound.spam",
"created_at": 1704825600,
"data": {
"uid": "message-uid",
"from": "sender@example.com",
"to": "recipient@example.com",
"subject": "Buy now!!!",
"score": 15.3,
"rules": "URIBL_BLOCKED,HTML_IMAGE_RATIO_02"
}
}
outbound.virus
Triggered when a virus is detected in a message.
{
"id": "evt_abc123",
"service": "outbound",
"type": "outbound.virus",
"created_at": 1704825600,
"data": {
"uid": "message-uid",
"from": "sender@example.com",
"to": "recipient@example.com",
"subject": "Document attached",
"response": "Virus detected: Eicar-Test-Signature"
}
}
outbound.dropped
Triggered when a message is dropped due to policy or rate limiting.
{
"id": "evt_abc123",
"service": "outbound",
"type": "outbound.dropped",
"created_at": 1704825600,
"data": {
"uid": "message-uid",
"from": "sender@example.com",
"to": "recipient@example.com",
"response": "Rate limit exceeded"
}
}
outbound.opened
Triggered when a recipient opens an email (requires open tracking enabled).
{
"id": "evt_abc123",
"service": "outbound",
"type": "outbound.opened",
"created_at": 1704825600,
"data": {
"uid": "message-uid",
"country": "AU",
"email_client": "Gmail",
"user_agent": "Mozilla/5.0..."
}
}
outbound.clicked
Triggered when a recipient clicks a link (requires click tracking enabled).
{
"id": "evt_abc123",
"service": "outbound",
"type": "outbound.clicked",
"created_at": 1704825600,
"data": {
"uid": "message-uid",
"url": "https://example.com/promo",
"country": "AU",
"user_agent": "Mozilla/5.0..."
}
}
outbound.complaint
Triggered when a spam complaint is received via feedback loop (FBL).
{
"id": "evt_abc123",
"service": "outbound",
"type": "outbound.complaint",
"created_at": 1704825600,
"data": {
"uid": "message-uid",
"from": "sender@example.com",
"to": "recipient@example.com"
}
}
Spam complaints can negatively impact your sender reputation. Monitor these closely and remove recipients who complain from your mailing lists.
Inbound Event Payloads
inbound.received
Triggered when a message is first received at our servers.
{
"id": "evt_def456",
"service": "inbound",
"type": "inbound.received",
"created_at": 1704825600,
"data": {
"uid": "message-uid",
"from": "external@sender.com",
"to": "user@yourdomain.com",
"subject": "Hello",
"domain": "yourdomain.com",
"host": "mail.sender.com",
"ip": "203.0.113.1"
}
}
inbound.delivered
Triggered when a message is successfully delivered to your mailbox.
{
"id": "evt_def456",
"service": "inbound",
"type": "inbound.delivered",
"created_at": 1704825600,
"data": {
"uid": "message-uid",
"from": "external@sender.com",
"to": "user@yourdomain.com",
"subject": "Hello",
"domain": "yourdomain.com",
"response": "250 OK"
}
}
inbound.spam
Triggered when a message is marked as spam.
{
"id": "evt_def456",
"service": "inbound",
"type": "inbound.spam",
"created_at": 1704825600,
"data": {
"uid": "message-uid",
"from": "spammer@bad.com",
"to": "user@yourdomain.com",
"subject": "You won!!!",
"domain": "yourdomain.com",
"spam_score": 12.5,
"spam_report": "URIBL_BLOCKED,BAYES_99"
}
}
inbound.blocked
Triggered when a message is blocked by policy.
{
"id": "evt_def456",
"service": "inbound",
"type": "inbound.blocked",
"created_at": 1704825600,
"data": {
"uid": "message-uid",
"from": "blocked@bad.com",
"to": "user@yourdomain.com",
"domain": "yourdomain.com",
"response": "550 5.7.1 Sender blocked by policy"
}
}
Common Payload Fields
All webhook payloads share these common fields:
| Field | Type | Description |
|---|
id | string | Unique event identifier (format: evt_xxx) |
service | string | Either outbound or inbound |
type | string | The event type |
created_at | integer | Unix timestamp when the event occurred |
data | object | Event-specific data |
Data Object Fields
| Field | Events | Description |
|---|
uid | All | Unique message identifier |
from | Most | Sender email address |
to | Most | Recipient email address |
subject | Some | Email subject line |
domain | Inbound | Recipient domain |
response | Delivery events | Server response message |
mx | Outbound delivery | Mail exchanger used |
host | Delivery events | Server hostname or IP |
ip | Some | IP address |