---
title: "Create webhook subscription"
method: POST
path: "/webhooks"
tags: ["webhooks"]
---

# Create webhook subscription

`POST /webhooks`

## Request

- Base URL: `https://catalyst.stratogenic.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://catalyst.stratogenic.ai/webhooks`
- Auth: API key in header `X-API-Key`

Creates a new outbound webhook subscription for the current tenant.

Safety and gating:
- The tenant must have the webhooks feature enabled in their plan.
- The requested event must be allowed for the tenant’s entitlements.
- The callback URL is validated to prevent SSRF and internal access.

Each subscription is assigned a per-tenant secret used to sign outbound webhook requests. `platform` is optional and is used to label the downstream integration target. If omitted, Catalyst treats the subscription as `generic`.

## Response `201`

Successful Response

- WebhookSubscriptionOut
  - `id` union, required
    - string
    - integer
  - `event` string, required
  - `url` string, uri, required
  - `active` boolean, required
  - `platform` string, required

## Other responses

- `402`: Webhooks not included in current plan — upgrade to enable outbound webhook delivery.
- `409`: A subscription for this event and callback URL already exists for this tenant.
- `422`: Invalid callback URL (must be HTTPS) or unrecognised event name.

---

[API](https://skmtc.dev/stratogenic/apis/stratogenic-catalyst-api.md) · [All operations](https://skmtc.dev/stratogenic/apis/stratogenic-catalyst-api/llms.txt) · [OpenAPI document](https://skmtc.dev/stratogenic/apis/stratogenic-catalyst-api/revisions/ad906ad7a85d?raw)
