Skip to content
Splashify Pro
Email docsEmail

Get email status

Check whether a sent email has been queued, delivered, bounced, or rejected.

GET

/api/v1/partner/email/emails/:message_id

Path parameters

Response

json
{
  "success": true,
  "message_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "delivered",
  "from_address": "[email protected]",
  "to_address": "[email protected]",
  "subject": "Welcome",
  "category": "transactional",
  "smtp_message_id": "<[email protected]>",
  "created_at": "2026-05-03T12:34:56Z",
  "sent_at": "2026-05-03T12:34:57Z",
  "delivered_at": "2026-05-03T12:34:57Z"
}

Status values

Bounce details

When status: bounced:

json
{
  "status": "bounced",
  "bounced_at": "2026-05-03T12:35:01Z",
  "bounce_type": "Permanent",
  "bounce_reason": "no_such_user"
}

When to use polling vs webhooks

Polling is the wrong default. Webhooks (set up via event destinations) push status changes to your server within seconds without you polling.

Use this endpoint for:

  • One-off lookups (debugging a specific send)
  • UI surfaces showing live status (after a webhook update lands)
  • Reconciliation jobs (check that webhook delivery wasn't dropped)

Don't poll every send every 5 seconds — wasteful for both sides.

Common errors

Retention

Outbox rows are retained for 30 days. After that, older rows return 404. For long-term audit, listen to the Send / Delivery / Bounce webhook events and persist them yourself.