UtilitayDevelopers
Ravenraven
Get an API key
API reference

Messages

/messages

Messages are produced by rules when you post events. They are read only: there is no messages:write and no way to send one directly.

GETRead a message

Requires messages:read. The body as it went, with every placeholder filled, and the delivery status as the provider reported it.

Path parameters
message_iduuid · required
The message id.
Returns

200 with the message. 404 not_found otherwise.

Response body

One message: the same fields in every pack. Press Response on the sample to see one whole.

FieldTypeDescription
iduuid
tenant_iduuidThe instance.
send_iduuidThe send it belongs to: why it exists.
hold_iduuidThe budget reservation that pays for it.
chunk_nointegerWhich task sends it. The number also says the channel: SMS below 1000000, email from 1000000, WhatsApp from 2000000.
fallback_ofuuid | nullThe WhatsApp message this SMS replaced. A fallback is a new message, never a changed one, sent a little later under a budget reservation of its own.
connection_iduuidThe sender the parent sees it from.
contact_iduuid
subject_iduuid | null
template_iduuid | null
kindtemplate | freeform
channelwhatsapp | sms | email
priority_classurgent | critical | normal | bulk
rendered_bodystringAs it went, with every placeholder filled.
statusstringqueued · sending · sent · delivered · read · failed · cancelled.
due_atdatetime
attemptsinteger
claimed_atdatetime | null
providerstring | nullThe route that carried it, such as meta for WhatsApp or gmail for email.
provider_message_idstring | null
error_codestring | nullWhy it did not go, as a short stable word: wa_not_on_whatsapp, sms_undeliverable, email_bad_address, hold_expired, unknown_outcome and the like. On a sent email, email_unconfirmed means the mailbox did not confirm in time.
counted_atdatetime | nullWhen it was counted against the budget.
queued_atdatetime
sent_atdatetime | null
delivered_atdatetime | null
failed_atdatetime | null
receipt_checked_atdatetime | null
is_copybooleanA copy to a copy recipient rather than a message to the audience.
sms_partsinteger
provider_partsinteger | null
provider_charge_centsinteger | nullWhat the provider said it billed, in cents.
to_addressstring | nullEmail only: the address it went to, kept as it was then.
rendered_subjectstring | nullEmail only: the subject as it went.
body_valuesstring[] | nullThe placeholder values in order, on WhatsApp template messages and emails.
email_design_revision_iduuid | nullEmail only: the exact revision of the design it went out in.
fallback_due_atdatetime | nullSet while a WhatsApp message that could not be delivered is waiting for its SMS.
provider_pricingobject | nullWhat WhatsApp's receipt said about billing: billable and category.
to_e164string | nullAlways null on a read.

On failure the body is { error, code } instead.