Skip to main content
Webhooks let your application receive real-time notifications when events happen inside Doohick. Instead of polling the API, you register a URL and Doohick sends an HTTP POST request to that URL whenever a subscribed event occurs. Use this API to create, list, and delete webhook endpoints, and follow the signature-verification guide below to ensure every delivery is authentic.

Webhook events

Subscribe to one or more of the following event types when you create a webhook. Doohick delivers a payload to your endpoint each time any subscribed event fires.

POST /webhooks

Create a new webhook endpoint. Supply the destination URL and the list of events you want to subscribe to. Doohick returns a secret in the response — store this securely, as you will need it to verify incoming signatures.
url
string
required
The HTTPS URL Doohick should send event payloads to. Must be a publicly reachable endpoint.
events
array
required
An array of event type strings to subscribe to. Pass ["*"] to subscribe to all current and future events.
description
string
An optional human-readable label to help you identify this webhook endpoint in the dashboard.
Response 201 Created
JSON
data
object
required
The newly created webhook object.
The secret field is returned only once at creation time and is never exposed again through the API. Save it to a secure secrets store immediately — if you lose it, you must delete and recreate the webhook.

GET /webhooks

List all webhook endpoints registered in your workspace. Results are paginated.
limit
integer
default:"20"
The maximum number of webhooks to return. Accepted range is 1100.
offset
integer
default:"0"
The number of webhooks to skip before returning results.
Response 200 OK
JSON
The secret field is omitted from list responses. Only the creation response includes the secret.

DELETE /webhooks/{id}

Delete a webhook endpoint by its ID. Doohick immediately stops delivering events to the registered URL. A successful request returns 204 No Content with an empty body.
Response 204 No Content The response body is empty on success.

Verifying webhook signatures

Every webhook delivery from Doohick includes an X-Doohick-Signature header containing an HMAC-SHA256 hex digest of the raw request body, signed with your webhook’s secret. Always verify this signature before processing any incoming payload to ensure the request originates from Doohick and has not been tampered with.
Always verify the X-Doohick-Signature header before trusting or acting on a webhook payload. Processing unverified payloads exposes your application to spoofed or replayed requests.
Test your webhook handler locally using a tunneling tool like ngrok. Run ngrok http 3000 to get a public HTTPS URL, then register it as your webhook endpoint while you develop.