Integrate in an afternoon
There is nothing to host and nothing to operate. Call the API from the server you already run — four calls at the moments in your app where identity matters.
- Get a key for the right environment
For free integration, mint a bi_test_ key with checkout on sandbox.identityinc.io (see the Quickstart). For production traffic, open checkout and pick Builder — that issues a bi_ key against api.identityinc.io. The key appears once; store it on your server. - Call the API from your backend
HTTPS from your server, with the key in an Authorization header. The key never goes into your website, your mobile app, or anything else a user can read. Keep bi_test_ keys on the sandbox host only. - Verify the person, then create the account
Default organizations require approved KYC before free-create. Start person-first KYC (document + face; no OTP), wait for approval, then create the sponsored account with the one-time create token. Contact OTP is a separate, optional path. - Bind and unlock when your rules require it
One call to confirm the user signed (bind), then unlock. Build against the sandbox first; Builder gives you the full API for free on production when you go live (live ID checks are billed by your provider).
const res = await fetch(process.env.BOUND_IDENTITY_URL + "/v1/kyc/start", {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.BOUND_IDENTITY_API_KEY, // server-side only
"Content-Type": "application/json",
},
body: JSON.stringify({}),
});Running the platform yourself instead? Self-hosting instructions live in the repository README — but you do not need them to go live.