Webhook FAQ
Answers to common questions about IDWise webhooks. For setup instructions, see Configure Webhook URLs. For a full list of webhook types, see Webhook Types & Use Cases.
General
Why do I need webhooks?
Webhooks let IDWise notify your backend in real time when verification events occur — such as a journey completing, a step being submitted, or an AML match being updated. Without webhooks, you would need to poll the API repeatedly to check for status changes, which is inefficient and adds unnecessary load.
What data format do webhooks use?
All webhook payloads are delivered as JSON via HTTP POST requests to your configured endpoint.
Are webhooks delivered in real time?
Yes. Webhooks are sent asynchronously as soon as the triggering event completes — for example, immediately after a journey finishes processing or a step is submitted.
Do webhook payloads contain personal data (PII)?
No. Webhook payloads are designed to exclude personally identifiable information. They contain only event metadata such as journeyId, referenceNo, and systemDecision. To retrieve full journey details including PII, call the Get Journey Result API using the journeyId from the webhook.
Can I subscribe to multiple webhook types?
Yes. You can configure a separate webhook URL for each event type, or point multiple event types to the same endpoint and route them based on the event field in the payload.
Delivery & Retries
What happens if my webhook endpoint is unreachable?
IDWise retries delivery at intervals of 5, 10, and 15 minutes. If all retry attempts fail, an email notification is sent to the error reporting email addresses you configured, providing details of all undelivered webhooks.
Can I receive the same webhook more than once?
Yes. If your endpoint doesn't return HTTP 200 in time, IDWise retries with the same eventId. Always use the eventId to deduplicate — if you've already processed an event with that ID, skip it.
What HTTP status code should my endpoint return?
Return HTTP 200 immediately upon receiving the webhook. Process the payload asynchronously to avoid timeouts. Any non-200 response triggers a retry.
Security
How can I secure my webhook endpoint?
IDWise supports three authentication methods when delivering webhooks:
- Basic Authentication — Username and password sent in the request headers.
- Bearer Token — A token included in the
Authorizationheader. - Custom HTTP Headers — Add any custom key-value headers (e.g., API keys).
You can configure authentication during webhook setup.
Can I restrict webhook access to specific IP addresses?
Yes. You can whitelist specific IP addresses so your endpoint only accepts requests from IDWise. Contact the IDWise team to get the list of IP addresses to whitelist.
Configuration & Testing
Where do I configure webhooks?
Navigate to Developer's Area → Webhooks tab in the IDWise portal. From there you can create, edit, and test webhook subscriptions. See Configure Webhook URLs for a step-by-step guide.
Can I test my webhook before going live?
Yes. The webhook setup wizard includes a Testing step where you can send a test request to your endpoint before saving. You can also use webhook.site to generate a temporary URL for inspecting payloads during development.
Can I use different webhook URLs for Live and Sandbox?
Yes. When creating a webhook, you select the Environment (Live or Sandbox). This lets you configure separate URLs for production and testing environments.
Can my webhook payload change in the future?
Yes. Webhook payloads may be extended with new fields over time. Ensure your handler ignores unknown fields and only parses the fields you need, so new additions don't break your integration.
Updated 8 days ago
