Query messages
GET
https://emails.routeon.io/api/v1/messages
Parameters
cursor
string
query
Opaque pagination cursor.
per_page
integer
query
campaign_id
string<uuid>
query
status
string
query
queued
sending
sent
delivered
bounced
complained
failed
suppressed
deferred
canceled
from
string<date-time>
query
Filter messages created at or after this timestamp (ISO 8601).
to
string<date-time>
query
Filter messages created at or before this timestamp (ISO 8601).
email
string<email>
query
Filter by recipient email address.
tag
string
query
Filter by tag. The value is normalised server-side (trimmed and lower-cased), so case does not matter; a value that does not match the tag pattern after normalisation is rejected with 422.
transactional
boolean
query
When true and campaign_id is not specified, only messages with no campaign_id (transactional sends) are returned.
Responses
200
OK
401
Missing/invalid credentials. For API-key/session-guarded endpoints, meta.details.code is one of: missing_authorization_header (no/malformed Authorization header), jwt_invalid (expired or otherwise invalid JWT), api_key_unknown (unknown prefix, inactive/revoked key, or bad hash); the login, refresh and logout operations return 401 without details.
429
Too many requests
Example response · 200
{
"status": "success",
"http_code": 0,
"payload": [
{
"id": "00000000-0000-0000-0000-000000000000",
"campaign_id": "00000000-0000-0000-0000-000000000000",
"to_email": "user@example.com",
"status": "queued",
"provider_message_id": "string",
"error_message": "string",
"send_at": "2024-01-01T00:00:00Z",
"template_id": "00000000-0000-0000-0000-000000000000",
"source_type": "blast",
"journey_step_id": "string",
"tags": [
"string"
],
"metadata": [],
"created_at": "2024-01-01T00:00:00Z"
}
],
"meta": {
"per_page": 0,
"cursor": "string"
}
}
Example response · 401
{
"status": "error",
"http_code": 0,
"payload": [],
"meta": {
"reason": "VALIDATION_ERROR",
"validation_error": [
{
"field": "string",
"message": "string"
}
],
"details": []
}
}
Example response · 429
{
"status": "error",
"http_code": 0,
"payload": [],
"meta": {
"reason": "VALIDATION_ERROR",
"validation_error": [
{
"field": "string",
"message": "string"
}
],
"details": []
}
}