List webhook logs
/webhooks/{webhookId}/logsList delivery logs for a specific webhook.
Path parameters
webhookIdRequiredstringUnique identifier of the webhook subscription, prefixed with wh_ (e.g. wh_abc123def456). Returned when you create or list webhooks.
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.
Query parameters
limitoptionalintegerMaximum number of items to return in a single response. Must be between 1 and 200; defaults to 50. Use together with offset to page through large result sets.
offsetoptionalintegerNumber of items to skip before returning results. Combine with limit for page-based pagination (e.g. offset=50&limit=50 returns the second page). Defaults to 0.
sortoptionalstringSort order by attempted time
"asc""desc"statusoptionalintegerFilter by exact HTTP status code
min_statusoptionalintegerMinimum HTTP status code
max_statusoptionalintegerMaximum HTTP status code
Returns
logsoptionalWebhookLog[]
logsoptionalWebhookLog[]Array of WebhookLog
event_idoptionalstringscopeoptionalstring"api""integration""org"attempted_timeoptionalintegerresponse_received_atoptionalinteger | nullwebhook_urloptionalstringevent_bodyoptionalWebhookEventPayloadWebhook event payload. Structure varies by event type. All message events include group information when applicable.
event_bodyoptionalWebhookEventPayloadWebhook event payload. Structure varies by event type. All message events include group information when applicable.
eventoptionalstringEvent type (e.g., message.received, message.sent, message.delivered, message.failed, message.read)
message_idoptionalstringUnique message identifier
external_idoptionalstringRecipient identifier (phone number, email, or group ID)
statusoptionalstringMessage status
"queued""pending""sent""delivered""failed""read""received"protocoloptionalstringMessage protocol
"imessage""sms""rcs""non-imessage"timestampoptionalintegerEvent timestamp in milliseconds
internal_idoptionalstring | nullPhone number that sent/received the message
textoptionalstring | nullMessage text content
attachmentsoptionalobject[]Array of attachment objects
attachmentsoptionalobject[]Array of attachment objects
Array of object
urloptionalstringnameoptionalstring | nullis_groupoptionalbooleanWhether this message is from/to a group chat. Always present.
group_idoptionalstring | nullGroup ID (only present when is_group=true)
group_nameoptionalstring | nullGroup display name (only present when is_group=true)
participantsoptionalobject[]Array of group participants (only present when is_group=true)
participantsoptionalobject[]Array of group participants (only present when is_group=true)
Array of object
contact_idoptionalstringidentifieroptionalstringnameoptionalstring | nullsenderoptionalstring | nullSender identifier (for inbound messages)
sent_atoptionalinteger | nullTimestamp when message was sent (for message.sent events)
delivered_atoptionalinteger | nullTimestamp when message was delivered (for message.delivered events)
read_atoptionalinteger | nullTimestamp when message was read (for message.read events)
error_codeoptionalstring | nullError code (for message.failed events)
error_messageoptionalstring | nullError description (for message.failed events)
response_statusoptionalinteger | nullHTTP status code received from the webhook endpoint
response_jsonoptionalobject | nullResponse body from the webhook endpoint (if JSON)
metadataoptionalobjectAdditional metadata about the webhook delivery
metadataoptionalobjectAdditional metadata about the webhook delivery
organization_idoptionalstringevent_nameoptionalstringmessage_idoptionalstringis_replayoptionalbooleanoriginal_event_idoptionalstringduration_msoptionalintegerpaginationoptionalobject
paginationoptionalobjecttotaloptionalintegerTotal number of matching logs
limitoptionalintegeroffsetoptionalintegerreturnedoptionalintegerNumber of logs returned in this response
has_moreoptionalbooleanWhether there are more logs to fetch
Response 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/v2/api/webhooks/wh_abc123def456/logs?limit=50&offset=0&sort=desc&status=0&min_status=0&max_status=0 \ -H "Authorization: Bearer bl_live_..."{ "logs": [ { "event_id": "evt_a1b2c3d4", "scope": "api", "attempted_time": 0, "response_received_at": 0, "webhook_url": "https://example.com", "event_body": { "event": "message.sent", "message_id": "msg_a1b2c3d4", "external_id": "obj_a1b2c3d4", "status": "queued", "protocol": "imessage", "timestamp": 0, "internal_id": "obj_a1b2c3d4", "text": "Hello from Blooio!", "attachments": [ { "url": "https://example.com", "name": "Jane Doe" } ], "is_group": true, "group_id": "grp_a1b2c3d4", "group_name": "string", "participants": [ { "contact_id": "ct_a1b2c3d4", "identifier": "+15551234567", "name": "Jane Doe" } ], "sender": "string", "sent_at": 0, "delivered_at": 0, "read_at": 0, "error_code": "string", "error_message": "string" }, "response_status": 0, "response_json": {}, "metadata": { "organization_id": "org_a1b2c3d4", "event_name": "string", "message_id": "msg_a1b2c3d4", "is_replay": true, "original_event_id": "obj_a1b2c3d4", "duration_ms": 1200 } } ], "pagination": { "total": 3, "limit": 50, "offset": 1, "returned": 0, "has_more": true }}