Webhooks

2 min read

Webhooks tell your backend when something happens in Footprint: an onboarding completes, a reviewer changes a user's status, a watchlist check finishes.

A webhook is a POST request to an endpoint you configure. Footprint sends each event over HTTPS as a JSON payload, and your endpoint returns an HTTP 2xx to confirm it processed the event.

Register your endpoints in the Footprint dashboard. From then on, Footprint pushes event data to them as events happen.

Getting started

Svix's guide to consuming webhooks covers the receiving side.

Recommended integration

If you use a Footprint frontend SDK to collect and verify user information, the events you most likely need are the ones about a user's status.

Onboarding completed

We recommend subscribing to the footprint.onboarding.completedevent, which fires when a user's onboarding reaches a terminal status.

In most cases, the status you receive synchronously at the end of the onboarding flow is already terminal: pass, fail, or none. When an identity verification vendor takes longer to verify a user, the frontend SDK returns pending instead, and the final decision arrives through the footprint.onboarding.completed event.

Manual review

A member of your team can change a user's status while reviewing that user in the Footprint dashboard. The change fires the footprint.user.manual_reviewevent. When you receive it, we recommend calling GET /users/{fp_id} for the user's new manual status.

Watchlist checks

If your playbook has continuous monitoring enabled, Footprint regularly checks whether any of your users appear on AML watchlists, and sends updates on those checks through the footprint.watchlist_check.completedevent.

IP allowlist

If your endpoint sits behind a firewall, allow these addresses so Footprint's webhook requests reach it. Every webhook request originates from one of them:

text
144.228.126.217
250.112.21.217
352.24.126.164
454.148.139.208
52600:1f24:64:8000::/56