Create a webhook
POST
eventTypes takes event types or prefixes such as firewall.*. firewalls limits firewall and package events to those firewalls; empty means all.
header
AuthorizationBearer <token>A personal or service access token, sent as Authorization: Bearer <token>. See access tokens.
namespace*stringThe namespace id.
application/json- body
A webhook to create or update.
name*stringA display name.
description*stringA free-form description.
url*stringThe endpoint events are delivered to.
enabled*booleanWhether events are delivered.
eventTypes*array<string>The event types to deliver: exact names, or a prefix followed by .*, e.g. firewall.*. At least one is required.
firewalls*array<string>Restricts firewall and package events to these firewalls. Empty means every firewall.
The new webhook and its signing secret.
application/json- response
A new webhook and its signing secret.
webhook*The webhook, with its secret redacted.
secret*stringThe signing secret, for verifying deliveries.
curl -X POST 'https://eu-sov-1.bytesafecloud.eu/v1/my-namespace-id/webhooks' \ -H 'Content-Type: application/json' \ -d '{ "description": "Blocked downloads go to the security channel.", "enabled": true, "eventTypes": [ "firewall.blocked" ], "firewalls": [], "name": "security alerts", "url": "https://hooks.example.com/firewall"}'{ "webhook": { "id": "whep-01K6Z3Q8R9T2V4X6Y8A0C2E4G6", "name": "security alerts", "url": "https://hooks.example.com/firewall", "enabled": true, "eventTypes": [ "firewall.blocked" ], "firewalls": [], "secret": "1F56ED4E-D401-49E4-B40C-0B7B8411BAD6", "createdAt": "2026-03-02T09:30:00Z", "updatedAt": "2026-03-02T09:30:00Z" }, "secret": "whsec_MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw"}