Search email tracking

Returns a paginated list of email log rows for your account (latest event per message when browsing the full list).

Optional query trackingId narrows results to one message's timeline (same data shape as list, filtered).

Request body accepts zero or more search filters (same pattern as SMS tracking). Combine with dateStart / dateEnd (ISO-8601, UTC) to bound the time window.

Log rows may take 1–2 minutes to appear after a successful send.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Returns paginated email log rows for your account — one row per message showing the latest delivery event (same pattern as SMS tracking search).

Authentication

Authorization: Bearer {access_token} with scope transactional_email or all. Account OAuth token only. No Principal header.

Query parameters

ParameterRequiredDefaultDescription
dateStartNoISO-8601 start of range (UTC)
dateEndNoISO-8601 end of range (UTC)
trackingIdNoWhen set, returns rows for this batch (send response trackingId) or a single message (messageId also accepted)
pageNo0Zero-based page index
sizeNo20Page size (minimum 1)

Prefer ?trackingId= to look up one batch instead of a body filter.

Request body — search filters

JSON array of filter objects. Pass [] when no extra filters are needed.

FieldDescription
fieldNameOne of deliveryStatus, date, event, envelope, recipient, from, to, subject, status, messages, trackingId, messageId, type, label, tags
searchTermValue to match
searchOperatoris, is_not, contains, starts_with, ends_with

Filter tips:

fieldNameUse for
trackingIdBatch id from send response (same as query ?trackingId=)
messageIdPer-recipient worker id
typeSend path — API, SMTP, or MARKETING
label / tagsCampaign / send tag from TE label (exact, case-sensitive match). Use your Waymore campaign id here for one-by-one campaign grouping.

Example — cURL

curl -X POST 'https://connect.routee.net/email/tracking?page=0&size=20&dateStart=2026-07-01T00:00:00Z&dateEnd=2026-07-06T23:59:59Z' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -d '[{"fieldName":"recipient","searchTerm":"[email protected]","searchOperator":"is"}]'

Look up one batch by id:

curl -X POST 'https://connect.routee.net/email/tracking?trackingId=51b1738c-5fc5-4aa2-85a4-3b063c486cd7' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -d '[]'

Filter by campaign label (TE send-time tag):

curl -X POST 'https://connect.routee.net/email/tracking?page=0&size=50' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -d '[{"fieldName":"label","searchTerm":"waymore-campaign-42","searchOperator":"is"}]'

Response fields (each item in content)

FieldDescription
trackingIdBatch id from send — use for batch summary and recipient timeline path
messageIdPer-recipient id — worker log key; use for recipient timeline
recipient, from, subjectEnvelope summary
status, deliveryStatus, eventLatest human-readable and MTA status
channelAPI or SMTP (send path); MARKETING for promo campaigns
dateEvent timestamp (UTC)
openedCount, clickCountEngagement counters
tagsTags from send metadata

For the full event timeline (queued → sent → delivered → …):

Log rows may take 1–2 minutes to appear after send.

Query Params
string

When set, returns log events for this message. Use the send response trackingId (primary customer id). Internal messageId is also accepted when values differ.

date-time

Start of date range (ISO-8601).

date-time

End of date range (ISO-8601).

integer
≥ 0
Defaults to 0
integer
≥ 1
Defaults to 20
Body Params
Responses

401

Missing or invalid Bearer token

403

Insufficient role or OAuth scope (transactional_email required)

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json