---
title: "Update a webhook"
method: PATCH
path: "/v2/webhooks/{webhook_id}"
tags: ["Webhooks"]
---

# Update a webhook

`PATCH /v2/webhooks/{webhook_id}`

Update a webhook and associated subscriptions.

Required scopes: `webhook:read-write`.

## Path parameters

- `webhook_id` string, uuid, required — A UUID which identifies the webhook.

## Request body

- object
  - `data` object, required
    - `target_url` string, uri — URL where the webhook events will be delivered to.
    - `subscriptions` object[] — One or more events the webhook is subscribed to.
      - `event_type` 'comment.created' | 'comment.resolved' | 'comment.unresolved' | 'comment.deleted' | 'list.created' | 'list.updated' | 'list.deleted' | 'list-attribute.created' | 'list-attribute.updated' | 'list-entry.created' | 'list-entry.updated' | 'list-entry.deleted' | 'object-attribute.created' | 'object-attribute.updated' | 'note.created' | 'note.updated' | 'note.deleted' | 'record.created' | 'record.merged' | 'record.updated' | 'record.deleted' | 'task.created' | 'task.updated' | 'task.deleted' | 'workspace-member.created', required — Type of event the webhook is subscribed to.
      - `filter` union, required — Filters to determine whether the webhook event should be sent. If null, the filter always passes.
        - object
          - `$or` union[], required
            - union
              - …
        - object
          - `$and` union[], required
            - union
              - …

## Response `200`

Success

- object — Success
  - `data` object, required
    - `target_url` string, uri, required — URL where the webhook events will be delivered to.
    - `subscriptions` object[], required — One or more events the webhook is subscribed to.
      - `event_type` 'comment.created' | 'comment.resolved' | 'comment.unresolved' | 'comment.deleted' | 'list.created' | 'list.updated' | 'list.deleted' | 'list-attribute.created' | 'list-attribute.updated' | 'list-entry.created' | 'list-entry.updated' | 'list-entry.deleted' | 'object-attribute.created' | 'object-attribute.updated' | 'note.created' | 'note.updated' | 'note.deleted' | 'record.created' | 'record.merged' | 'record.updated' | 'record.deleted' | 'task.created' | 'task.updated' | 'task.deleted' | 'workspace-member.created', required — Type of event the webhook is subscribed to.
      - `filter` union, required — Filters to determine whether the webhook event should be sent. If null, the filter always passes.
        - object
          - `$or` union[], required
            - union
              - …
        - object
          - `$and` union[], required
            - union
              - …
    - `id` object, required
      - `workspace_id` string, uuid, required — The ID of the workspace the webhook belongs to.
      - `webhook_id` string, uuid, required — The ID of the webhook.
    - `status` 'active' | 'degraded' | 'inactive', required — The state of the webhook. Webhooks marked as active and degraded will receive events, inactive ones will not. If a webhook remains in the degraded state for 7 days, it will be marked inactive.
    - `created_at` string, required — When the webhook was created.

## Other responses

- `404` — Not Found

---

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