Skip to content

Webhook management

One webhook endpoint per user (not per API key). See Webhooks for the event list, retry policy, and signature format.

Terminal window
curl https://sandbox-api.nuez.app/v1/webhook \
-H "Authorization: Bearer <jwt>"
{ "webhook": { "id": "...", "url": "https://example.com/webhooks/nuez", "active": true, "created_at": "...", "updated_at": "..." } }

Returns {"webhook": null} (still 200) if none is configured.

Creates or replaces the user’s webhook. secret is not generated by nuez — you choose it.

Terminal window
curl -X PUT https://sandbox-api.nuez.app/v1/webhook \
-H "Authorization: Bearer <jwt>" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/webhooks/nuez", "secret": "at-least-16-characters-long"}'
{ "webhook": { "id": "...", "url": "https://example.com/webhooks/nuez", "active": true, "created_at": "...", "updated_at": "..." } }
StatusCodeMeaning
400MISSING_URLurl empty
400INVALID_URLNot a valid http/https URL
400SECRET_TOO_SHORTsecret under 16 characters
Terminal window
curl -X DELETE https://sandbox-api.nuez.app/v1/webhook \
-H "Authorization: Bearer <jwt>"

Returns 204 No Content.

Returns up to the 50 most recent delivery attempts, including failures.

Terminal window
curl https://sandbox-api.nuez.app/v1/webhook/deliveries \
-H "Authorization: Bearer <jwt>"
{
"deliveries": [
{ "id": "...", "event_type": "payout.submitted", "status": "delivered", "attempt_count": 1, "created_at": "..." },
{ "id": "...", "event_type": "payout.approved", "status": "failed", "attempt_count": 3, "created_at": "..." }
]
}