---
title: "Add a webhook endpoint (at most 5); the secret is returned only here"
method: POST
path: "/api/v1/webhooks"
---

# Add a webhook endpoint (at most 5); the secret is returned only here

`POST /api/v1/webhooks`

## Request

- Base URL: `https://uidwatch.tollwyn.com`
- URL: `https://uidwatch.tollwyn.com/api/v1/webhooks`
- Auth: HTTP bearer

## Request body

- object
  - `url` string, uri, required: https on a public address
  - `kinds` string[]: Default: all kinds

## Response `201`

The endpoint with its signing secret.

- object
  - `id` string, uuid, required
  - `url` string, required
  - `kinds` string[], required
  - `created_at` string, date-time, required
  - `secret` string, required

## Other responses

- `400`: The body is not JSON (invalid_json).
- `401`: No valid API key (unauthorized).
- `403`: Already 5 endpoints (too_many_webhooks).
- `422`: The URL is not allowed (invalid_url) or the body is not valid (invalid_request).
- `429`: Too many requests (rate_limited); see the Retry-After header.

---

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