Skip to main content
POST
/
v1
/
webhook
/
deposit
/
api-key
Create a Deposit Webhook
curl --request POST \
  --url https://api.hel.io/v1/webhook/deposit/api-key \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "depositId": "<string>",
  "targetUrl": "<string>"
}
'
[
  {
    "id": "68f65b3f8eda28e9761b84d9",
    "name": "deposithooktest",
    "targetUrl": "https://webhook-test-url/f5f34313-c07a-4473-a46f-3a9feb8aea1a",
    "inactive": false,
    "createdAt": "2025-10-20T15:54:39.374Z",
    "deposit": "68f65b2b03d7f2b2a12ca41e",
    "isGlobal": false,
    "sharedToken": "ZtiSEjZsTNoczv8kvDgtSx5+YO017NOlM/mrqEMj2nnHXi+UfmCQvuqvZlI0eH3JJWrW1D3UDWM+GgK9sVfR0NNPIMwWNV+jcFehjDIMlVq05Ahf2/5tUT/W7qqiHWZy"
  }
]
NOTE: When using Helio on mainnet, set your Base URL to https://api.hel.io and generate your API keys from moonpay.hel.io . For testnet, use https://api.dev.hel.io and generate your API keys from moonpay.dev.hel.io.
To receive deposit-customer quota alerts (80% / 90% / 100% of your daily create limit), create a global webhook by omitting depositId. Deposit-scoped webhooks only receive transaction events. See Deposit-customer quota alerts in the webhook overview for payloads and behavior.
To receive DEPOSIT_BELOW_MINIMUM alerts when a user has sent funds below the sweep threshold, create a deposit-scoped or global webhook. Both scopes receive this event when subscribed. See Below-minimum deposit alerts in the webhook overview for payloads and delivery rules.

Authorizations

Authorization
string
header
required

Authentication using JWT token

Query Parameters

apiKey
string
required

Your API key can be generated on the Helio Dashboard’s settings page.

Body

application/json
name
string
required

The name of the webhook.

depositId
string
required

The ID of the deposit the webhook is associated with.

targetUrl
string
required

The URL that will receive the webhook payload when the event occurs.

Response

Webhook creation response

events
enum<string>[]
required
Available options:
STARTED,
RENEWED,
ENDED
id
string
required
company
string
required
targetUrl
string
required
sharedToken
string
required
creator
string