Get message status
/chats/{chatId}/messages/{messageId}/statusLightweight delivery status of a message.
Path parameters
chatIdRequiredstringUnique identifier of the chat, prefixed with chat_. Returned by the List chats endpoint.
messageIdRequiredstringUnique identifier of the message — the id returned when you send a message or by the List messages endpoint. Outbound messages use a msg_ id; inbound (received) messages use the id the List endpoint exposes for that row. Both are addressable.
Headers
AuthorizationRequiredstringYour API key, sent as a bearer token: Authorization: Bearer <api_key>. Editing this stays in sync with the API key box on the right.
Returns
dataoptionalMessageStatus
dataoptionalMessageStatusidoptionalstringstatusoptionalstringDelivery lifecycle state: queued (accepted, awaiting dispatch), sent (handed to the channel; protocol resolves around here), delivered (delivery receipt received), read (read receipt received), failed (see error), superseded (row replaced by an idempotency retry or a poll-vote supersession). Inbound messages surface via the event feed / webhooks with received.
protocoloptionalstringTransport state or resolved wire service; never null. pending = accepted and dispatched, wire service not resolved yet; imessage / rcs / sms = the device-confirmed transport (iMessage blue bubble, RCS, or SMS/MMS green bubble); whatsapp = sent over WhatsApp; unknown = accepted but the transport could not be resolved before the tracking window closed (see error).
"pending""unknown""imessage""sms""rcs""whatsapp"erroroptionalobject | nullcreated_atoptionalintegerupdated_atoptionalintegerResponse codes
Sends a live request with your values and shows the real response below. Your key is stored only in this browser.
curl -X GET https://api.blooio.com/v4/chats/chat_a1b2c3d4/messages/msg_a1b2c3d4/status \{ "data": { "id": "obj_a1b2c3d4", "status": "active", "protocol": "pending", "error": {}, "created_at": 0, "updated_at": 0 }}