Skip to main content

Documentation Index

Fetch the complete documentation index at: https://jdev-e8db0569.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

SeonConfig

Configuration class for initializing the SEON SDK via initialize().
class SeonConfig {
  final String baseUrl;
  final String token;
  final String? language;
  final Map<String, dynamic>? theme;

  const SeonConfig({
    required this.baseUrl,
    required this.token,
    this.language,
    this.theme,
  });

  String? get themeJson => theme != null ? jsonEncode(theme) : null;
}

Properties

PropertyTypeRequiredDescription
baseUrlStringYesThe base URL for your SEON API endpoint (see Regional Base URLs below)
tokenStringYesSession token provided by your backend for this verification session
languageString?NoLanguage code for the SDK UI (e.g., 'en', 'es', 'de'). Defaults to device language
themeMap<String, dynamic>?NoTheme configuration map for UI customization. Automatically JSON-encoded before passing to the native SDK. Refer to the SEON workflow initialization docs for the full theme schema

Regional Base URLs

Use the base URL for your SEON region:
RegionBase URL
EUhttps://api.seon.io/orchestration-api
UShttps://api.us-east-1-main.seon.io/orchestration-api
APAChttps://api.ap-southeast-1-main.seon.io/orchestration-api

Theme Configuration

The theme parameter accepts a Map<String, dynamic> that controls the verification UI appearance. The map is automatically JSON-encoded via the themeJson getter before being passed to the native SDK. If omitted, the SDK uses its default theme. Refer to the SEON workflow initialization docs for the full theme schema and available properties.
await SeonOrchestration.initialize(SeonConfig(
  baseUrl: 'https://api.seon.io/orchestration-api',
  token: 'your-session-token',
  theme: { /* your theme config */ },
));

Example

const config = SeonConfig(
  baseUrl: 'https://api.seon.io/orchestration-api',
  token: 'your-session-token',
  language: 'en',
);

SeonVerificationResult

The result object returned by startVerification().
class SeonVerificationResult {
  final SeonVerificationStatus status;
  final String? errorMessage;

  const SeonVerificationResult({
    required this.status,
    this.errorMessage,
  });
}

Properties

PropertyTypeDescription
statusSeonVerificationStatusThe final status of the verification process
errorMessageString?Error message if status is error

Example

final result = await SeonOrchestration.startVerification();

if (result.status == SeonVerificationStatus.error) {
  print('Verification error: ${result.errorMessage}');
}

SeonException

Exception class thrown when a SEON operation fails.
class SeonException implements Exception {
  final SeonErrorCode code;
  final String rawCode;
  final String message;

  const SeonException({
    required this.code,
    required this.rawCode,
    required this.message,
  });

  @override
  String toString() => 'SeonException(${code.name}): $message';
}

Properties

PropertyTypeDescription
codeSeonErrorCodeThe structured error code enum value
rawCodeStringThe raw error code string from the platform (e.g., 'E_NOT_INITIALIZED')
messageStringHuman-readable error message

Example

try {
  await SeonOrchestration.startVerification();
} on SeonException catch (e) {
  if (e.code == SeonErrorCode.eNotInitialized) {
    print('Call initialize() first');
  }
  print('Error: ${e.message}');
}