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 soon — queued → sent → delivered 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.