GET /v1/messages/{id}
Returns one message and its current delivery status. id is Hello’s message ID: the value
in messages[0].id from POST /v1/{phone_number_id}/messages, not
WhatsApp’s wamid.
GET /v1/messages/{id}Authorization: Bearer hello_live_xxxxxxxxxxxxxxxxcurl "$HELLO_API_URL/v1/messages/b7e1d2c3-4f5a-4b6c-8d9e-0a1b2c3d4e5f" \ -H "Authorization: Bearer $HELLO_API_KEY"Path parameters
Section titled “Path parameters”| Parameter | Type | Description |
|---|---|---|
id |
string (UUID) | Hello’s message ID, from messages[0].id on the send response |
Response 200
Section titled “Response 200”The message object.
{ "id": "b7e1d2c3-4f5a-4b6c-8d9e-0a1b2c3d4e5f", "account_id": "3f9c2a1e-7b4d-4c8e-9a15-2d6f8e0b1c47", "message_id": "wamid.HBgMOTE5ODc2NTQzMjEwFQIAERgSN0Q1QjE3RjA4QzU2QjBBQUE4AA==", "conversation_id": "919999999999", "direction": "outbound", "message_type": "template", "recipient_phone": "919999999999", "sender_phone": "15551234567", "template_name": "order_shipped", "content": { "template_name": "order_shipped", "language": "en", "to": "919999999999" }, "components": [ { "type": "BODY", "parameters": [ { "type": "text", "text": "Asha" }, { "type": "text", "text": "#10432" } ] } ], "status": "read", "conversation_category": "utility", "pricing_type": "regular", "sent_at": "2026-09-26T10:15:02Z", "delivered_at": "2026-09-26T10:15:04Z", "read_at": "2026-09-26T10:17:30Z", "created_at": "2026-09-26T10:15:01Z"}A failed message:
{ "id": "5c0d8e2a-91b3-4f6e-a7d4-3b2c1e0f9a8d", "status": "failed", "error_code": "132000", "error_message": "Number of parameters does not match the expected number of params", "...": "other fields as above"}Polling
Section titled “Polling”Delivery updates reach Hello from WhatsApp within seconds, usually. If you poll:
- poll every few seconds at first, then back off
- stop once
statusisreadorfailed deliveredcan be final: recipients who have read receipts turned off never produceread
Errors
Section titled “Errors”| Status | code |
Cause |
|---|---|---|
400 |
INVALID_ID |
id isn’t a valid UUID |
401 |
UNAUTHORIZED |
Missing, wrong or disabled API key |
404 |
NOT_FOUND |
No message with this ID in your organization |
500 |
FETCH_FAILED |
Temporary server error. Retry. |