List webhook events

Lists the account’s webhook delivery log - one entry per fired event, plus one per manual retry, filterable by status and event type - as a paginated envelope. Automatic retries reuse their entry, so tryCount shows how many attempts it took. Each entry carries the full event payload; only the target’s secrets are masked, to their last four characters. The log exists for delivery troubleshooting.

GET/v2/accounts/{accountId}/webhook-events

Base URL https://api.sendstreak.com. All v2 endpoints require a bearer token - see Authentication.

Path parameters

accountIdstringrequired

The account the request is scoped to.

Query parameters

startintegeroptional

Zero-based offset of the first item to return. Default: 0.

limitintegeroptional

Maximum number of items to return. Clamped to 100. Default: 25.

statusone of: failed, queued, sending, succeededoptional

Return only deliveries in this state.

eventone of: contact.bounced, contact.complained, contact.deleted, contact.unsubscribedoptional

Return only deliveries for this event type.

Response

A page of webhook events.

Errors

401

Missing or invalid token, or the token is not authorized for this account/user.

See Errors and rate limits for what error responses look like.

curl --location --request GET 'https://api.sendstreak.com/v2/accounts/YOUR_ACCOUNT_ID/webhook-events' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
response200application/json
{
  "start": 0,
  "limit": 25,
  "items": [
    {
      "_id": "665f0a2b1c9d440012ab34cd",
      "accountId": "664b9e0f2a7c330011cd56ef",
      "event": "contact.bounced",
      "status": "failed",
      "statusDetails": "Max retries exceeded: HTTP 500",
      "payload": {
        "email": "[email protected]"
      },
      "target": {
        "url": "https://example.com/webhooks/sendstreak",
        "authType": "basic",
        "signingSecretSuffix": "a1b2",
        "username": "sendstreak-hooks",
        "passwordOrTokenSuffix": "9f3c"
      },
      "tryCount": 1,
      "createDate": "2026-07-07T09:30:00.000Z",
      "processStartDate": "2026-07-07T09:30:00.000Z",
      "completedDate": "2026-07-07T09:30:00.000Z",
      "responseStatus": 500,
      "responseHeaders": {
        "content-type": "application/json"
      },
      "responseBodySnippet": "{\"error\":\"internal server error\"}"
    }
  ]
}