Configuration
Webhook URLs are configured at the integrator environment level in the Embed Portal - not per-request or per-tenant.1
Navigate to Webhooks
Go to Embed Portal → Settings → Webhooks
2
Set Endpoint URL
Enter your HTTPS endpoint URL
3
Copy Signing Secret
Save the webhook signing secret (
whsec_*) securely4
Test Delivery
Use “Send Test Webhook” to verify connectivity
Event Types
| Event | Description |
|---|---|
score.completed | Scoring finished successfully with results |
score.failed | Scoring failed with error details |
Payload: score.completed
Payload: score.failed
Signature Verification
Webhooks are signed using HMAC-SHA256. Always verify signatures to ensure requests are from Nova. Header:X-Nova-Signature
IP Whitelisting
Signature verification is the primary security mechanism and is sufficient for most integrations. The HMAC-SHA256 signature cryptographically proves each request originated from Nova.If your security policy requires IP whitelisting in addition to signature verification, contact us through the Embed Portal to request our current webhook source IP ranges.
Retry Policy
Nova retries failed webhook deliveries with exponential backoff:| Attempt | Delay |
|---|---|
| 1 | Immediate |
| 2 | 1 minute |
| 3 | 5 minutes |
| 4 | 30 minutes |
After All Retries Fail
If all 4 delivery attempts fail, automatic retries stop. However, results are never lost:| What happens | Details |
|---|---|
| Results remain accessible | Retrieve anytime via GET /v1/score/{scoringJobId} |
| Portal visibility | Failed deliveries appear in Embed Portal with full payload |
| Manual retry | Retry individual deliveries from the portal once your endpoint is fixed |
Best Practices
Respond quickly
Respond quickly
Return a
2xx response within 30 seconds. Do heavy processing asynchronously.Handle duplicates
Handle duplicates
Use
scoringJobId as an idempotency key. Webhooks may be delivered more than once.Log everything
Log everything
Log the full payload and your processing result for debugging.
Use HTTPS
Use HTTPS
Webhook endpoints must use HTTPS with a valid certificate.
Implement fallback polling
Implement fallback polling
If webhooks fail consistently, poll
GET /v1/score/{id} as a backup.Debugging Webhooks
In the Embed Portal, you can:- View recent deliveries with status codes and response times
- Inspect payloads for failed deliveries
- Manually retry individual webhook deliveries
- Send test webhooks to verify your endpoint
Webhook Endpoint Checklist
HTTPS endpoint with valid SSL certificate
Signature verification implemented
Returns 2xx within 30 seconds
Handles duplicate deliveries (idempotent)
Logs events for debugging
Fallback polling mechanism in place