Complete guide to integrating IdentiStride
⚡ 15-Minute Integration: Get up and running with IdentiStride in less than 15 minutes.
Sign up at IdentiStride Dashboard and complete the onboarding flow. You'll receive 10 free welcome credits to test the service.
Navigate to your dashboard and generate an API key. Keep this secure - it's shown only once!
API Key Format: idst_live_xxxxxxxxxxxxxxxxxxxxxxxxImportant: Never expose your API key in client-side code!
Always create verification sessions from your backend to keep your API key secure.
Install our verification component via npm:
npm install @identistride/verifyCreate an API route in your backend to generate verification sessions:
// Backend API route (e.g., /api/create-session)
// ⚠️ NEVER expose your secret key in client code!
const response = await fetch("https://api.identistride.com/v1/sessions", {
method: "POST",
headers: {
"X-Api-Key": process.env.IDENTISTRIDE_SECRET_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
externalId: "user_123", // Your user's ID
}),
});
const session = await response.json();
return session;Pass the session to the verification component in your frontend:
import { VerificationFlow } from "@identistride/verify";
import { useState, useEffect } from "react";
function VerifyPage() {
const [session, setSession] = useState(null);
// Create session on mount
useEffect(() => {
fetch("/api/create-session", { method: "POST" })
.then((res) => res.json())
.then(setSession);
}, []);
return (
<VerificationFlow
session={session}
onComplete={(result) => {
if (result.outcome === 'approved') {
console.log("User verified successfully!");
// Redirect to success page or update UI
}
}}
onError={(error) => {
console.error("Verification error:", error);
// Handle error
}}
/>
);
}That's it!
Your users can now verify their identity using biometric gait authentication and document verification.
https://api.identistride.comAll API requests require your secret API key in the X-Api-Key header:
X-Api-Key: idst_live_your_secret_keyCreates a new verification session for a user.
POST /v1/sessions
{
"externalId": "user_123" // Your user's unique ID
}{
"sessionId": "sess_abc123...",
"verificationId": "ver_xyz789...",
"externalId": "user_123",
"status": "pending_upload",
"uploadUrls": {
"documentFront": "https://...",
"documentBack": "https://..."
},
"message": "Session created successfully"
}Retrieve the status and result of a verification session.
GET /v1/sessions/:sessionId
{
"sessionId": "sess_abc123...",
"verificationId": "ver_xyz789...",
"externalId": "user_123",
"status": "completed",
"result": {
"outcome": "approved", // approved | rejected | needs_review
"fraudScore": 12,
"riskLevel": "LOW", // VERY_LOW | LOW | MEDIUM | HIGH
"documentQuality": 95,
"validations": {
"hasExpiration": true,
"isNotExpired": true,
"isAdult": true,
"highConfidence": true
}
},
"completedAt": 1697654321000
}The VerificationFlow component accepts the following props:
| Prop | Type | Required | Description |
|---|---|---|---|
| session | Session | null | ✅ | Session object from backend |
| onComplete | (result) => void | - | Called when verification completes |
| onError | (error) => void | - | Called when an error occurs |
| className | string | - | Additional CSS classes |
approved
User successfully verified. Low fraud risk, all checks passed.
rejected
Verification failed. High fraud risk or failed validation checks.
needs_review
Manual review required. Medium risk or inconclusive results.
Zero PII Storage Policy
IdentiStride does not store biometric data, identity documents, or personally identifiable information.
Our support team is here to help you integrate IdentiStride successfully.
📚 Resources