Hosted Flow
Overview
The Hosted Flow lifecycle allows your platform to initiate a verification session, redirect the user to a Socure-hosted experience, and receive a final decision via webhook.
Your application does not collect identity data directly. RiskOS™ manages the full verification experience and returns control to your redirect_uri after the user completes the flow.
During the hosted experience, RiskOS™ orchestrates Prefill, KYC, Fraud, Watchlist, and conditional step-up verification when additional verification is required.
End-to-end flow
- Create Hosted Flow session (
[POST /api/evaluation](https://help.socure.com/riskos/reference/postevaluation)). - Receive response with redirect URL and initial evaluation state.
- Redirect user to Hosted Flow.
- RiskOS™ collects initial consumer data, including phone number and date of birth.
- If required for that consumer, RiskOS™ triggers a One-Time Passcode challenge before Prefill can be completed.
- RiskOS™ runs Prefill.
- RiskOS™ collects any remaining identity data needed for the hosted onboarding flow.
- RiskOS™ runs KYC, Fraud, and Watchlist screening.
- If no additional verification is required, the evaluation resumes and completes after the hosted flow.
- If additional verification is required, RiskOS™ triggers Predictive Document Verification (DocV), pauses the evaluation, and delivers the final decision asynchronously via webhook (
evaluation_completed,data.decision). - (Optional) User redirected to
redirect_uri.
Evaluation processing
During the Hosted Flow, RiskOS™ orchestrates multiple products and verification steps:
Enriches and autofills identity data using authoritative sources.
Optional verification step that may be triggered before Prefill completes.
Verifies identity against trusted data providers.
Evaluates device, behavioral, and risk signals.
Screens against sanctions, PEP, and adverse media.
Step-up verification used only when additional verification is required.
Conditional One-Time Passcode
After the user provides phone number and date of birth, RiskOS™ may trigger a One-Time Passcode challenge if additional verification is required before Prefill can be completed.
One-Time Passcode is conditional. It does not occur for every consumer.
If One-Time Passcode is required, the user must complete it before Prefill continues.
Conditional Document Verification
If additional verification is required after Prefill and downstream screening, RiskOS™ triggers DocV as a step-up mechanism.
DocV is conditional. It does not occur for every consumer.
Decision delivery
RiskOS™ delivers the final decision after the hosted flow completes.
- Final decision
- The initial API response represents a paused evaluation state and does not contain the final outcome.
- The evaluation resumes after the user completes the hosted flow.
- The final decision is delivered through the
evaluation_completedwebhook. - The final outcome is in
data.decision.
Document Verification
If triggered, the user may be asked to:
- Capture a government-issued ID.
- Take a biometric selfie.
- Complete liveness verification.
DocV is automatically orchestrated within the hosted experience. No additional integration is required.
When DocV is triggered, the evaluation completes asynchronously and the final decision is delivered by webhook.
Lifecycle diagram
sequenceDiagram
autonumber
participant User as End User
participant App as Your Platform
participant RiskOS as RiskOS™
participant Webhook as Your Webhook
User->>App: Start onboarding
App->>RiskOS: POST /api/evaluation
activate RiskOS
RiskOS-->>App: 201 Created + redirect URL + initial decision/state
deactivate RiskOS
App-->>User: Redirect to Hosted Flow
User->>RiskOS: Enter phone number + date of birth
activate RiskOS
alt OTP required
RiskOS-->>User: Prompt for OTP
User->>RiskOS: Submit OTP
end
Note over RiskOS: Run Prefill
Note over RiskOS: Collect remaining identity data
Note over RiskOS: Run KYC, Fraud, Watchlist
alt No DocV required
Note over RiskOS: Complete evaluation
RiskOS-->>Webhook: Send evaluation_completed
else DocV required
RiskOS-->>User: Prompt document + selfie capture
User->>RiskOS: Submit document + selfie
Note over RiskOS: Verify document and resume evaluation
RiskOS-->>Webhook: Send evaluation_completed
end
RiskOS-->>App: Redirect to redirect_uri (optional)
deactivate RiskOS
Webhook-->>App: data.decision
App-->>User: Route based on final decision
Key behaviors
- Hosted Flow URLs are session-specific and should not be reused.
- The
redirect_uriindicates hosted experience completion, not final decision delivery. - One-Time Passcode may occur conditionally before Prefill completes.
- DocV may occur conditionally after Prefill, KYC, Fraud, and Watchlist processing.
- The initial API response represents a paused evaluation and does not contain the final decision.
- The final decision is delivered via the
evaluation_completedwebhook.
Updated 1 day ago
