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_idstringquery

Filter by source ID.

statusstringquery

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

cursorstringquery

Cursor for pagination (base64 encoded).

limitnumberquerydefault: 50

Number of results to return (max 100).

afterstringquery

ISO 8601 lower bound for time range filter.

beforestringquery

ISO 8601 upper bound for time range filter.

searchstringquery

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": []}