Webhooks require the Pro plan or higher. Endpoint limits by tier: Pro 3, Business 10, Enterprise unlimited. The Free plan cannot create endpoints.
Authentication
These endpoints accept either a dashboard session cookie or a server API key sent asAuthorization: Bearer <key>.
List webhook endpoints
secret is not included — it is returned only at creation time.
Create a webhook endpoint
Supported event types
device.new, device.attested.first, device.high_risk, device.attestation_failed, attestation.anomaly, flag.created, flag.updated, flag.deleted, subscription.changed, subscription.expired, subscription.refunded.
Payloads for each are in Webhook Events.
Response — 201 Created
Update a webhook endpoint
200 OK — the updated endpoint object (same shape as the list response, without secret).
Delete a webhook endpoint
204 No Content
Send a test delivery
attestation.completed event to the endpoint’s configured URL and returns the outcome. The test delivery:
- is signed with the endpoint’s secret (
X-Grantiva-Signature), exactly like a real delivery - does not create a delivery record and is not retried on failure
- includes
"is_test": "true"in the payload data - is sent regardless of which events the endpoint subscribes to
attestation.completed is a test-only event name. It is not a subscribable event type — real attestation events arrive as device.new, device.high_risk, and the others listed above.200 OK
List deliveries
Response
Errors
Retry a delivery
pending with attemptCount back to 0, giving it a fresh automatic-retry budget, and the HTTP call fires in the background — the response reflects the reset state, not the outcome of the new attempt. Poll the deliveries list to see the result.
Response — 200 OK
Returns the delivery object (same shape as the list items) with status: "pending" and attemptCount: 0.
Errors
Signature verification
Every delivery includes anX-Grantiva-Signature header: the string sha256= followed by the hex-encoded HMAC-SHA256 of the raw request body, keyed with your endpoint’s secret.
Verify the signature before processing any payload:
See also
- Webhook Quickstart — step-by-step setup guide
- Webhook Events — every event and its payload
- Risk Alert Rules — per-device risk webhooks with the same signature scheme