Get message detail

GET
/v1/messages/{id}

Authorization

bearerAuth
headerAuthorizationBearer <token>

API key sent as Authorization: Bearer <key>. Looked up by SHA-256 hash (email_core::sha256_hex) against api_keys.hash; revoked keys and keys belonging to a suspended tenant are rejected. See the top-level Authentication section for permission levels.

Path Parameters

id*string

The message id returned by POST /v1/email(/batch).

Response Body

Message detail.

application/json
  1. response

The exact row shape returned by GET /v1/messages(/{id}) — note the from_addr/to_addr field names (this endpoint's own local row type, distinct from the richer email_core::Message used internally; it does not include tenant_id, message_stream, tags, or scheduled_at).

id?string
from_addr?string
to_addr?string

The primary (first to) recipient only — the full recipient set is not stored.

subject?string
status?string
Value in"queued""sent""failed""suppressed""scheduled""cancelled"
ses_message_id?string|null
error?string|null
created_at?integer
Formatint64
updated_at?integer
Formatint64
curl -X GET "https://example.com/v1/messages/string"
{  "id": "string",  "from_addr": "string",  "to_addr": "string",  "subject": "string",  "status": "queued",  "ses_message_id": "string",  "error": "string",  "created_at": 0,  "updated_at": 0}