List Webhooks
GET {{BASE_HABITAT_URL}}/api/webhooks
Required scope: webhooks:read
Lists every webhook registered for your operator, newest first.
http_options.headersvalues are masked (*********) — header names are shown, values are never returned.- A
$URL placeholder is displayed as${ORDER_ID}; at send time it is replaced with the order’sexternalId.
Examples
Section titled “Examples”curl --request GET '${BASE_HABITAT_URL}/api/webhooks'const response = await fetch("${BASE_HABITAT_URL}/api/webhooks", { "method": "GET", "headers": {}})const data = await response.json()import requests
response = requests.request( "GET", "${BASE_HABITAT_URL}/api/webhooks", headers={},)response.raise_for_status()Saved responses
Section titled “Saved responses”{ "type": "success", "webhooks": [ { "id": "071c80b3-39e0-4c99-81f2-4703668bfcde", "created_at": "2026-09-15T14:02:11.000Z", "operator_id": 42, "url": "https://my-api.example.com/first-delivery/webhook", "description": "Prod order status consumer", "active": true, "event_filter": ["en_route_pickup", "en_route_dropoff", "completed", "cancelled"], "http_options": { "headers": { "Authorization": "*********" } } }, { "id": "42e1f7b7-09db-4008-8a77-8729f549c922", "created_at": "2026-08-02T09:30:45.000Z", "operator_id": 42, "url": "https://my-api.example.com/orders/${ORDER_ID}/status", "description": null, "active": false, "event_filter": null, "http_options": null } ]}
