Create a webhook endpoint to receive event notifications via HTTP POST.
Request Body
The HTTPS URL to send webhook events to.
Event types to subscribe to: files.expiring, balance.low, bandwidth.limit_approaching, bandwidth.limit_reached, transactions.limit_approaching, transactions.limit_reached.
SUI balance threshold for balance.low events (e.g., "5.0").
Response
Whether the webhook is active.
Signing secret for verifying payloads. Only returned once.
ISO 8601 creation timestamp.
Example
curl -X POST https://api.tusky.io/v2/notifications/webhooks \
-H "Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://api.example.com/tusky-webhook",
"events": ["files.expiring", "balance.low", "transactions.limit_reached"],
"balanceThreshold": "5.0"
}'
Response
{
"id": "wh_abc123",
"url": "https://api.example.com/tusky-webhook",
"events": ["files.expiring", "balance.low", "transactions.limit_reached"],
"active": true,
"secret": "whsec_xK9m2nP4qR7...",
"createdAt": "2026-03-07T14:00:00Z"
}
The secret is only returned when the webhook is created. Store it securely — use it to verify webhook payload signatures.
Webhook payloads are signed with HMAC-SHA256 using the secret. Verify the X-Tusky-Signature header on incoming requests to ensure authenticity.