Appearance
Deliveries
A delivery is a single attempt to send an event to one contact via one channel. Every API call creates one or more deliveries that you can track.
Delivery statuses
| Status | Meaning |
|---|---|
queued | Accepted, waiting to be processed |
sent | Handed off to provider |
delivered | Provider confirmed handoff (email delivered ≠ inbox) |
failed | Delivery failed (see reason) |
suppressed | Not sent (contact opted out or bounced) |
Viewing deliveries
Check the Activity page in your dashboard to see:
- All recent deliveries
- Status and timestamps
- Channel and template used
- Error messages for failures
What to do when...
Delivery is queued too long
Likely causes:
- High volume causing queue delays
- Provider rate limits
What to do:
- Check the Activity log for progress
- If it remains queued unusually long, contact support with the delivery ID
Delivery is failed
Likely causes:
- Invalid email address or phone number
- Provider rejected the message
- Template rendering error
What to do:
- Check the error message in Activity log
- Verify the contact's email/phone is valid
- Check your template for syntax errors
- Review the error details
Delivery is suppressed
Likely causes:
- Contact previously bounced (hard bounce)
- Contact marked as spam complaint
- Contact unsubscribed
What to do:
- Check the suppression reason in Activity log
- If legitimate contact, have them re-subscribe
- Remove invalid addresses from your system
Delivery shows sent but user didn't receive (email)
Likely causes:
- Spam folder
- Email provider delays
- DKIM/SPF not configured
What to do:
- Ask user to check spam folder
- Verify domain authentication (see Email)
- Check the Activity log for any errors
Delivery response
When you send a notification, the API returns delivery IDs:
json
{
"success": true,
"deliveries": [
{ "email": "550e8400-e29b-41d4-a716-446655440000" }
]
}See Send API for the full response format.
Multi-contact deliveries
Sending to multiple contacts creates multiple deliveries:
json
{
"success": true,
"deliveries": [
{ "email": "550e8400-e29b-41d4-a716-446655440000" },
{ "email": "550e8400-e29b-41d4-a716-446655440001" },
{ "email": "550e8400-e29b-41d4-a716-446655440002" }
]
}Each delivery is independent — one can fail while others succeed.
Common pitfalls
- Checking status too soon —
queued→sent→deliveredtakes seconds - Ignoring suppressed — Clean your contact list of bounced addresses
- Missing DKIM — Causes deliverability issues, not immediate failures
See also
- Troubleshooting — Common issues and fixes
- Email — Domain setup for better deliverability
- Contacts — Managing contact data