Skip to main content
POST
/
webhook
curl --request POST \
--url https://api.sendx.io/api/v1/rest/webhook \
--header 'Content-Type: application/json' \
--header 'X-Team-ApiKey: <api-key>' \
--data '{
"enabled": true,
"url": "https://api.example.com/webhooks/sendx",
"unsubscribed": true,
"dropped": true,
"bounced": true,
"markedSpam": true,
"clicked": true,
"opened": true,
"contactCreated": true
}'
{
  "id": "webhook_9l154iiXlZoPo7vngmamee",
  "enabled": true,
  "url": "https://api.example.com/webhooks/sendx",
  "unsubscribed": true,
  "dropped": true,
  "bounced": true,
  "markedSpam": true,
  "clicked": true,
  "opened": true,
  "contactCreated": true,
  "created": 1705750200
}
🎯 Purpose: Webhooks enable real-time integration with external systems by sending HTTP POST requests when specific events occur:
  • Contact lifecycle events
  • Email engagement tracking
  • Campaign performance updates
  • List subscription changes
📊 Event Types:
  • contactCreated: New contact added to system
  • unsubscribed: Contact opted out
  • dropped: Email dropped (invalid address)
  • bounced: Email bounced (hard/soft)
  • markedSpam: Contact marked email as spam
  • clicked: Contact clicked a link
  • opened: Contact opened an email
⚡ Best Practices:
  • Use HTTPS endpoints for security
  • Implement webhook signature verification
  • Respond quickly (< 5 seconds)
  • Handle retries gracefully
  • Log webhook payloads for debugging

Authorizations

X-Team-ApiKey
string
header
required

Team API key for authentication. Find your API key in SendX Settings → Team API Key.

Example:

X-Team-ApiKey: your_team_api_key_here

Body

application/json
url
string<uri>
required

Webhook endpoint URL

Example:

"https://api.example.com/webhooks/sendx"

enabled
boolean
default:true
required

Whether webhook is enabled

unsubscribed
boolean
default:false

Trigger webhook when a contact unsubscribes

dropped
boolean
default:false

Trigger webhook when an email is dropped

bounced
boolean
default:false

Trigger webhook when an email bounces

markedSpam
boolean
default:false

Trigger webhook when an email is marked as spam

clicked
boolean
default:false

Trigger webhook when a link in the email is clicked

opened
boolean
default:false

Trigger webhook when an email is opened

contactCreated
boolean
default:false

Trigger webhook when a new contact is created

Response

✅ Webhook created successfully

id
string
Example:

"webhook_9l154iiXlZoPo7vngmamee"

url
string<uri>

Webhook endpoint URL

Example:

"https://api.example.com/webhooks/sendx"

enabled
boolean
default:true

Whether webhook is enabled

unsubscribed
boolean
default:false

Trigger webhook when a contact unsubscribes

dropped
boolean
default:false

Trigger webhook when an email is dropped

bounced
boolean
default:false

Trigger webhook when an email bounces

markedSpam
boolean
default:false

Trigger webhook when an email is marked as spam

clicked
boolean
default:false

Trigger webhook when a link in the email is clicked

opened
boolean
default:false

Trigger webhook when an email is opened

contactCreated
boolean
default:false

Trigger webhook when a new contact is created

I