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

# Create webhook

`POST /webhooks`

## Request

- Base URL: `https://klaaro.ai/api/v1`
- URL: `https://klaaro.ai/api/v1/webhooks`
- Auth: HTTP bearer

## Request body

- object
  - `datasetId` string, uuid, required: Dataset UUID (from `GET /datasets`).
  - `url` string, uri, required
  - `events` WebhookEvent[], required
  - `description` string

## Response `201`

Created — signingSecret shown once

- WebhookCreated
  - `id` string, uuid, required
  - `url` string, uri, required
  - `events` WebhookEvent[], required
  - `description` string, nullable
  - `secretLast4` string, nullable
  - `lastDeliveryAt` string, date-time, nullable
  - `lastStatus` string, nullable
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `signingSecret` string: HMAC signing secret — shown once on creation. Store securely; cannot be retrieved again.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `429`: Rate limited

---

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