SDK reference · React Native SDK

Modules

A module is a self-contained step in an onboarding flow. Add modules to flowConfig for locally configured flows, or configure them in a Flow or Workflow on the Incode Dashboard for online-configured flows.

All the modules supported by the SDK are listed here, with their configuration parameters. For implementation options and instructions, see Common Implementation Patterns.

Every entry in flowConfig includes:

  • module (required): string. The module name.
  • enabled (optional, defaults to true): boolean. Explicitly include or skip the module in the flow.

For completion payloads, update events, and module error examples, see Results.

Phone

Ask the user to enter a phone number.

  • otpVerification (optional, defaults to false): boolean. Ask for OTP verification.

DocumentScan

Ask the user to capture a document.

  • showTutorial (optional, defaults to false): boolean. Show the document scan tutorial. Only on iOS.
  • showDocumentProviderScreen (optional, defaults to true): boolean. Specify true to show the document provider screen, or false to go directly to capture.
  • type (optional, defaults to addressStatement): addressStatement, paymentProof, medicalDoc, otherDocument1, otherDocument2, or otherDocument3.

Geolocation

Get information about the user's current location.

  • isSkippable (optional, defaults to false): boolean. Allows the geolocation step to be skipped. When set to true, skipping or denying location permission advances the flow instead of ending the session with a permission error.

UserConsent

Ask the user for consent.

  • title (required): string. Title shown on the consent screen.
  • content (required): string. Content shown on the consent screen.

CombinedConsent

Ask the user for data-sharing consent.

  • consentId (required): string. ID for the combined consent configured in the dashboard.

Signature

Ask the user to draw a signature.

  • title (optional): string. Optional title shown at the top of the screen.
  • description (optional): string. Optional description shown below the title.
  • descriptionMaxLines (optional): number. Maximum number of description text lines.

This module enables user to add a digital signature by signing on a canvas.

Besides specifying title and description keys, you must provide text for Android and iOS in their res/values/strings.xml and Localizable.strings files.

{
  module: 'Signature',
  title: 'onboard_sdk_signature_title',
  description: 'onboard_sdk_signature_description',
  descriptionMaxLines: 2
}

For Android:

<string name="onboard_sdk_signature_title">Example title</string>
<string name="onboard_sdk_signature_description">Description example</string>

For iOS:

"onboard_sdk_signature_title" = "Example title";
"onboard_sdk_signature_description" = "Description example";

VideoSelfie

Record a video selfie flow. Available only for Android API level 21+.

  • showTutorial (optional, defaults to true): boolean. Show the video selfie tutorial.
  • selfieScanMode (optional, defaults to selfieMatch): selfieMatch or faceMatch. Specify whether to compare the selfie directly or compare with the photo from the ID.
  • selfieLivenessCheck (optional, defaults to false): boolean. Check user liveness during video selfie.
  • showIdScan (optional, defaults to true): boolean. Ask for ID scan during video selfie.
  • showDocumentScan (deprecated, optional): boolean. Kept in the TypeScript config for compatibility; the current SDK does not enable document scan from this flag.
  • showVoiceConsent (optional, defaults to true): boolean. Ask for voice consent during video selfie.
  • voiceConsentQuestionsCount (optional, defaults to 3): number. Number of random questions for video selfie voice consent.
  • voiceConsentFR (optional, defaults to false): boolean. Ask for face recognition during voice consent.
  • cameraFacingConfig (optional): CameraFacingConfig. Set the camera for each step using selfieCameraFacing, idFrontCameraFacing, idBackCameraFacing, documentScanCameraFacing, randomQuestionsCameraFacing, and voiceConsentCameraFacing; each value is front or back.
  • questions (optional): VideoSelfieQuestion[]. List of { question: string; answer: string } entries to show in capture-only/random-question mode.

IdScan

Ask the user to capture ID or passport.

  • showTutorial (optional, defaults to true): boolean. Show the ID scan tutorial.
  • idType (optional): id or passport. If omitted, the SDK can show a chooser to the user.
  • showIdTypeChooser (optional, defaults to true): boolean. Specify false to skip the document chooser screen.
  • idCategory (optional, defaults to primary): primary or secondary.
  • showRetakeScreenForManualCapture (optional, defaults to true): boolean. Show the photo review screen for manual captures.
  • showRetakeScreenForAutoCapture (optional, defaults to false): boolean. Show the photo review screen after auto capture.
  • enableFrontShownAsBackCheck (optional, defaults to false): boolean. Show real-time feedback when the front side is shown during back capture.
  • enableBackShownAsFrontCheck (optional, defaults to false): boolean. Show real-time feedback when the back side is shown during front capture.
  • autocaptureUxMode (deprecated, optional, defaults to holdStill): countdown or holdStill. This parameter applies only to V1.
  • showIDOverlay (optional, defaults to false): boolean. Show the ID overlay during capture.
  • streamFrames (optional, defaults to false): boolean. Enables camera frame streaming. Requires the RN SDK -vc variant and the Android com.incode.sdk:video-streaming dependency.

