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": []
    }
}