---
title: "Creates a webhook"
method: POST
path: "/v1/webhooks"
tags: ["webhooks"]
---

# Creates a webhook

`POST /v1/webhooks`

## Request

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

Creates a webhook

## Query parameters

- `teamId` string
- `slug` string

## Request body

- object
  - `url` string, uri, required
  - `events` string[], required
  - `projectIds` string[]

## Response `200`

- object
  - `alertRuleIds` string[]
  - `createdAt` number, required: A number containing the date when the webhook was created in in milliseconds
  - `events` string[], required: The webhooks events
  - `id` string, required: The webhook id
  - `ownerId` string, required: The unique ID of the team the webhook belongs to
  - `projectIds` string[]: The ID of the projects the webhook is associated with
  - `secret` string, required: The webhook secret used to sign the payload
  - `updatedAt` number, required: A number containing the date when the webhook was updated in in milliseconds
  - `url` string, required: A string with the URL of the webhook

## Other responses

- `400`: One of the provided values in the request body is invalid.
- `401`: The request is not authorized.
- `403`: You do not have permission to access this resource.
- `404`
- `410`

## Changes

- **2026-09-30** `099fbe1f521c`: 1 info
  - added the non-success response with the status `404`
- **2026-08-18** `4a14567fe836`: 1 info
  - added the optional property `alertRuleIds` to the response with the `200` status
- **2026-07-21** `2ae10ee9d21c`: 1 info
  - added the non-success response with the status `410`
- **2026-06-11** `14b4658f819e`: 21 warning, 21 info
  - added the new `comment.mentioned` enum value to the `events/items/` response property for the response status `200`
  - added the new `deployment.blocked` enum value to the `events/items/` response property for the response status `200`
  - added the new `deployment.build-requested` enum value to the `events/items/` response property for the response status `200`
  - added the new `deployment.rollback` enum value to the `events/items/` response property for the response status `200`
  - …38 more
- **2026-02-10** `486a07653d6e`: 10 warning, 10 info
  - added the new `comment.created` enum value to the `events/items/` response property for the response status `200`
  - added the new `comment.deleted` enum value to the `events/items/` response property for the response status `200`
  - added the new `comment.reaction-added` enum value to the `events/items/` response property for the response status `200`
  - added the new `comment.reaction-removed` enum value to the `events/items/` response property for the response status `200`
  - …16 more

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

---

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