Skip to main content
Helo gives you full visibility into every email you send. From the moment a message is accepted to the moment it’s delivered, opened, or bounced, every event is captured and queryable — in real time. Activity comes in two forms:
  • Events — an ordered log of every delivery lifecycle event for every message
  • Messages — a view of each distinct message along with its full delivery history

Events

Every message goes through a series of lifecycle events as it moves through Helo’s infrastructure.

Querying events

You can retrieve events via the API with a wide range of filters:Results are paginated using a cursor. Pass the after value from a response to fetch the next page. Each page returns up to 500 events.

Messages

The messages view gives you a higher-level perspective — one record per distinct message sent, each with a summary of its delivery status and recipient list. Each message has:
  • A unique messageId
  • The channelId it was sent through
  • mailType (transactional or broadcast)
  • mailSource (api or smtp)
  • deliveryType (live or sandbox)
  • status (queued or sent)
  • Subject, recipients, and tags

Message details

Fetching a single message by ID returns the full picture:
  • Headers — from, to, cc, bcc, reply-to addresses
  • Content — plain text body, HTML body
  • Attachments — filename, disposition (inline or attachment), and size
  • Tracking settings — whether open tracking and link tracking were enabled
  • Events — the complete ordered history of events for that message

Querying messages

Messages support the same filters as events: channelId, startDate/endDate, recipient, subject, tags, mailType, and status. Results are paginated up to 100 per page.

Statistics

Helo aggregates your sending data into statistics so you can understand trends and monitor the health of your sending over time. Stats are always broken down by mail type — transactional and broadcast — so you can see how each sending stream is performing independently. The following metrics are tracked:

Time-based aggregations

Stats are available at three granularities:
  • Hourly — one data point per hour, for a given from/to range
  • Daily — one data point per day, for a given from/to range (pass a timezone to align days to your local time)
  • Totals — a single aggregated summary for the entire from/to range
All three endpoints support filtering by channelId and by tags.