---
title: "Create a Withdrawal Webhook"
method: POST
path: "/v1/webhook/withdrawal/api-key"
tags: ["Webhooks"]
---

# Create a Withdrawal Webhook

`POST /v1/webhook/withdrawal/api-key`

Create a webhook to receive withdrawal lifecycle events (`SUBMITTED`, `CONFIRMED`, `FAILED`, `REFUNDED_BY_PROVIDER`). Requires an API key with the `WEBHOOK_CREATE` permission.

## Query parameters

- `apiKey` string, required

## Request body

- CreateWithdrawalHookByApiKeyDto
  - `name` string, required — Webhook name.
  - `targetUrl` string, uri, required — URL that receives webhook payloads.
  - `events` WithdrawalHookEvent[], required

## Response `200`

Webhook created successfully.

- WithdrawalHookEntity
  - `id` string
  - `name` string
  - `targetUrl` string
  - `events` WithdrawalHookEvent[]
  - `inactive` boolean
  - `sharedToken` string — Bearer token and HMAC key for verifying deliveries.
  - `createdAt` string, date-time

## Other responses

- `401` — Provided API key has no access to the resource.

---

[API](https://skmtc.net/hel/apis/helio-open-api.md) · [All operations](https://skmtc.net/hel/apis/helio-open-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hel/helio-open-api/revisions/5732beb2d39f/schema)
