Developers
Fizoic API (Verisoul-compatible)
Same integration pattern as Verisoul: collect a session_id in the browser, then authenticate from your backend with a secret API key.
1. Browser SDK
<!-- Page open = auto session (project id required) -->
<script src="https://fizoic.com/assets/js/fizoic-sdk.js"
fizoic-project-id="YOUR_PROJECT_ID"></script>
<!-- Manual call (do NOT use top-level await in a normal script tag) -->
<script>
Fizoic.session().then(function (s) {
// s.session_id → send to your backend on login/signup
});
</script>
Fizoic.session() mirrors Verisoul.session(). Alias: Fizoic.collect(). Auto-track on load when fizoic-project-id is set; disable with fizoic-auto="false".
2. Authenticate (server)
POST https://fizoic.com/session/authenticate
Alias: POST /v1/authenticate
Header: X-API-Key: fz_live_…
{
"session_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"account": {
"id": "user_123",
"email": "user@example.com",
"phone": "+12125551234",
"lists": ["beta-users"],
"metadata": { "plan": "pro" }
}
}
Response (Verisoul-shaped):
{
"decision": "Real" | "Suspicious" | "Fake",
"account_score": 0.17,
"bot": 0.02,
"multiple_accounts": 0,
"risk_signals": 0.17,
"session_id": "…",
"account_id": "user_123",
"session": {
"network": { "ip_address": "…", "asn": … },
"device": { "os": "…", "gpu": "…" },
"risk_signals": { "vpn": false, "proxy": false, "tor": false, "datacenter": false }
}
}
3. Get session
GET /session/{session_id} with X-API-Key
4. Direct scan
POST /v1/scan — send the collector payload with your API key (server-to-server).
5. Account / quota
GET /v1/me — plan, monthly quota, usage.
Survey / any-domain tracking
Same model as Verisoul: SDK on the page (survey, signup, checkout) → session_id → your backend authenticates with the secret key → full Account Investigation appears under Dashboard → Investigate with Fake%, Risk Flags, domain, and reasons.
Use your Project ID (your user UUID from the dashboard) as fizoic-project-id so collect traffic is attributed to your project even before authenticate.