Webhook lookups are rolling out and may not be enabled on your account yet.
webhook_url to your query parameters and we should reply with a 202 right away to indicate that we’ve received your request.
From there we will then POST the result to that URL when it’s ready. You can optionally use this whenever you want an asynchronous based flow, OR when certain countries require it.
The countries that have a hard requirement to use webhook mode are:
- Australia (AU) - this can be between 30 seconds to 24 hours
Start a lookup
Receipt
202
correlation_id identifies the lookup. Provide this to support if you’re having any specific issues
Response headers:
The push
When the lookup finishes we send onePOST to your URL.
Every body has
status ("succeeded" or "failed"), error_code (null on success), correlation_id, phone_number and country.
Errors
We will only push a final and single error to your webhook if we fail to resolve any requests within a 24 hour time window. These appear in both synchronous responses and pushes.
Client errors where possible return immediately instead of charging you:
Receiving the webhook request (your endpoint)
- Reply with any 2xx within 10 seconds. We ignore the body.
- 5xx, 408, 425 and 429 are retried with backoff (30 seconds up to 1 hour), up to 10 attempts. Any other status is treated as permanent and not retried. Redirects aren’t followed.
- Deduplicate on
correlation_id: if your 2xx is lost or late, the same push can arrive again. - The URL has to stay reachable over https from the public internet. We resolve the host again at delivery and refuse private, loopback and link-local addresses.
Timing
A
lookup_expired push arrives 24 hours after the receipt.