Events API
View and manage webhook events. List events, get event details, and trigger retries or replays.
Base URL
https://api.hookwatch.dev/v1/eventsThe Event Object
Properties
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the event |
endpoint_id | string | ID of the endpoint that received this event |
method | string | HTTP method (POST, PUT, etc.) |
headers | object | Request headers as key-value pairs |
body | string | Request body (raw string) |
source_ip | string | IP address of the webhook sender |
delivery_status | string | One of: pending, delivered, retrying, failed |
status_code | number | HTTP status code from destination (0 if not yet delivered) |
response_body | string | Response body from destination |
retry_count | number | Number of retry attempts made |
next_retry_at | string | null | ISO 8601 timestamp of next retry (null if not retrying) |
delivered_at | string | null | ISO 8601 timestamp of successful delivery (null if not delivered) |
created_at | string | ISO 8601 timestamp when the webhook was received |
Delivery Statuses
pendingWebhook received but not yet forwarded
deliveredSuccessfully delivered (2xx response)
retryingDelivery failed, scheduled for retry
failedAll retry attempts exhausted
List Events
Retrieve events with optional filtering.
GET /v1/eventsQuery Parameters
| Field | Type | Description |
|---|---|---|
endpoint_id | string | Filter by endpoint ID |
status | string | Filter by delivery status (pending, delivered, retrying, failed) |
from | string | Filter events after this ISO 8601 timestamp |
to | string | Filter events before this ISO 8601 timestamp |
limit | number | Maximum number of events to return (default: 50, max: 100) |
offset | number | Number of events to skip (for pagination) |
Example
Get Event
Retrieve a specific event by ID.
GET /v1/events/:idRetry Event
Manually trigger a retry for a failed or retrying event. The event will be queued for immediate delivery.
POST /v1/events/:id/retryExample
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/replayResponse
Returns the newly created event object.
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
| Status | Error | Description |
|---|---|---|
400 | Bad Request | Invalid query parameters |
401 | Unauthorized | Invalid or missing access token |
404 | Not Found | Event not found |
409 | Conflict | Event already delivered (cannot retry) |