---
title: "Update webhook subscription"
method: PATCH
path: "/accounts/{account_id}/webhooks/subscriptions/{subscription_id}"
tags: ["Webhooks"]
---

# Update webhook subscription

`PATCH /accounts/{account_id}/webhooks/subscriptions/{subscription_id}`

Updates URL and/or subscribed event types for an **active** subscription. When `events` is sent, it replaces the full set. **Archived** subscriptions return **409**.

## Path parameters

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

## Request body

- UpdateWebhookSubscription
  - `events` string[], nullable — When present, replaces all subscribed event types. Supports concrete types (e.g. `transfer.created`) and namespace wildcards (e.g. `transfer.*`).
  - `url` string, nullable — HTTPS URL to receive signed webhook POST requests

## Response `200`

OK

- WebhookSubscription
  - `events` string[], required
  - `id` string, required — ID of the resource
  - `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
- `409` — Conflict
- `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/7446d49997c2/schema)
