Inspecting Webhook Logs
Every time Hub Chatt2.me attempts to call your endpoint, the result is recorded in a webhook log. Use the logs to diagnose failures, verify received payloads, and audit deliveries.
Listing the logs
curl "https://api.chatt2.me/v1/organization/webhook/{webhookId}/webhook-log" \
-H "x-api-key: your-api-key"
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
offset | integer | 0 | Pagination — starting position |
limit | integer | 20 | Pagination — maximum records (max 50) |
status | string | — | Filter by status: Success or Failed |
Response
{
"data": [
{
"id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"webhookId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"statusCode": 200,
"responseBody": "OK",
"status": "Success",
"sendAt": "2026-02-09T12:10:00.000Z",
"createdDate": "2026-02-09T12:10:00.000Z",
"messageId": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"webhook": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"endpoint": "https://your-server.com/webhooks/chatt2me",
"eventType": "Message"
}
}
],
"pagination": {
"offset": 0,
"limit": 20,
"total": 1,
"totalPages": 1
}
}
Log fields
| Field | Description |
|---|---|
id | Log UUID (used for retry) |
webhookId | UUID of the associated webhook |
statusCode | HTTP status returned by your endpoint |
responseBody | Response body returned by your endpoint |
status | Success (2xx) or Failed (non-2xx or timeout) |
sendAt | When the Hub attempted to send |
messageId | ID of the message related to the event (when applicable) |
Filtering only failures
curl "https://api.chatt2.me/v1/organization/webhook/{webhookId}/webhook-log?status=Failed" \
-H "x-api-key: your-api-key"
Use this to quickly find which events were not processed.
Common causes of failure
statusCode | Likely cause |
|---|---|
0 / timeout | Your server did not respond in time or was down |
401 | The Hub failed authentication on your endpoint (check the secret header) |
404 | The webhook route does not exist on your server |
500 | Internal error in your server when processing the payload |
tip
If statusCode is 0, it means the Hub could not even connect to your endpoint. Check that the URL is publicly accessible and that the SSL certificate is valid.
Monitoring numberOfErrors
The numberOfErrors field in the webhook object counts how many failed logs have been recorded. Monitor this value periodically:
curl "https://api.chatt2.me/v1/organization/webhook/{webhookId}" \
-H "x-api-key: your-api-key"
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"numberOfErrors": 5,
"active": true,
...
}
Next steps
- Retrying failures — resend failed events without needing to recreate them