Skip to main content

Endpoint

GET /api/v1/webhooks
Host: api.driftguard.dev

Request

curl -s https://api.driftguard.dev/api/v1/webhooks \
  -H "X-API-Key: $DRIFTGUARD_KEY"

Response

[
  {
    "id": "your_webhook_id_here",
    "url": "https://hooks.slack.com/services/your/slack/webhook",
    "events": ["breaking", "warning"],
    "contract_id": null,
    "active": true,
    "created_at": "2026-03-01T19:22:00Z"
  },
  {
    "id": "your_second_webhook_id_here",
    "url": "https://your-service.com/driftguard-hook",
    "events": ["breaking"],
    "contract_id": "your_contract_id_here",
    "active": false,
    "created_at": "2026-03-02T10:00:00Z"
  }
]

Response Fields

Each object in the array has the following fields:
FieldTypeDescription
idstringUnique identifier for this webhook
urlstringThe HTTPS endpoint DriftGuard delivers payloads to
eventsarrayResult types that trigger this webhook — breaking, warning, and/or pass
contract_idstring | nullContract scope — null means this webhook fires for all contracts
activebooleanWhether this webhook is currently active and receiving deliveries
created_atstringISO 8601 timestamp of when the webhook was registered
The secret signing key is never returned in this response. It is only shown once at creation via POST /api/v1/webhooks. If you have lost your secret, delete the webhook and create a new one.

Filtering by Active Status

To check which webhooks are currently active, filter the response client-side on the active field. A webhook with "active": false will not receive any deliveries until it is re-enabled.
Pagination support is available for this endpoint. If you have a large number of webhooks, results may be returned across multiple pages.

Error Responses

StatusMeaning
401Missing or invalid X-API-Key
429Rate limit exceeded — 100 req/min per key

Create Webhook

Register a new webhook endpoint.

Webhooks Guide

Learn about payload structure, signature verification, and retry behaviour.