---
title: "Create a webhook"
method: POST
path: "/webhooks"
---

# Create a webhook

`POST /webhooks`

## Request body

- object
  - `name` string, required — Webhook name
  - `url` string, uri, required — URL to receive webhook events
  - `resource` 'image' | 'batch' | 'tool_job' | 'workflow_run' | 'animation' — Resource type to trigger on
  - `event` 'all_events' | 'completed' | 'failed' — Event type to trigger on
  - `status` 'active' | 'disabled' — Webhook status

## Response `201`

Webhook created. The signing_key field is only returned here — store it now.

- object
  - `uid` string
  - `name` string
  - `url` string, uri
  - `resource` 'image' | 'batch' | 'tool_job' | 'workflow_run' | 'animation'
  - `event` 'all_events' | 'completed' | 'failed'
  - `status` 'active' | 'disabled'
  - `created_at` string, date-time
  - `signing_key` string — HMAC signing key. Only returned at creation time — store it now.

## Other responses

- `422` — Validation failure — e.g. missing name/url, invalid resource/event/scope enum

---

[API](https://skmtc.dev/bannerbear/apis/bannerbear-v5-api.md) · [All operations](https://skmtc.dev/bannerbear/apis/bannerbear-v5-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bannerbear/bannerbear-v5-api/revisions/6aa425420a10/schema)
