Events API

View and manage webhook events. List events, get event details, and trigger retries or replays.

Base URL

https://api.hookwatch.dev/v1/events

The Event Object

Json

Properties

FieldTypeDescription
idstringUnique identifier for the event
endpoint_idstringID of the endpoint that received this event
methodstringHTTP method (POST, PUT, etc.)
headersobjectRequest headers as key-value pairs
bodystringRequest body (raw string)
source_ipstringIP address of the webhook sender
delivery_statusstringOne of: pending, delivered, retrying, failed
status_codenumberHTTP status code from destination (0 if not yet delivered)
response_bodystringResponse body from destination
retry_countnumberNumber of retry attempts made
next_retry_atstring | nullISO 8601 timestamp of next retry (null if not retrying)
delivered_atstring | nullISO 8601 timestamp of successful delivery (null if not delivered)
created_atstringISO 8601 timestamp when the webhook was received

Delivery Statuses

pending

Webhook received but not yet forwarded

delivered

Successfully delivered (2xx response)

retrying

Delivery failed, scheduled for retry

failed

All retry attempts exhausted

List Events

Retrieve events with optional filtering.

GET /v1/events

Query Parameters

FieldTypeDescription
endpoint_idstringFilter by endpoint ID
statusstringFilter by delivery status (pending, delivered, retrying, failed)
fromstringFilter events after this ISO 8601 timestamp
tostringFilter events before this ISO 8601 timestamp
limitnumberMaximum number of events to return (default: 50, max: 100)
offsetnumberNumber of events to skip (for pagination)

Example

curl

Get Event

Retrieve a specific event by ID.

GET /v1/events/:id

Retry Event

Manually trigger a retry for a failed or retrying event. The event will be queued for immediate delivery.

POST /v1/events/:id/retry

Example

curl

Note

Retry attempts count toward the maximum retries configured for the endpoint.

Replay Event

Create a new event with the same payload as an existing event. Useful for testing or re-processing webhooks.

POST /v1/events/:id/replay

Response

Returns the newly created event object.

Json

Difference from Retry

Replay creates a new event and counts toward your monthly event quota. Retry resends the original event without creating a new one.

Error Codes

StatusErrorDescription
400Bad RequestInvalid query parameters
401UnauthorizedInvalid or missing access token
404Not FoundEvent not found
409ConflictEvent already delivered (cannot retry)

Related