Skip to content

Messages & Statuses

A message is a single attempt to send a notification to one contact via one channel. Every API call creates one or more messages that you can track.

Message statuses

StatusMeaning
queuedAccepted, waiting to be processed
sentHanded off to provider
deliveredProvider confirmed handoff (email delivered ≠ inbox)
failedMessage failed (see reason)
suppressedNot sent (contact opted out or bounced)

Viewing messages

Check the Activity page in your dashboard to see:

  • All recent messages
  • Status and timestamps
  • Channel and template used
  • Error messages for failures

Or use the API to check programmatically:

bash
curl https://api.sendivent.com/v1/notifications/{id} \
  -H "Authorization: Bearer YOUR_API_KEY"

See GET /v1/notifications/{id} for the full response.

Send response

When you send a notification, the API returns a notification ID you can use for tracking.

bash
curl -X POST https://api.sendivent.com/v1/send/welcome \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"to": "user@example.com"}'
json
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "event": "welcome",
  "status": "accepted"
}

Use the id to track message status via GET /v1/notifications/{id}.

Multi-contact sends

Sending to multiple contacts creates separate notifications, each tracked independently:

json
{
  "to": [
    { "email": "alice@example.com", "name": "Alice" },
    { "email": "bob@example.com", "name": "Bob" }
  ],
  "payload": { "company": "ACME" }
}

Each contact gets individually compiled templates with their specific data. One can fail while others succeed.

What to do when...

Message is queued too long

Likely causes:

  • High volume causing queue delays
  • Provider rate limits

What to do:

  1. Check the Activity log for progress
  2. If it remains queued unusually long, contact support with the notification ID

Message is failed

Likely causes:

  • Invalid email address or phone number
  • Provider rejected the message
  • Template rendering error

What to do:

  1. Check the error message in Activity log
  2. Verify the contact's email/phone is valid
  3. Check your template for syntax errors
  4. Review the error details

Message is suppressed

Likely causes:

  • Contact previously bounced (hard bounce)
  • Contact marked as spam complaint
  • Contact unsubscribed

What to do:

  1. Check the suppression reason in Activity log
  2. If legitimate contact, have them re-subscribe
  3. Remove invalid addresses from your system

Message shows sent but user didn't receive (email)

Likely causes:

  • Spam folder
  • Email provider delays
  • DKIM/SPF not configured

What to do:

  1. Ask user to check spam folder
  2. Verify domain authentication (see Email)
  3. Check the Activity log for any errors

Common pitfalls

  • Checking status too soonqueuedsentdelivered takes seconds
  • Ignoring suppressed — Clean your contact list of bounced addresses
  • Missing DKIM — Causes deliverability issues, not immediate failures

See also

Released under the MIT License.