IdScanFront

Ask the user to capture only the front side of an ID.

  • showTutorial (optional, defaults to true): boolean. Show the ID scan tutorial.
  • idType (optional): id or passport.
  • showIdTypeChooser (optional, defaults to true): boolean. Specify false to skip the document chooser screen.
  • idCategory (optional, defaults to primary): primary or secondary.
  • showRetakeScreenForManualCapture (optional, defaults to true): boolean. Show the photo review screen for manual captures.
  • showRetakeScreenForAutoCapture (optional, defaults to false): boolean. Show the photo review screen after auto capture.
  • enableFrontShownAsBackCheck (optional, defaults to false): boolean. Show real-time feedback when the front side is shown during back capture.
  • enableBackShownAsFrontCheck (optional, defaults to false): boolean. Show real-time feedback when the back side is shown during front capture.
  • autocaptureUxMode (deprecated, optional, defaults to holdStill): countdown or holdStill. This parameter applies only to V1.
  • showIDOverlay (optional, defaults to false): boolean. Show the ID overlay during capture.
  • streamFrames (optional, defaults to false): boolean. Enables camera frame streaming. Requires the RN SDK -vc variant and the Android com.incode.sdk:video-streaming dependency.

IdScanBack

Ask the user to capture only the back side of an ID.

  • showTutorial (optional, defaults to true): boolean. Show the ID scan tutorial.
  • idCategory (optional, defaults to primary): primary or secondary.
  • showRetakeScreenForManualCapture (optional, defaults to true): boolean. Show the photo review screen for manual captures.
  • showRetakeScreenForAutoCapture (optional, defaults to false): boolean. Show the photo review screen after auto capture.
  • enableFrontShownAsBackCheck (optional, defaults to false): boolean. Show real-time feedback when the front side is shown during back capture.
  • enableBackShownAsFrontCheck (optional, defaults to false): boolean. Show real-time feedback when the back side is shown during front capture.
  • autocaptureUxMode (deprecated, optional, defaults to holdStill): countdown or holdStill. This parameter applies only to V1.
  • showIDOverlay (optional, defaults to false): boolean. Show the ID overlay during capture.
  • streamFrames (optional, defaults to false): boolean. Enables camera frame streaming. Requires the RN SDK -vc variant and the Android com.incode.sdk:video-streaming dependency.

ProcessId

Process the ID after separated front and back captures.

  • idCategory (optional, defaults to primary): primary or secondary. Applied on Android.
  • enableIdSummaryScreen (deprecated, optional, defaults to true): boolean. This parameter applies only to V1.

Conference

Start a video conference call.

  • disableMicOnStart: boolean. Disable the microphone when the call starts. Always pass this explicitly - the Android native module reads it without a default and can throw if it's omitted. On iOS, this flag is not currently wired up.

SelfieScan

Ask the user to capture a selfie.

  • showTutorial (optional, defaults to true): boolean. Show the selfie scan tutorial.
  • lensesCheck (optional, defaults to true): boolean. Check if the user is wearing glasses.
  • cameraFacing (optional, defaults to front): front or back. Camera used during selfie capture.
  • faceMaskCheck (optional, defaults to true): boolean. Check if the user is wearing a face mask.
  • brightnessThreshold (deprecated, optional): number. Kept in the TypeScript config for compatibility; not read by the current Android or iOS native SDK.
  • streamFrames (optional, defaults to false): boolean. Enables camera frame streaming. Requires the RN SDK -vc variant and the Android com.incode.sdk:video-streaming dependency.

FaceMatch

Perform a face match between the captured ID/passport and Selfie or NFC data.

  • idCategory (optional, defaults to primary): primary or secondary.
  • matchType (optional): idSelfie, nfcSelfie, or nfc3Way.
  • showUserExists (optional, defaults to false on Android since the UxV2 migration): boolean. Show whether the user already exists.

QrScan

