Skip to main content
POST
/
v1
/
webhooks
Create a webhook
curl --request POST \
  --url https://api.vendaze.com/v1/webhooks \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "My webhook",
  "url": "https://myapp.com/webhooks/vendaze",
  "events": [
    "person.created",
    "deal.won"
  ],
  "auth_enable": true
}
'
{
  "data": {
    "id": "wh_3f9a1c8b2d4e5f6a7b8c9d0e1f2a3b4c",
    "name": "My webhook",
    "url": "https://myapp.com/webhooks/vendaze",
    "events": [
      "person.created",
      "deal.won"
    ],
    "auth_enable": true,
    "webhook_secret": "whsec_3f9a1c8b2d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0",
    "created_at": "2026-05-26T14:00:00.000Z"
  }
}

Authorizations

Authorization
string
header
required

OAuth 2.1 access token.

Body

application/json
name
string
required

Descriptive name for the webhook.

Required string length: 1 - 100
Example:

"My webhook"

url
string<uri>
required

HTTPS destination URL. HTTP is not accepted.

Example:

"https://myapp.com/webhooks/vendaze"

events
enum<string>[]
required

List of events to subscribe to.

Minimum array length: 1

A valid webhook event name.

Available options:
person.created,
person.updated,
person.deleted,
activity.created,
activity.updated,
activity.deleted,
company.created,
company.updated,
company.deleted,
deal.created,
deal.updated,
deal.stage_changed,
deal.won,
deal.lost,
deal.deleted,
task.created,
task.updated,
task.completed,
task.deleted,
tag.created,
tag.updated,
tag.deleted,
product.created,
product.updated,
product.deleted,
pipeline.created,
pipeline.updated,
pipeline.deleted,
member_invited,
member_joined,
member_removed,
usage_logs.created
Example:
["person.created", "deal.won"]
auth_enable
boolean
default:false

Enables signed deliveries. When true, a webhook_secret is generated and returned in the response.

Example:

true

Response

Webhook created successfully.

data
object