---
title: "Update an outbound webhook"
method: PUT
path: "/webhook/{webhook_id}"
tags: ["Webhook"]
---

# Update an outbound webhook

`PUT /webhook/{webhook_id}`

## Request

- Base URL: `https://circleci.com/api/v2`
- URL: `https://circleci.com/api/v2/webhook/{webhook_id}`
- Auth: one of:
  - API key in header `Circle-Token`
  - HTTP bearer
  - HTTP basic
  - API key in query parameter `circle-token`

Updates an existing outbound webhook by its unique ID.

## Path parameters

- `webhook_id` string, uuid, required

## Request body

- UpdateWebhookRequest: The parameters for an update webhook request.
  - `name` string: Name of the webhook.
  - `events` string[]: Events that will trigger the webhook.
  - `url` string: URL to deliver the webhook to. Note: protocol must be included as well (only https is supported).
  - `signing-secret` string: Secret used to build an HMAC hash of the payload and passed as a header in the webhook request.
  - `verify-tls` boolean: Whether to enforce TLS certificate verification when delivering the webhook.

## Response `200`

A webhook.

- Webhook
  - `id` string, uuid, required: The unique ID of the webhook.
  - `name` string, required: Name of the webhook.
  - `url` string, required: URL to deliver the webhook to. Note: protocol must be included as well (only https is supported).
  - `verify_tls` boolean, required: Whether to enforce TLS certificate verification when delivering the webhook.
  - `signing_secret` string, required: Masked value of the secret used to build an HMAC hash of the payload and passed as a header in the webhook request.
  - `events` string[], required: Events that will trigger the webhook.
  - `scope` WebhookScope, required: The scope in which the relevant events that will trigger webhooks.
    - `id` string, uuid, required: ID of the scope being used (at the moment, only project ID is supported).
    - `type` string, required: Type of the scope being used.
  - `created_at` string, date-time, required: The date and time the webhook was created.
  - `updated_at` string, date-time, required: The date and time the webhook was last updated.

## Other responses

- `400`: Unexpected request body provided.
- `401`: Credentials provided are invalid.
- `404`: Entity not found.
- `500`: Internal server error.

---

[API](https://skmtc.dev/circleci/apis/circleci-api.md) - [All operations](https://skmtc.dev/circleci/apis/circleci-api/llms.txt) - [OpenAPI document](https://skmtc.dev/circleci/apis/circleci-api/revisions/b9c0e0c24058?raw)
