> ## Documentation Index
> Fetch the complete documentation index at: https://docs.browserbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a Webhook

> Retrieve a single webhook by ID. The signing secret is not included; it is only ever returned on create and rotate.



## OpenAPI

````yaml get /v1/webhooks/{id}
openapi: 3.0.0
info:
  title: Browserbase API
  description: Browserbase API for 3rd party developers
  version: v1
servers:
  - url: https://api.browserbase.com
    description: Public endpoint
    variables: {}
security:
  - BrowserbaseAuth: []
tags: []
paths:
  /v1/webhooks/{id}:
    get:
      summary: Get a Webhook
      description: >-
        Retrieve a single webhook by ID. The signing secret is not included; it
        is only ever returned on create and rotate.
      operationId: Webhooks_get
      parameters:
        - name: id
          in: path
          description: The webhook ID.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The webhook.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
      x-codeSamples:
        - lang: javascript
          label: Node.js
          source: |-
            import Browserbase from "@browserbasehq/sdk";

            const bb = new Browserbase({
              apiKey: process.env.BROWSERBASE_API_KEY,
            });

            const webhook = await bb.webhooks.retrieve("<webhook-id>");

            console.log(webhook);
        - lang: python
          label: Python
          source: |-
            import os

            from browserbase import Browserbase

            bb = Browserbase(api_key=os.environ["BROWSERBASE_API_KEY"])

            webhook = bb.webhooks.retrieve("<webhook-id>")

            print(webhook)
        - lang: bash
          label: cURL
          source: |-
            curl --request GET \
              --url https://api.browserbase.com/v1/webhooks/<webhook-id> \
              --header "X-BB-API-Key: $BROWSERBASE_API_KEY"
components:
  schemas:
    Webhook:
      description: >-
        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.
      type: object
      properties:
        id:
          description: Unique identifier for the webhook.
          type: string
        projectId:
          description: The project the webhook belongs to.
          type: string
        endpoint:
          description: >-
            HTTPS URL that event deliveries are POSTed to. Must be publicly
            reachable.
          type: string
          format: uri
          maxLength: 2048
          pattern: ^https://[^/?#]+
        eventTypes:
          description: Event types this webhook subscribes to. Unknown types are rejected.
          type: array
          items:
            type: string
            enum:
              - functions.builds.running
              - functions.builds.completed
              - functions.builds.failed
              - functions.invocations.pending
              - functions.invocations.running
              - functions.invocations.completed
              - functions.invocations.failed
          minItems: 1
          uniqueItems: true
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
        - id
        - projectId
        - endpoint
        - eventTypes
        - createdAt
        - updatedAt
  securitySchemes:
    BrowserbaseAuth:
      type: apiKey
      in: header
      name: X-BB-API-Key
      description: Your [Browserbase API Key](https://www.browserbase.com/settings).

````