---
title: "Create webhook subscription"
method: POST
path: "/api/v1/webhook-subscriptions"
tags: ["webhook-subscriptions"]
---

# Create webhook subscription

`POST /api/v1/webhook-subscriptions`

Creates a new webhook subscription within the caller account.

## Request body

- WebhookSubscriptionCreate
  - `event_types` string[], required
  - `headers` object, nullable
  - `metadata` object, nullable

## Response `201`

Webhook subscription created.

- WebhookSubscriptionCreateResponse
  - `status` 'ACTIVE' | 'DISABLED_BY_FAILURES' | 'DISABLED_BY_USER', required
  - `headers` object, nullable, required
  - `metadata` object, nullable, required

## Other responses

- `400` — Request payload, query string, or path parameter failed validation.
- `401` — Authentication is missing, malformed, expired, or refers to a session that is no longer active.
- `403` — The caller is authenticated but lacks the required permission for this action.
- `422` — The payload passed schema validation but breaks a domain invariant.
- `500` — Unexpected server error. The response body never leaks internal details.

## Changes

- **2026-07-07** `84194c31ab85` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/kruzer-corp/apis/oms-api/changes/api/v1/webhook-subscriptions/post.md)

---

[API](https://skmtc.dev/kruzer-corp/apis/oms-api.md) · [All operations](https://skmtc.dev/kruzer-corp/apis/oms-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kruzer-corp/oms-api/revisions/e20d4f219a6a/schema)
