Setup
Provide awebhook_url when creating an asynchronous request. Lumenfall will POST to that URL when the operation completes or fails.
Webhook format
Each webhook delivery is aPOST request with a JSON body and Standard Webhooks signature headers:
Event types
Example payload
Retries
Failed deliveries are retried up to 3 times with increasing delays (5s, 15s, 45s). Each attempt has a 30-second timeout. A delivery is considered successful when your server responds with a2xx status code.
URL restrictions
Webhook URLs are validated when you submit your request. If the URL does not meet the requirements below, the request is rejected with a400 error. URLs are also re-validated before each delivery attempt.
These restrictions prevent Server-Side Request Forgery (SSRF). If you believe a valid URL is being incorrectly rejected, contact support.
Verifying signatures
Verify thewebhook-signature header to confirm deliveries are authentic and have not been tampered with. The signed content is ${webhook-id}.${webhook-timestamp}.${body}, signed with the base64-decoded portion of your whsec_-prefixed secret.
Retrieve your secret with the Get webhook secret endpoint. Store it securely - treat it like an API key.