---
title: "Create Webhook"
method: POST
path: "/webhooks"
tags: ["Webhooks"]
---

# Create Webhook

`POST /webhooks`

Create a new webhook

## Request body

- object
  - `url` string, uri, required
  - `events` string[], required
  - `workspace_id` string, uuid — Optional workspace ID. When provided, creates a workspace-scoped webhook. When omitted, creates a company-level webhook.

## Response `201`

Webhook created successfully

- Webhook
  - `id` string, uuid, required — Unique identifier for the webhook
  - `url` string, uri, required — Webhook URL
  - `description` string, nullable — Webhook description
  - `events` string[], required — Events that trigger this webhook
  - `enabled` boolean, required — Whether the webhook is enabled
  - `consecutive_failures` integer — Number of consecutive delivery failures
  - `auto_disabled_at` string, date-time, nullable — Timestamp when the webhook was auto-disabled due to failures
  - `created_at` string, date-time, required — Webhook creation timestamp
  - `updated_at` string, date-time — Webhook last update timestamp

## Other responses

- `400` — Bad Request - Validation failed
- `401` — Unauthorized - Invalid or missing API key
- `429` — Too Many Requests - Rate limit exceeded

---

[API](https://skmtc.dev/firma/apis/firma-partner-api.md) · [All operations](https://skmtc.dev/firma/apis/firma-partner-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/firma/firma-partner-api/revisions/5c03d6a9d080/schema)
