Events

Browse, search, and retry webhook events received by your sources.

Events represent individual webhook payloads received at a source's ingestion URL. Each event stores the HTTP method, headers, body, and metadata. Events support cursor pagination, full-text search, time range filters, and status filtering. You can retry delivery for individual events or in bulk.

List Events

GET /v1/events

List events with optional filters for source, status, time range, and search.

Authentication: API key or session cookie.

Query Parameters

source_id string

Filter by source ID.

status string

Filter by event status (e.g., delivered, failed).

cursor string

Cursor for pagination (base64 encoded).

limit number default: 50

Number of results to return (max 100).

after string

ISO 8601 lower bound for time range filter.

before string

ISO 8601 upper bound for time range filter.

search string

Search by event ID prefix or payload content.

bash
curl "https://hookstream.io/v1/events?source_id=src_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6&limit=50" \ -H "X-API-Key: $HOOKSTREAM_API_KEY"
json
{ "events": [ { "id": "evt_d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9", "source_id": "src_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6", "source_name": "Stripe Webhooks", "method": "POST", "content_type": "application/json", "status": "delivered", "received_at": "2026-03-01T14:30:00Z" } ], "pagination": { "total": 1542, "limit": 50, "has_more": true, "next_cursor": "eyJpZCI6ImV2dF8uLi4ifQ" } }

Retrieve Event

GET /v1/events/:id

Get full event detail including body, headers, and delivery attempts.

Authentication: API key or session cookie.

json
{ "id": "evt_d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9", "source_id": "src_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6", "source_name": "Stripe Webhooks", "method": "POST", "headers": { "content-type": "application/json", "stripe-signature": "t=1709..." }, "body": { "type": "invoice.paid", "data": { "id": "inv_123", "amount_paid": 4999 } }, "status": "delivered", "delivery_attempts": [ { "id": "da_e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0", "destination_id": "dst_b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7", "status": "success", "status_code": 200, "latency_ms": 42, "attempted_at": "2026-03-01T14:30:01Z" } ], "received_at": "2026-03-01T14:30:00Z" }

Retry Event

POST /v1/events/:id/retry

Retry delivery for a specific event across all connected destinations.

Authentication: API key or session cookie.

bash
curl -X POST https://hookstream.io/v1/events/evt_d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9/retry \ -H "X-API-Key: $HOOKSTREAM_API_KEY"
json
{ "retried": [ { "destination_id": "dst_b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7", "status": "queued" } ], "errors": [] }
Ask a question... ⌘I