Skip to content

Mobile Integration ​

Use a server-created hosted link for KYC or KYB in a public mobile app. The native SDK capture clients currently accept an API key; they do not accept hosted session tokens. The hosted flow keeps that account credential on your server.

javascript
import { YeboVerify } from '@yeboverify/node';
const client = new YeboVerify({ apiKey: process.env.YEBOVERIFY_API_KEY });

// Individual KYC
const session = await client.createSession({
  userId: 'user_123',
  callback: 'https://yourapp.com/verification-return',
});

// Company KYB, including the signatory's KYC when required
const company = await client.createCompanyVerification({
  country: 'SZ',
  registeredName: 'Acme Trading (Pty) Ltd',
  externalRef: 'company_123',
  requireSignatory: true,
  idempotencyKey: 'stable-company-attempt-id',
});

Return session.verifyUrl or company.verifyUrl through your authenticated application backend. YeboVerify returns these links; your app delivers or opens them. It sends no OTP or end-user SMS/email. Preserve the URL fragment, which keeps the credential out of HTTP requests and referrer headers.

The raw session-create endpoint is POST https://api.yeboverify.com/v1/sessions/create. Its JSON input is userId, optional HTTPS callback, optional theme, and optional sandbox-only simulate. It returns { success, session, verifyUrl, expiresIn }. externalRef, redirectUrl, custom-scheme callbacks, and sessionToken are not fields on this endpoint. Register your allowed HTTPS callback host in the account configuration.

Open the exact returned URL ​

Flutter, using your application's url_launcher dependency:

dart
await launchUrl(Uri.parse(verifyUrl), mode: LaunchMode.externalApplication);

Swift, using UIKit:

swift
UIApplication.shared.open(URL(string: verifyUrl)!)

Android, using the platform browser:

kotlin
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(verifyUrl)))

React Native, using the platform browser:

tsx
import { Linking } from 'react-native';
await Linking.openURL(verifyUrl);

Use an external browser so camera permissions and navigation work normally. A registered HTTPS universal/app link can return to your app; the API does not accept a custom URL scheme as its callback. KYB links collect required company documents and then identity capture when requireSignatory is true. Reopen the same company link to resume later.

Receive the actual outcome ​

Handle the signed verification.completed webhook on your server. It carries verificationId, your externalRef, decision, and eventId. Company results include type: company and a company block. Use eventId to deduplicate deliveries. Verify signatures against the raw body using the Node SDK's parseWebhook method.

The browser returning to your app, successful submission, or a company's step: done is not proof of approval. Query your own backend for its stored verified webhook result, or have it call getVerification / getCompanyVerification.

Direct native clients ​

The SDK overview lists the actual package names and installation methods. Programmatic clients support KYC and KYB. Capture UI names are YeboVerifyWidget (Flutter), YeboVerifyScreen (React Native), YeboVerifyView (SwiftUI), and launchVerificationFlow (Kotlin). These UI flows report submission via onSubmit or the native activity result; read the final verification separately.

verify accepts ID front, selfie, optional ID back, and an optional pair of liveness frames with the captured challenge. Both frames must be present. Company creation accepts requireSignatory and returns resumeToken plus the current step. Form J document uploads require a directors array. Use document types from requiredDocuments.

Use yv_test_ keys for simulated KYC integration tests without real photos or paid providers. KYB rejects sandbox keys; use an isolated development account/environment for company lifecycle tests. Keep production account keys out of public mobile binaries.

Development hosted flow ​

The dev API returns links to https://dev.yeboverify-app.pages.dev. This is the dev preview of the existing hosted application and calls https://dev-api.yeboverify.com. Production links continue to use https://verify.yeboverify.com and the production API. Keep each returned URL intact; the environments use separate session secrets.

Customer verification policy ​

See Verification policies for country restrictions, approval/review thresholds, identity rules, KYB requirements, SDK methods, and per-case policy history.

Identity Verification API for Africa