Webhook Troubleshooting and Best Practices

Troubleshooting

Issue Explanation Suggested fix
Tester shows failure Endpoint may be blocked by a firewall or web application firewall (WAF). Allowlist RiskOS™ IPs (Sandbox/Prod) and retest.
Duplicate processing Retries or replayed events can cause duplicate handling. Use event_id for idempotency. Acknowledge quickly and process asynchronously.
Timeouts The endpoint is performing long or blocking operations inline. Return a 2xx response immediately and move heavy processing to background jobs.
401 / 403 errors Authentication credentials or tokens are invalid or misconfigured. Verify Basic credentials, Bearer token, or OAuth2 client details and token URL.
429 / 5xx errors Rate limiting, transient network failures, or downstream service errors. Ensure the endpoint is retry-safe and idempotent. Add horizontal scaling or caching to handle spikes.
Sudden drop in auto-acceptance rates May be caused by repeat failed users, demographic shifts, or risk model changes. Investigate repeat PII patterns. Monitor demographic distribution. Review triggered risk signals (for example, I912, R940) and recent model or logic updates.
No events arriving at all Complete delivery stoppage may indicate an infrastructure issue on either side — firewall changes, endpoint outage, DNS resolution failure, or a platform-side incident. 1. Verify your endpoint is reachable (test with a curl request). 2. Check for recent firewall, WAF, or DNS changes. 3. Confirm IP allowlisting is current for both sandbox and production ranges. 4. Review the webhook delivery log in Developer Workbench → Webhooks for failed delivery attempts. 5. If no delivery attempts appear, contact Socure Support to confirm platform-side delivery status.

Webhooks FAQs

General

What are RiskOS™ webhooks and when should I use them?

RiskOS™ webhooks are asynchronous notifications sent to your endpoint when specific events occur (for example, evaluation results, case updates, watchlist alerts).

What events can RiskOS™ notify you about?

Do I need webhooks if I’m already calling the Evaluation API synchronously?

What events and payload schemas are available?

What event types exist?

What fields are included in webhook payloads?

Which events should I subscribe to for DocV?

How do webhooks relate to workflows and solutions?

Which webhooks should I use for different solutions?

Typically:

Where can I find webhook docs in context?

Setup & configuration

How do I configure webhooks in the RiskOS™ Dashboard?

Where do I create or edit a webhook?

What fields are required?

How do I test a webhook before going live?

How does webhook authentication and security work?

What authentication methods are supported?

Do I have to use HTTPS?

How do I restrict incoming webhook traffic?

Can I use additional security controls?

⚠️ Avoid exposing sensitive data to third-party webhook testing tools.

Delivery, retries, and debugging

How does webhook retry and error handling work?

What happens if my endpoint is down or slow?

Which status codes trigger retries?

How do I make webhook processing idempotent?

How do I debug failing webhooks?

Why is the Dashboard test failing?

Can I re-run a webhook test without enabling it?

How do I recover from a webhook delivery gap?

What should I do if my endpoint missed events during an outage?

RiskOS™ does not provide an API to retrieve or replay past webhook events. To recover missed events:

  1. Check the delivery log: In Developer Workbench → Webhooks, review delivery attempts for the affected time. Failed deliveries with retryable status codes (504, 503, 502, 429, 423, 409, 408) will be retried automatically up to 10 times.
  2. Use the Evaluation API: For missed evaluation_completed events, retrieve results directly using the eval_id via the Get Evaluation endpoint.
  3. Reconcile using your records: Compare your expected evaluations (by eval_id) against received webhook events to identify gaps.

How do I prevent data loss from future outages?

Specialized and implementation topics

How do watchlist-specific webhooks work?

What watchlist events are available?

Do I need a special endpoint or certificate?

Do you have sample code and implementation best practices?

Do you have example code for receiving webhooks?

Can I process webhooks asynchronously?