---
title: "Create Webhook Subscription"
method: POST
path: "/api/webhooks/subscriptions"
tags: ["webhooks"]
---

# Create Webhook Subscription

`POST /api/webhooks/subscriptions`

## Request

- Base URL: `https://zsign.io` (the document declares no server; this is the origin it was published from)
- URL: `https://zsign.io/api/webhooks/subscriptions`
- Auth: HTTP bearer

Create a managed subscription. Unlike POST /api/webhooks this ADDS a
destination -- it never replaces or removes existing endpoints. The
generated secret is returned once, on this response only.

## Request body

- WebhookCreateRequest
  - `url` string, uri, required
  - `events` string[], nullable

## Response `201`

Successful Response

- WebhookCreateResponse
  - `id` string, uuid, required
  - `url` string, required
  - `events` string[], required
  - `enabled` boolean, required
  - `created_at` string, date-time, required
  - `secret` string, required

## Other responses

- `422`: Validation Error

---

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