Skip to main content
The Webhook Logs endpoint returns a paginated list of delivery attempt records for your registered webhooks. Each log entry captures the event type delivered, the HTTP status code your server returned, response time, and any error message from failed attempts. Use webhookId and status filters to narrow results when debugging a specific endpoint or triaging a batch of failures.
This endpoint requires the analytics:read permission on your API key.

Request

GET https://0k90mc4jjj.execute-api.us-east-2.amazonaws.com/v1/analytics/webhook-logs

Headers

Authorization
string
required
Bearer token using your API key. Format: Bearer cs_live_your_key

Query parameters

limit
integer
default:"50"
Number of log entries to return per page. Maximum 100.
lastEvaluatedKey
string
Pagination cursor returned by the previous response. Pass this value to retrieve the next page of results.
webhookId
string
Filter results to delivery attempts for a specific webhook endpoint.
status
string
Filter results by delivery status. Accepted values: SUCCESS, FAILED, PENDING.

Response

200 — success

logs
array
List of webhook delivery log entries.
count
integer
Number of log entries returned in this page.
hasMore
boolean
true if additional pages of results are available.
lastEvaluatedKey
string
Pagination cursor to pass as lastEvaluatedKey in your next request. null when you have reached the last page.

401 — unauthorized

Returned when your API key is missing, invalid, or lacks the analytics:read permission.

Example

curl "https://0k90mc4jjj.execute-api.us-east-2.amazonaws.com/v1/analytics/webhook-logs?status=FAILED&limit=25" \
  -H "Authorization: Bearer cs_live_your_key"
Sample response (200)
{
  "logs": [
    {
      "logId": "log_03kz6mc1pqvf0xt4drsg7aeh5c",
      "webhookId": "wh_01hx4kz9mntd8vr2bpqe5ycf3a",
      "eventType": "donation.created",
      "status": "FAILED",
      "httpStatus": 500,
      "responseTime": 1243,
      "timestamp": 1714089900,
      "errorMessage": "Server returned 500 Internal Server Error"
    },
    {
      "logId": "log_04la7nd2qrwg1yu5estg8bfi6d",
      "webhookId": "wh_01hx4kz9mntd8vr2bpqe5ycf3a",
      "eventType": "subscription.cancelled",
      "status": "FAILED",
      "httpStatus": null,
      "responseTime": 30001,
      "timestamp": 1714089600,
      "errorMessage": "Request timed out after 30 seconds"
    }
  ],
  "count": 2,
  "hasMore": false,
  "lastEvaluatedKey": null
}
A delivery with httpStatus: null means your server was unreachable — check DNS, firewall rules, and TLS certificate validity for the webhook URL. CharityStack considers any non-2xx response code a failure.