# `bird webhooks update`

## Usage

```bash
bird webhooks update <webhook-id> [flags]
```

## Description

Update a webhook endpoint

Change an endpoint's URL, description, subscribed event types, or delivery status. Only the fields sent change: `events` replaces the whole subscription set, and `status` pauses or re-enables delivery. Events fired while paused are not delivered.

Build the request from flags, a JSON WebhookEndpointUpdate body via --body-file ("-" reads
stdin), or both — a flag overrides the matching body field. Run --example to
print a ready-to-edit body, or --dry-run to print the resolved request without
sending it.

## Examples

```bash
# print the body shape (no credentials needed)
bird webhooks update --example

# the body it prints:
```

```json
{
  "description": "Updated webhook endpoint",
  "events": ["email.delivered", "email.bounced", "email.complained"],
  "status": "active",
  "url": "https://example.com/webhook"
}
```

## Options

#### Request

| Name                | Description                                                  |
| ------------------- | ------------------------------------------------------------ |
| `--body-file`       | Read the JSON request body from this file; "-" reads stdin   |
| `--example`         | Print a complete example request body, then exit             |
| `--dry-run`         | Print the resolved request without sending it, then exit     |
| `--idempotency-key` | Deduplication key; a retry with the same key won't act twice |

#### Options

| Name                 | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--url`              | Replacement delivery URL. Same rules as at creation: HTTPS, at most 2048 characters, and the host must be publicly reachable (private, loopback, and link-local addresses return a 422). Omit to keep the current URL.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `--description`      | Human-readable label for this endpoint, up to 256 characters.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `--events <v1,v2,…>` | Replaces all event subscriptions with this list. Omit to keep the current set. Types outside the event catalog return a 422. Known values: domain.failed, domain.verified, email.accepted, email.bounced, email.canceled, email.clicked, email.complained, email.deferred, email.delivered, email.list\_unsubscribed, email.opened, email.out\_of\_band\_bounce, email.processed, email.received, email.rejected, email.scheduled, email.unsubscribed, email\_mailbox.message\_delivered, email\_mailbox.message\_failed, email\_mailbox.message\_received, email\_mailbox.message\_sent, email\_mailbox.suspended, email\_mailbox.thread\_created, email\_suppression.created, preference.deleted, preference.granted, preference.revoked, sms.accepted, sms.delivered, sms.expired, sms.failed, sms.received, sms.rejected, sms.sent, sms.undelivered, sms\_suppression.created, verify.attempt.delivered, verify.attempt.sent, verify.attempt.undelivered, verify.verification.created, verify.verification.failed, verify.verification.verified, voice\_call.answered, voice\_call.ended, voice\_call.initiated, whatsapp.accepted, whatsapp.delivered, whatsapp.failed, whatsapp.read, whatsapp.received, whatsapp.rejected, whatsapp.sent, whatsapp\_suppression.created (others may exist). |
| `--status`           | paused stops all deliveries; active re-enables a paused endpoint. Omit to leave the status unchanged. Events that fire while paused are not delivered; after re-enabling, recover them with [Replay missed events](/docs/api/reference/create-webhook-replay). A degraded endpoint cannot be reset through this field: it returns to active automatically once deliveries succeed again. Possible values: active, paused.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `--response-schema`  | Print the fields this command returns, then exit                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |

## Related

| Name                                                                        | Description                        |
| --------------------------------------------------------------------------- | ---------------------------------- |
| [`bird webhooks attempts`](/docs/cli/reference/webhooks-attempts)           | List delivery attempts             |
| [`bird webhooks create`](/docs/cli/reference/webhooks-create)               | Create a webhook endpoint          |
| [`bird webhooks delete`](/docs/cli/reference/webhooks-delete)               | Delete a webhook endpoint          |
| [`bird webhooks get`](/docs/cli/reference/webhooks-get)                     | Get a webhook endpoint             |
| [`bird webhooks list`](/docs/cli/reference/webhooks-list)                   | List webhook endpoints             |
| [`bird webhooks rotate-secret`](/docs/cli/reference/webhooks-rotate-secret) | Rotate webhook signing secret      |
| [`bird webhooks test`](/docs/cli/reference/webhooks-test)                   | Test a webhook with a sample event |