---
title: "Create webhook subscription"
method: POST
path: "/accounts/{account_id}/webhooks"
tags: ["Webhooks"]
---

# Create webhook subscription

`POST /accounts/{account_id}/webhooks`

Registers a destination URL and one or more event types. The signing secret is returned once in the response.

## Path parameters

- `account_id` string, required — ID of the resource

## Request body

- CreateWebhookSubscription
  - `events` string[], required — Event types to subscribe to. Supports concrete types (e.g. `transfer.created`) and namespace wildcards (e.g. `transfer.*` for all transfer events). See the supported event types endpoint.
  - `url` string, required — HTTPS URL to receive signed webhook POST requests

## Response `201`

Created

- WebhookSubscriptionCreated
  - `events` string[], required
  - `id` string, required — ID of the resource
  - `sharedSecret` string, required — Signing secret (Base64 Encoded). Returned only on create; store it securely to verify signatures.
  - `status` 'active' | 'archived', required — Subscription lifecycle: active deliveries or archived (no longer used).
  - `url` string, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Unprocessable Entity

---

[API](https://skmtc.net/brale/apis/brale-api.md) · [All operations](https://skmtc.net/brale/apis/brale-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/brale/brale-api/revisions/0411af6c9040/schema)
