---
title: "Update a webhook destination"
method: PUT
path: "/v3/webhooks/{id}"
tags: ["Webhook Notifications"]
---

# Update a webhook destination

`PUT /v3/webhooks/{id}`

Update the values in a specific webhook destination.

### Limitations

- You only need to specify fields that need to change when you make a request to this endpoint.
Empty fields in the request do not overwrite existing fields.
- You should limit how many webhook destinations you have for each trigger type. When Nylas retries
a webhook, the retry goes to _all destinations for the specific trigger type_. This can result in
a lot of notifications.
- Some webhook testing tools rate-limit or block you if your webhook destination endpoint generates
too much traffic. Nylas blocks Ngrok connections for this reason.

## Path parameters

- `id` string, required

## Request body

- DestinationUpdatePayload
  - `description` string — A human-readable description of the webhook destination.
  - `trigger_types` string[] — The event that triggers the notification. See the [notification schemas](/docs/reference/notifications/) for details about each trigger type. See the [Grants](/docs/reference/api/manage-grants/), [Calendar](/docs/reference/api/calendar/), [Events](/docs/reference/api/events/), and [Messages](/docs/reference/api/messages/) references for information on how to trigger each event type.
  - `webhook_url` string — The URL to send webhooks to.
  - `status` 'active' | 'pause' — The new status of the destination.
  - `notification_email_addresses` string[] — The email addresses that Nylas notifies when a webhook is down for a while. See the [rate limit documentation](/docs/dev-guide/best-practices/rate-limits/) for details.
  - `compressed_delivery` boolean — If `true`, Nylas compresses notification payloads using gzip before delivering them. Nylas adds the `Content-Encoding: gzip` header to the request.

## Response `200`

Destination Updated

- object
  - `data` object
    - `id` string — A unique identifier for the webhook destination.
    - `description` string — A human-readable description of the webhook destination.
    - `trigger_types` string[] — The event that triggers the notification. See the [notification schemas](/docs/reference/notifications/) for details about each trigger type. See the [Grants](/docs/reference/api/manage-grants/), [Calendar](/docs/reference/api/calendar/), [Events](/docs/reference/api/events/), and [Messages](/docs/reference/api/messages/) references for information on how to trigger each event type.
    - `webhook_url` string — The URL to send webhooks to.
    - `status` 'active' | 'pause' | 'failing' | 'failed' — The status of the new destination.
    - `notification_email_addresses` string[] — The email addresses that Nylas notifies when a webhook is down for a while. See [Failing and failed webhooks](/docs/v3/notifications/#failing-and-failed-webhooks) for details.
    - `compressed_delivery` boolean — If `true`, Nylas compresses notification payloads using gzip before delivering them.
    - `status_updated_at` integer — The time the `status` field was last updated, represented as a Unix timestamp in seconds.
    - `created_at` integer — The time the webhook destination was created, represented as a Unix timestamp in seconds.
    - `updated_at` integer — The time the webhook destination was last updated, represented as a Unix timestamp in seconds.
  - `request_id` string — The ID for each request.

## Other responses

- `400` — Unable to update Pub/Sub channel

---

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