Ask the user to scan a QR code.

  • No additional parameters

Captcha

Ask the user to enter the OTP generated for the current session.

  • No additional parameters

Email

Ask the user to enter an email.

  • otpVerification (optional, defaults to false): boolean. Ask for OTP verification.

Approve

Approve the current onboarding session and add the user to the Omni database.

  • forceApproval (optional, defaults to false): boolean. Force approval when set to true.

UserScore

Show the info and scoring for all performed steps.

  • mode (optional, defaults to accurate): accurate or fast. accurate fetches server-side results and can take longer; fast shows results based on on-device processing.

MLConsent

Ask the user for Machine Learning consent.

  • type (required): gdpr or us.

GovernmentValidation

Perform government validation of the ID.

  • isBackgroundExecuted (optional, defaults to false): boolean. Run the module without showing its UI.

Antifraud

Compare the current interview with existing interviews and customers to detect possible fraud.

  • No additional parameters

GlobalWatchlist

Check customer identities against sanctions, PEP, and watchlist sources.

  • No additional parameters

CustomWatchlist

Check whether the user is present in an Incode Dashboard custom watchlist.

  • No additional parameters

Aes

Enable advanced electronic signature document handling.

  • uploadDocument (optional, defaults to false): boolean. Upload the signed document.
  • downloadDocument (optional, defaults to false): boolean. Download the signed document.

Name

Ask the user to enter a name.

  • No additional parameters

CURP

Validate the user's CURP from the ID.

  • validationEnabled (optional, defaults to true): boolean. Validate the CURP on the server.

OCREdit

Review OCR data.

  • isEditable (optional, defaults to false): boolean. Allow the user to edit OCR data.

eKYB

Run KYB validation with business information.

  • checkBusinessName (optional, defaults to false): boolean. Validate business name.
  • checkAddress (optional, defaults to false): boolean. Validate address.
  • checkTaxId (optional, defaults to false): boolean. Validate tax ID.

eKYC

Run KYC validation with user information.

  • checkName (optional, defaults to false): boolean. Validate name.
  • checkEmail (optional, defaults to false): boolean. Validate email.
  • checkAddress (optional, defaults to false): boolean. Validate address.
  • checkPhone (optional, defaults to false): boolean. Validate phone.
  • checkSsn (optional, defaults to false): boolean. Validate SSN.
  • checkDob (optional, defaults to false): boolean. Validate date of birth.
  • checkNationality (optional, defaults to false): boolean. Validate nationality.

NFCScan

Ask the user to scan the NFC chip on their document.

  • idType (optional): id or passport. ID type used for NFC scanning. If omitted, the SDK reuses the ID type from ID scan when available; otherwise, it can show a chooser.
  • showNFCSymbolConfirmationScreen (optional, defaults to true): boolean. Show a screen asking whether the document contains an NFC chip.
  • showInitialDataConfirmationScreen (optional, defaults to true): boolean. Show the document OCR data confirmation screen before the first NFC scan.
  • processNFCData (optional, defaults to true): boolean. Use data read from the NFC chip to validate identity.

Please check special NFC integration instructions for iOS that need to be applied on app level

FaceAuthentication

Authenticate an existing user with face recognition.

  • showTutorials (optional, defaults to true): boolean. Show the tutorial before face authentication.
  • autoCaptureTimeout (optional, defaults to 16): number. Timeout in seconds for automatic face capture.
  • captureAttempts (optional, defaults to 3): number. Number of allowed face capture attempts before failing the step.
  • eyesClosedCheck (optional, defaults to true): boolean. Check whether the user's eyes are closed.
  • headCoverCheck (optional, defaults to true): boolean. Check for head coverings that may obstruct face recognition.
  • lensesCheck (optional, defaults to true): boolean. Check whether the user is wearing lenses or glasses.
  • faceMaskCheck (optional, defaults to true): boolean. Check whether the user is wearing a face mask.

Modules interdependencies

The order of modules in flowConfig is the execution order.

  • ProcessId expects IdScanFront and IdScanBack to run before it.
  • FaceMatch expects IdScan and SelfieScan to run before it.
  • VideoSelfie expects IdScan in faceMatch mode, or SelfieScan in selfieMatch mode.
  • Aes expects Phone, IdScan, and SelfieScan to run before it.
  • UserScore should run after all modules that provide scoring inputs.
  • Approve should run after all modules required for the approval decision.
  • UserScore and Approve do not depend on each other, so their relative order can be chosen by the app.
Was this page helpful?