Each webhook request includes headers that allow you to verify the signature and prevent replay attacks. Signature headers:Documentation Index
Fetch the complete documentation index at: https://juo.dev/llms.txt
Use this file to discover all available pages before exploring further.
| Header | Description |
|---|---|
svix-id | Unique message ID |
svix-timestamp | Unix timestamp of when the message was sent |
svix-signature | Base64-encoded HMAC-SHA256 signature |
Verifying with the Svix SDK
The easiest way to verify signatures is with an official Svix library.Getting your signing secret
- Open the Juo Admin Portal and navigate to Settings → Webhooks
- Navigate to your endpoint
- Copy the Signing Secret shown under the endpoint settings
Manual verification
If you prefer not to use the Svix SDK, you can verify the signature manually:- Construct the signed content:
{svix-id}.{svix-timestamp}.{raw-body} - Compute HMAC-SHA256 using the signing secret (base64-decoded)
- Compare the result against the
svix-signatureheader (strip thev1,prefix) - Reject messages older than 5 minutes using
svix-timestamp