---
title: "Create Webhook Subscription"
method: POST
path: "/v1/webhooks"
tags: ["webhooks"]
---

# Create Webhook Subscription

`POST /v1/webhooks`

Create a webhook subscription.

Requires the `webhooks:write` scope on the API key.

## Request body

- WebhookSubscriptionInput
  - `name` string, required — Name of the subscription.
  - `url` string, uri, required — Endpoint that will receive POST deliveries.
  - `description` string, nullable — Free-form description.
  - `event_types` OutboundWebhookEventType[], required — Event types this subscription should receive.
  - `sequence_template_ids` string[], nullable — Restrict deliveries to events from these sequence templates.

## Response `201`

Successful Response

- CreatedWebhookSubscriptionOutput
  - `id` string, uuid, required — Unique identifier.
  - `name` string, required — Name of the subscription.
  - `url` string, required — Delivery URL events are POSTed to.
  - `description` string, nullable, required — Free-form description.
  - `event_types` OutboundWebhookEventType[], required — Event types this subscription receives.
  - `sequence_template_ids` string[], nullable, required — Sequence-template scope.
  - `status` 'ACTIVE' | 'PAUSED' | 'DISABLED', required
  - `secret_prefix` string, required — Leading characters of the signing secret, safe to display.
  - `created_at` string, date-time, required — When the subscription was created.
  - `updated_at` string, date-time, required — When the subscription last changed.
  - `secret` string, required — Signing secret. Returned ONLY in this response — store it now, it is never returned again.

## Changes

- **2026-08-05** `b390cd1c4e2a` — 4 warning, 4 info
  - added the new `contact_entry.resolved` enum value to the `event_types/items/` response property for the response status `201`
  - added the new `contact_exclusion.created` enum value to the `event_types/items/` response property for the response status `201`
  - added the new `event.resolved` enum value to the `event_types/items/` response property for the response status `201`
  - added the new `task.reopened` enum value to the `event_types/items/` response property for the response status `201`
  - …4 more

[Change history](https://skmtc.dev/topo/apis/topo-public-api/changes/v1/webhooks/post.md)

---

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