---
title: "POST /api/webhooks"
method: POST
path: "/api/webhooks"
tags: ["api", "webhooks"]
---

# POST /api/webhooks

`POST /api/webhooks`

Create a new webhook

## Request body

- POSTWebhooksCreateANewWebhook
  - `name` string, required — An internal name to identify the webhook listener
  - `enabled` boolean — Whether this listener should be notified.
  - `url` string, uri, required — An HTTPS URL to post the webhook data
  - `events` object — An object with the subscription status to the webhook event types.
    - `transaction.complete` boolean
    - `transaction.reservedBySystem` boolean
    - `transaction.canceled` boolean
    - `transaction.partiallyCanceled` boolean
    - `checkout.completed` boolean
    - `checkout.aborted` boolean
    - `checkout.detailsSubmitted` boolean
    - `ticket.created` boolean
    - `ticket.updated` boolean
    - `purchaseIntent.created` boolean
    - `purchaseIntent.approved` boolean
    - `purchaseIntent.rejected` boolean
    - `purchaseIntent.updated` boolean
    - `purchaseIntent.expired` boolean
    - `purchaseIntent.completed` boolean
    - `purchaseIntent.cancelled` boolean
    - `customer.created` boolean
    - `customer.updated` boolean
    - `event.created` boolean
    - `event.updated` boolean
    - `event.deleted` boolean
    - `job.started` boolean
    - `job.failed` boolean
    - `job.completed` boolean
    - `support.assignedToSeller` boolean
    - `ticketTransfer.created` boolean
    - `ticketTransfer.rejected` boolean
    - `ticketTransfer.transferred` boolean
    - `ticketTransfer.expired` boolean
    - `scan.created` boolean
    - `bundle.created` boolean
    - `bundle.updated` boolean
    - `product.created` boolean
    - `product.updated` boolean
    - `product.deleted` boolean
    - `subscription.created` boolean
    - `subscription.updated` boolean
    - `subscription.payment.succeeded` boolean
    - `subscription.payment.failed` boolean
    - `fund.created` boolean
    - `fund.updated` boolean
    - `campaign.created` boolean
    - `campaign.updated` boolean
    - `donation.created` boolean
    - `pledge.created` boolean
  - `hmacKey` string, nullable — The HMAC key used to validate webhooks.

## Response `201`

Created

- POSTWebhooksCreateANewWebhook201Response
  - `_id` string, required
  - `name` string, required — An internal name to identify the webhook listener
  - `enabled` boolean — Whether this listener should be notified.
  - `url` string, uri, required — An HTTPS URL to post the webhook data
  - `events` object — An object with the subscription status to the webhook event types.
    - `transaction.complete` boolean
    - `transaction.reservedBySystem` boolean
    - `transaction.canceled` boolean
    - `transaction.partiallyCanceled` boolean
    - `checkout.completed` boolean
    - `checkout.aborted` boolean
    - `checkout.detailsSubmitted` boolean
    - `ticket.created` boolean
    - `ticket.updated` boolean
    - `purchaseIntent.created` boolean
    - `purchaseIntent.approved` boolean
    - `purchaseIntent.rejected` boolean
    - `purchaseIntent.updated` boolean
    - `purchaseIntent.expired` boolean
    - `purchaseIntent.completed` boolean
    - `purchaseIntent.cancelled` boolean
    - `customer.created` boolean
    - `customer.updated` boolean
    - `event.created` boolean
    - `event.updated` boolean
    - `event.deleted` boolean
    - `job.started` boolean
    - `job.failed` boolean
    - `job.completed` boolean
    - `support.assignedToSeller` boolean
    - `ticketTransfer.created` boolean
    - `ticketTransfer.rejected` boolean
    - `ticketTransfer.transferred` boolean
    - `ticketTransfer.expired` boolean
    - `scan.created` boolean
    - `bundle.created` boolean
    - `bundle.updated` boolean
    - `product.created` boolean
    - `product.updated` boolean
    - `product.deleted` boolean
    - `subscription.created` boolean
    - `subscription.updated` boolean
    - `subscription.payment.succeeded` boolean
    - `subscription.payment.failed` boolean
    - `fund.created` boolean
    - `fund.updated` boolean
    - `campaign.created` boolean
    - `campaign.updated` boolean
    - `donation.created` boolean
    - `pledge.created` boolean
  - `hmacKey` string, nullable — The HMAC key used to validate webhooks.
  - `createdBy` object — The entity that created this webhook.
    - `type` 'USER' | 'APP' | 'API_KEY' | 'SYSTEM', required — The type of the entity
    - `id` string, required — The ID of the entity

## Other responses

- `400` — Bad Request
- `401` — Unauthorized

---

[API](https://skmtc.net/vivenu/apis/vivenu-api.md) · [All operations](https://skmtc.net/vivenu/apis/vivenu-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vivenu/vivenu-api/revisions/36be0dca14e7/schema)
