POST requests.
Create a webhook
- Dashboard
- API
Open the project, then go to Project Settings > Webhooks and add an HTTPS endpoint.
201 response has this shape:
events is omitted, it defaults to ["*"].
Event filters
Filters support exact event names, category wildcards such astask:*, and the global * wildcard. Combine multiple filters in the events array.
The event catalog is generated from the runtime and can change as event types are added. Read the current public catalog instead of maintaining a hard-coded list:
Payload
Every delivery body contains the event name, event-specific data, and an ISO timestamp:Headers and signature
Each request includes:
The signature is HMAC-SHA256 over
<timestamp>.<raw-request-body>. Verify the raw bytes before parsing JSON and compare signatures in constant time:
Delivery and retries
A2xx response marks an attempt successful. Each request has a 10-second timeout.
Polpo retries network failures, timeouts, HTTP 408, HTTP 429, and 5xx responses. Backoff is exponential with jitter and is capped at one hour. A delivery is attempted at most five times. Other 4xx responses are treated as permanent failures.
Every attempt is persisted with status, status code, truncated response body, error, duration, attempt number, and next retry time.
Delivery operations
List recent attempts, newest first:next_cursor as the before query parameter for the next page.
Queue a new delivery from a past payload: