Get a WhatsApp message
GET
/v1/whatsapp/messages/{message_id}
curl -X GET "https://us1.platform.bird.com/v1/whatsapp/messages/{message_id}" \
-H "Authorization: Bearer $TOKEN"Returns a single WhatsApp message with its current delivery status and failure detail if applicable.
Parameters
message_id
string
Message ID.
Response Payload
id
string
verplicht
Message ID.
direction
string
verplicht
Whether the message was sent by the business (outbound) or received from the contact (inbound).
business
object
verplicht
Onderliggende attributen tonen
business.phone_number
string
E.164 phone number of the WhatsApp business account that sent the message.
business.phone_number_id
string
The WhatsApp phone number identifier. Present only for account-owned numbers.
contact
object
verplicht
Onderliggende attributen tonen
contact.phone_number
string
Contact's phone number in E.164 format, when known.
contact.bsuid
string
Business-scoped user ID (Meta's WhatsApp identifier for this contact within the business account), when available.
template
object
The template the message was sent from. For authentication templates the filled-in values are not returned.
Onderliggende attributen tonen
template.name
string
verplicht
The template's stable handle (for example bird_otp).
template.category
object
verplicht
Content classification applied to messages sent from this template.
template.language
string
verplicht
The language code of the template variant that was sent (for example en).
template.components
array of object
verplicht
The values that filled the template's placeholders. Empty for an authentication template, whose content is never returned.
Onderliggende attributen tonen
template.components.type
string
verplicht
Which part of the template this fills in.
template.components.parameters
array of object
The values that fill this part's placeholders, in order.
Onderliggende attributen tonen
template.components.parameters.type
object
verplicht
Parameter type.
template.components.parameters.text
string
verplicht
Parameter value.
status
object
verplicht
last_error
nullable object
Failure detail for a message that did not reach the recipient. Null when there is no failure.
Onderliggende attributen tonen
last_error.code
string
verplicht
Bird-stable failure reason, uniform whether the failure happened internally or was reported by the WhatsApp network. insufficient_balance — the workspace could not afford the send. price_not_found — no price was configured for this destination/template combination. internal_error — an unexpected Bird-side failure. undeliverable — the recipient could not be reached (e.g. not on WhatsApp, number invalid). service_window_expired — the 24-hour customer care window has closed and a free-form message cannot be sent; send a template instead. rate_limited — the send was throttled.
last_error.description
string
verplicht
Human-readable explanation of the failure.
last_error.occurred_at
string
verplicht
When the failure occurred.
created_at
string
verplicht
When the message was accepted for delivery.
sent_at
nullable string
When the message was handed to the WhatsApp network. Null until then.
delivered_at
nullable string
When delivery was confirmed. Null until then.
read_at
nullable string
When the message was read by the recipient. Null until then.