prawnwire Developers

Message details and statuses

Retrieve a message's bodies and events, and distinguish submission from delivery.

GET/v1/messages/outbound/{MessageID}/details

Request

Use an email:read key. Replace {MessageID} in the path with the UUID returned by a live send. An invalid UUID, a message from another organization, an expired message, or a test-send ID returns ErrorCode 701, HTTP 422.

Response fields

Details include every message summary field, plus:

FieldTypeMeaning
TextBodystringOriginal plain-text body, or an empty string.
HtmlBodystringOriginal HTML body, or an empty string.
Attachmentsstring arrayFilenames only. Attachment bytes are not returned.
MessageEventsarrayChronological message-wide and recipient events.

Each event has Recipient, Type, ReceivedAt, and Details. Recipient is an empty string for a message-wide event. Details is { "Summary": "..." } when a detail exists, or {}.

Message statuses

Internal stateAPI StatusMeaning
queuedQueuedAccepted and waiting for submission.
sendingQueuedA worker is submitting it. The console distinguishes Sending.
sentSentThe Prawnwire mail server accepted submission.
failedFailedSubmission failed permanently or exhausted retries.

processed is a list-filter alias for sent, not a separate returned status.

Recipient statuses and events

The console stores a separate status per recipient. The API exposes recipient outcomes through events, not a RecipientStatus field in the summary.

Recipient stateEventMeaning
queuedQueued (message-wide)Waiting to be submitted.
sentSentSubmitted to the sending mail server.
deliveredDeliveredThe receiving mail server accepted delivery.
deferredDeferredA temporary delivery refusal; the mail server may retry.
bouncedBouncedDelivery was refused. Read the event detail.
suppressedSuppressedSkipped before submission because the address was suppressed.
failedFailedSending failed rather than reaching the recipient.

Sent versus delivered

Accepted means queued by the API. Sent means handed to the Prawnwire mail server. Delivered means the receiving server reported acceptance. None proves inbox placement, opening, or reading.

Delivery events arrive asynchronously from mail-server logs. The watcher reconciles recent submissions for up to three days; no delivery event is not proof of a bounce. Open/click tracking and asynchronous bounce-message (DSN) ingestion are not implemented in this API.

Messages and events are retained for 30 days.

Search documentation

Type to search the documentation.