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

# Create webhook

`POST /v1/webhooks/endpoints`

Register a new webhook endpoint to receive `tool_execution.*`, `workflow_run.*`, and `file.*` events. The signing secret is only returned in this response. Store it securely.

## Request body

- CreateWebhookEndpointRequest
  - `url` string, uri, required — HTTPS URL that will receive webhook POST requests.
  - `description` string, nullable
  - `events` WebhookEventName[], required — Webhook event names to subscribe to. Must contain at least one event.

## Response `201`

Created; `signingSecret` is only returned in this response.

- WebhookEndpoint
  - `endpointId` string, required — Webhook endpoint id (e.g. `ep_...`).
  - `url` string, uri, required
  - `events` WebhookEventName[], required
  - `description` string, nullable
  - `createdAt` integer, required — Seconds since epoch (Unix timestamp) when the endpoint was created.
  - `signingSecret` string — HMAC secret for verifying [Standard Webhooks](https://www.standardwebhooks.com/) signatures. Only returned once on create; store it securely.
  - `signingSecretLast4` string — Last four characters of the signing secret, for display purposes.

## Other responses

- `default` — Error

---

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