---
title: "Create webhook"
method: POST
path: "/webhooks"
tags: ["Webhooks"]
---

# Create webhook

`POST /webhooks`

Add a new webhook destination to monitor transfer failures. All errors resulting from transfers that do not succeed will be delivered to this webhook endpoint for monitoring or logging.

## Request body

- CreateWebhookRequest
  - `webhook` union, required
    - HttpWebhookOptions
      - `name` string, required — Descriptive name for webhook.
      - `vendor` 'generic_post' | 'generic_get', required — Webhook destination type. generic_post will deliver payload data as JSON
      - `api_version` string — The API version to use when rendering events.
      - `events` string[] — The events to receive via webhook.
      - `url` string, required — The URL to send the webhook to.
      - `api_key` string — The API key to use when sending the webhook.
    - PagerDutyWebhookOptions
      - `name` string, required — Descriptive name for webhook.
      - `vendor` 'pagerduty', required — Webhook destination type. pagerduty will POST a JSON payload data formatted for the enqueue endpoint of the PagerDuty V2 Events API.
      - `api_version` string — The API version to use when rendering events.
      - `events` string[] — The events to receive via webhook.
      - `api_key` string, required — Integration Key provided by PagerDuty in the Events API Overview of the service configured to monitor these events.
    - SlackWebhookOptions
      - `name` string, required — Descriptive name for webhook.
      - `vendor` 'slack', required — Webhook destination type. slack will POST a JSON payload formatted for Slack incoming webhooks.
      - `api_version` string — The API version to use when rendering events.
      - `events` string[] — The events to receive via webhook.
      - `url` string, required — Destination URL provided by Slack in the form 'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX'.
    - DatadogWebhookOptions
      - `name` string, required — Descriptive name for webhook.
      - `vendor` 'datadog', required — Webhook destination type. datadog will POST a JSON payload data formatted for the Datadog v1 events endpoint.
      - `api_version` string — The API version to use when rendering events.
      - `events` string[] — The events to receive via webhook.
      - `api_key` string — The API key to use when sending the webhook.

## Response `200`

OK

- object
  - `status` 'success', required
  - `data` WebhookResponse, required
    - `webhook` Webhook, required
      - `id` string, required
      - `name` string, required
      - `vendor` string, required
      - `url` string, required
      - `api_key` string
      - `api_version` string, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `events` string[], required
  - `message` string, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.dev/prequel/apis/prequel-data-export.md) · [All operations](https://skmtc.dev/prequel/apis/prequel-data-export/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/prequel/prequel-data-export/revisions/09c662a871f8/schema)
