Skip to main content
Overview Use the timeline endpoint, provider webhooks, and auto-tracking to monitor outcomes. Timeline
  • GET /api/v1/sends/{id} returns send, messages, and normalized events.
Provider events
  • Managed: Fluxomail handles event routing; no setup required.
  • After sending, delivery/bounce/complaint/open/click events flow into the timeline automatically.
Tracking
  • HTML emails auto-embed a pixel and rewrite links (except unsubscribe).
  • Events appear as opened and clicked in the timeline.
Checks
  • Event throughput is near-real-time.
  • No repeated events after retries (idempotent by providerMessageId + type).
Webhooks retries & redelivery FluxoMail signs payloads using HMAC-SHA256 and attempts delivery immediately. Failures are placed on a retry queue with exponential backoff (up to 1 hour, default 5 attempts). Wire a cron to process retries: GET /api/webhooks/queue/run with header X-Cron-Secret. The Webhooks settings page shows a delivery log and provides a Redeliver action to replay a specific event. Related
  • API: Provider Events
  • API: Get send timeline
Logs & Metrics (recommended) Add structured logs and metrics around sends with attachments and entitlement checks.
  • Logs (JSON)
    • event: one of attachments_check, attachments_rejected, attachments_allowed
    • organizationId: string
    • count: number of attachments
    • totalBytes: sum of decoded attachment sizes
    • totalMB: float (rounded)
    • reason: when rejected, one of plan_required, too_many, too_large, invalid_base64
    • requestId: value from Fluxomail-Request-Id/X-Request-Id
    • preview: from Autumn check (when available)
  • Metrics
    • Counter: attachments.allowed.count
    • Counter: attachments.denied.count{reason}
    • Counter: attachments.total_count
    • Counter: attachments.total_bytes
    • Histogram: attachments.total_size_mb
Emit logs at INFO for checks/allowed and WARN for denials. Include request and organization context for supportability. Runbook (common scenarios)
  • No events after sending
    • Confirm the send succeeded and copy the sendId from the response
    • Check the timeline: GET /api/v1/sends/{id}
    • If still missing, contact support with sendId and timestamp
  • Duplicate events appearing
    • Verify events are idempotent per (providerMessageId, type)
    • Ensure your provider forwards each event once; avoid reposting the same payload
  • Open/clicks not tracked
    • Confirm HTML body exists (tracking injects into HTML)
    • Check that links aren’t rewritten for unsubscribe URLs (by design)
    • Ensure images and link redirects aren’t blocked by network proxies
  • 403 Unauthorized on webhook
    • Contact support; event intake is managed by Fluxomail
Email support@fluxomail.com with your sendId and timestamp.