---
title: "Create a Webhook"
method: POST
path: "/v1/webhooks"
---

# Create a Webhook

`POST /v1/webhooks`

## Request

- Base URL: `https://api.browserbase.com`
- URL: `https://api.browserbase.com/v1/webhooks`
- Auth: API key in header `X-BB-API-Key`

Register an HTTPS endpoint to receive events for this project. The response includes the signing secret, which is shown only here and when the secret is rotated. Store it before discarding the response. An endpoint may only be registered once per project.

## Request body

- object
  - `endpoint` string, uri, required: HTTPS URL that event deliveries are POSTed to. Must be publicly reachable.
  - `eventTypes` string[], required: Event types this webhook subscribes to. Unknown types are rejected.

## Response `201`

The webhook has been created.

- object: A delivery endpoint for a project. Browserbase POSTs a signed event to it whenever one of its subscribed event types occurs. The signing secret is returned only when it is created or rotated.
  - `id` string, required: Unique identifier for the webhook.
  - `projectId` string, required: The project the webhook belongs to.
  - `endpoint` string, uri, required: HTTPS URL that event deliveries are POSTed to. Must be publicly reachable.
  - `eventTypes` string[], required: Event types this webhook subscribes to. Unknown types are rejected.
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `secret` string, required: HMAC-SHA256 signing secret, prefixed `whsec_`. Shown once here; store it now. Use it to verify the signature on every delivery.

## Changes

- **2026-10-16** `266d5199a560`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/browserbase/apis/browserbase-api/changes/v1/webhooks/post.md)

---

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