---
title: "Update a webhook subscription"
method: PATCH
path: "/v1/webhooks/{id}"
tags: ["Webhooks"]
---

# Update a webhook subscription

`PATCH /v1/webhooks/{id}`

## Request

- Base URL: `https://api.automatedclientacquisition.com`
- URL: `https://api.automatedclientacquisition.com/v1/webhooks/{id}`
- Auth: HTTP bearer

Change the events, move the URL, or pause it with `is_active: false`.
A paused subscription stops receiving deliveries but keeps its secret,
so resuming does not require re-verifying anything.

## Request body

- object
  - `target_url` string, uri
  - `events` WebhookEvent[]
  - `is_active` boolean

## Response `200`

The updated subscription.

- object
  - `success` boolean
  - `data` WebhookSubscription
    - `id` string, uuid
    - `target_url` string, uri
    - `events` WebhookEvent[]
    - `secret` string: Signs this subscription's deliveries as `X-Webhook-Signature`. Returned on read so an integration can recover it.
    - `is_active` boolean
    - `source` string: Free-form label for whatever registered this.
    - `max_attempts` integer
    - `created_at` string, date-time
    - `updated_at` string, date-time

## Other responses

- `400`: Malformed or invalid body. Do not retry — it will fail identically.
- `401`: Missing, invalid or revoked token.
- `404`: Subscription not found.
- `429`: Over 120 requests in the current minute. `Retry-After` says how many seconds until the window resets; wait that long and continue.
- `500`: Something broke on our side. Safe to retry with backoff.

---

[API](https://skmtc.dev/automatedclientacquisition/apis/aca-api.md) · [All operations](https://skmtc.dev/automatedclientacquisition/apis/aca-api/llms.txt) · [OpenAPI document](https://skmtc.dev/automatedclientacquisition/apis/aca-api/revisions/8f3e3b141311?raw)
