---
title: "Create webhook endpoint"
method: POST
path: "/webhook_endpoints"
---

# Create webhook endpoint

`POST /webhook_endpoints`

## Request

- Base URL: `https://api.shortgenius.com/v1`
- URL: `https://api.shortgenius.com/v1/webhook_endpoints`
- Auth: HTTP bearer

Subscribe a URL to lifecycle events. The returned `secret` is shown only once — persist it to verify the `ShortGenius-Signature` of deliveries.

## Request body

- object
  - `url` string, uri, required: The HTTPS URL that event payloads are delivered to.
  - `events` string[], required: Event types to subscribe to. Use `*` to receive every event.
  - `description` string: Optional human-readable label for the endpoint.

## Response `201`

Webhook endpoint created

- object: The created webhook endpoint. The `secret` is shown only at creation time.
  - `id` string, uuid, required: Unique ID of the newly created webhook endpoint.
  - `secret` string, required: The signing secret, returned exactly once. Persist it to verify the `ShortGenius-Signature` header of deliveries.

## Other responses

- `401`: Unauthorized request
- `422`: Invalid request

---

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