WundertreOS

Create webhook subscription

Subscribe a target URL to one or more WundertreOS event types.

POST/api-webhook-subscriptions
Try it
POST

Create an API key in your workspace under Settings → Integrations & API.

Requires both webhooks:read and webhooks:write scopes (every /api-webhook-subscriptions request checks webhooks:read first, then POST additionally checks webhooks:write). Implements the Zapier REST Hooks subscribe contract.

Request body

Body
NameTypeDescription
target_urlrequiredstring (URL)URL that will receive POST deliveries. Must be a valid absolute URL.
event_typesrequiredstring[]Non‑empty array of event types to subscribe to. See Event types.
descriptionstringOptional human‑readable label shown in the dashboard.

Valid event_types values: contact.created, contact.updated, contact.tag_added, contact.enriched, contact.note_added, deal.created, deal.updated.

Example request

bash
curl -X POST \
  'https://api.wundertreos.com/functions/v1/api-webhook-subscriptions' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "target_url": "https://example.com/wundertre/webhook",
    "event_types": ["contact.created", "contact.tag_added"],
    "description": "Sync new leads to internal CRM"
  }'

Response

Returns 201 Created with the subscription, including the secret used to sign deliveries:

json
{
  "data": {
    "id": "a1b2c3d4-1111-2222-3333-444455556666",
    "target_url": "https://example.com/wundertre/webhook",
    "event_types": ["contact.created", "contact.tag_added"],
    "secret": "8f3c2a1d9e7b4f6a5c2d1e0f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b",
    "enabled": true,
    "description": "Sync new leads to internal CRM",
    "created_at": "2026-05-17T14:30:00Z"
  }
}
Store the secret immediately

The secret is only returned on creation. WundertreOS does not expose it on subsequent list or get calls. Save it in your integration's config before the response is discarded — see Verify signatures.

Errors

StatuserrorWhen
400invalid_requesttarget_url missing or not a URL; event_types empty; an event type is not in the supported set.
403forbiddenCredential lacks webhooks:read or webhooks:write.