KeyType=webhook.
Event catalog
Subscriptions are identified by anevent and an eventType. Today the supported pairs
are:
The catalog will grow. Unknown
event / eventType combinations sent to
POST /api/webhook/subscriptions return 400 Bad Request.Registration flow
1. Create a subscriber
secretToken you’ll use for signature validation. Store it
securely — it is shown only on creation and on rotation.
2. Subscribe to an event
uri must be reachable over HTTPS and respond 2xx within a few seconds.
3. Receive notifications
Guardhouse will POST a JSON payload to youruri whenever the subscribed event fires.
Each request includes a Webhooks-Signature header containing an HMAC-SHA256 of the raw
request body, keyed by your subscriber’s secretToken.
Validating signatures
Compute the HMAC of the raw request body using yoursecretToken and compare against the
header value with a constant-time comparison.
403 and discard the message.
Delivery and retries
- A delivery is considered successful when your endpoint responds
2xxwithin the request timeout. - Failed deliveries (
Failed) are retried with backoff. After several failures the notification status flips toMaxRetriesReachedand is no longer retried — fix the endpoint and contact support to replay missed events if needed. - Notifications are delivered at-least-once. Use the event’s identifying ID
(
incidentReportId,timesheetId) to deduplicate.
Managing subscribers and subscriptions
To rotate a subscriber’s
secretToken, send { "rotateSecretToken": true } to the
subscriber update endpoint. The response will contain the new token; the previous token
will no longer validate signatures.