sender, from, body-plain, message-headers and so on). It is not a drop-in replacement for Mailgun: authentication, signatures, links and retries are Talario’s own.
The API key needs the permission Read received messages. The endpoint has its own rate limit of 60 requests per minute.
Recipient
The content is shown for one envelope recipient. If the message has exactly one recipient, you can omit it. Otherwise name the recipient, URL-encoded:recipient, a message with several recipients returns 422 invalid_payload. An address that is not a recipient of the message returns 404 not_found. The comparison ignores ASCII case.
Response
Cache-Control: no-store. Talario does not keep a copy of the content outside the message store.
Fields
integer
Version of this format. Currently
2; it is the same format as webhook payload version 2, without event and delivery_id.string
Talario’s ID of the message (UUIDv7).
string
The SMTP envelope sender. Empty for a null sender, for example in bounces.
string
The decoded
From header as shown to the reader.string
The envelope recipient this content is shown for.
string
Decoded headers of the message. A missing header is an empty string. These are headers written by the sender, not the envelope.
string[]
Message IDs from the
References header, in order. Empty if the header is missing.string
The text part of the message, decoded to UTF-8. Empty if the message has no text part; Talario does not convert HTML to text.
string
The HTML part of the message, decoded to UTF-8. Empty if the message has no HTML part. The HTML is not sanitized, see below.
array
All headers as
[name, value] pairs, unfolded and decoded, in their original order and including repeated headers. The exact bytes are in the original message.integer
Number of entries in
attachments.object[]
Attachments and inline parts.
object
Maps a content ID to an attachment ID, for replacing
cid: references in the HTML. If several parts share a content ID, the first one is used.string
parsed, or failed if the message could not be parsed. See below.string[]
Warning and error codes of the parser.
boolean
Always
false here. Only a webhook can omit content.object
Link to the unchanged original message (
.eml) with its size_bytes and sha256.How Talario chooses the body
- Transfer encodings, encoded headers (RFC 2047) and file names (RFC 2231) are decoded, text is converted to UTF-8.
- In
multipart/alternative, one part per format is used, preferring the last matching alternative. - In
multipart/mixed, matching parts outside attachments are joined in MIME order with a line break. - Parts with an
attachmentdisposition or a file name are attachments, never body. - Forwarded messages (
message/rfc822) are attachments; their text is not mixed into the body. - Inline images with a content ID are attachments that you can download.
Parse status and warnings
If the message can be parsed,parse_status is parsed. Minor problems are reported as warnings:
If the message cannot be parsed or exceeds a parser limit,
parse_status is failed. The body fields, headers and attachments are then empty, and parse_warnings contains one of these codes:
Talario never truncates content silently. A message with
parse_status: failed is still a valid, stored message: process it from the original in download.
When the content is not available
The metadata of a message (
GET /receiving/messages/{id}) shows the state as content_status: pending, ready or failed.