---
title: "Register a new webhook"
method: POST
path: "/v1/webhooks"
---

# Register a new webhook

`POST /v1/webhooks`

## Request

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

Returns the signing secret exactly once. Every delivery carries X-Varosity-Signature (sha256=<hex>) computed over `<timestamp>.<body>` using this secret, plus X-Varosity-Timestamp for replay protection.

## Request body

- object
  - `url` string, uri, required
  - `events` string[], required
  - `label` string

## Response `201`

Webhook created; secret returned ONCE

## Other responses

- `400`: Invalid body
- `401`: Unauthorized

---

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