Webhooks
When a webhook is configured for your organization, ID.me will POST the result of a verification transaction to your configured webhook URL. The body of the webhook POST request is the same format as the corresponding GET /api/v2/:product/:transaction_id response.
Webhook types:
- Telecom Verification Result Webhook — receives telecom transaction results
- Document Verification Result Webhook — receives document transaction results
Contact your ID.me account manager to configure webhooks for your organization.
Using callback_url for per-request webhooks
In addition to organization-level webhooks, you can pass a callback_url parameter with any transaction request. ID.me will POST the transaction result to that URL when the transaction completes.
The callback_url will receive a POST with data in the same format as the GET /api/v2/:product/:transaction_id endpoint.
If an error is received from your callback_url, ID.me will retry the request 3 times before dropping the callback. You can always retrieve the result directly via the GET /api/v2/:product/:transaction_id endpoint.
Testing webhooks with mock APIs
When testing with mock APIs, the callback_url must be an unauthorized (publicly accessible) endpoint — no authentication should be required to receive the POST.
Example webhook payload
The following is an example of a Document License verification result delivered to a webhook or callback_url: