---
title: "Create a workspace webhook endpoint"
method: POST
path: "/api/v1/webhooks"
tags: ["Webhooks"]
---

# Create a workspace webhook endpoint

`POST /api/v1/webhooks`

## Request

- Base URL: `https://blendduck.com`
- URL: `https://blendduck.com/api/v1/webhooks`
- Auth: HTTP bearer

Create a workspace webhook endpoint.

## Headers

- `X-Request-ID` string
- `Idempotency-Key` string

## Request body

- CreateWebhookEndpointInput
  - `name` string, required
  - `url` string, uri, required
  - `eventTypes` string[], required

## Response `201`

Created endpoint and one-time signing secret

- WebhookEndpointSecretResponse
  - `data` object, required
    - `endpoint` object, required
      - `id` string, uuid, required
      - `name` string, required
      - `url` string, uri, required
      - `apiVersion` 'v1', required
      - `eventTypes` string[], required
      - `status` 'active' | 'disabled', required
      - `secretDisplay` string, required
      - `rotatedAt` string, date-time, nullable, required
      - `disabledAt` string, date-time, nullable, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
    - `secret` string, required
  - `meta` object, required
    - `requestId` string, required

## Other responses

- `400`: Invalid query, request body, JSON, or request identity.
- `401`: Missing or invalid authentication.
- `403`: Authentication lacks the required role or API-key scope.
- `404`: Resource or tenant path is hidden or absent.
- `409`: Lifecycle, idempotency, or concurrent-state conflict.
- `429`: The API-key operation exhausted its fixed-window quota.
- `500`: Internal or upstream failure.

---

[API](https://skmtc.dev/blendduck/apis/blendduck-public-api.md) · [All operations](https://skmtc.dev/blendduck/apis/blendduck-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blendduck/apis/blendduck-public-api/revisions/3b49354699da?raw)
