API Reference
Complete API reference for the Reclaim Flutter SDK
Complete reference documentation for all public classes, methods, and types in the Reclaim Flutter SDK.
ReclaimVerification
Main class for managing verification flows.
Constructor
ReclaimVerification.of(BuildContext context)
Creates an instance from a BuildContext.
- Parameters:
context- The BuildContext from your widget
- Returns: ReclaimVerification instance
Methods
Future<ReclaimVerificationResult> startVerification({required ReclaimVerificationRequest request, ReclaimVerificationOptions options})
Starts a verification flow.
- Parameters:
request- Verification request configurationoptions- Optional verification options (defaults toReclaimVerificationOptions())
- Returns: Future that resolves to ReclaimVerificationResult
- Throws: Various ReclaimException subclasses
Future<bool> cancelPendingVerifications()
Cancels any pending verifications.
- Returns: true if verifications were cancelled
ReclaimVerificationRequest
Configuration for a verification request.
Constructor
ReclaimVerificationRequest({required String applicationId, required String providerId, required SessionProvider sessionProvider, String? contextString, Map<String, String> parameters})
- Parameters:
applicationId(required) - Your application IDproviderId(required) - Provider ID to verifysessionProvider(required) - Function returning session informationcontextString(optional) - Additional contextparameters(optional) - Custom parameters required by the provider (defaults to empty map)
Properties
String applicationId- Application identifierString providerId- Provider identifierSessionProvider sessionProvider- Session provider functionString? contextString- Context stringMap<String, String> parameters- Custom parameters required by the provider
ReclaimVerificationOptions
Optional configuration for verification behavior.
Constructor
ReclaimVerificationOptions({bool canAutoSubmit, bool isCloseButtonVisible, bool canClearWebStorage, ReclaimAttestorAuthenticationRequestCallback? attestorAuthenticationRequest, CanContinueVerificationCallback? canContinueVerification, AttestorZkOperator? attestorZkOperator, String? locale})
All parameters are optional with the following defaults:
canAutoSubmit- falseisCloseButtonVisible- truecanClearWebStorage- trueattestorAuthenticationRequest- nullcanContinueVerification- nullattestorZkOperator- nulllocale- null
Properties
bool canAutoSubmit- Auto-submit when readybool isCloseButtonVisible- Show close buttonbool canClearWebStorage- Clear storage before verificationReclaimAttestorAuthenticationRequestCallback? attestorAuthenticationRequest- Custom attestor authCanContinueVerificationCallback? canContinueVerification- Verification control callbackAttestorZkOperator? attestorZkOperator- Custom ZK operatorString? locale- Force specific locale
ReclaimSessionInformation
Session authentication information.
Constructor
ReclaimSessionInformation({required String sessionId, required String signature, required String timestamp, required ProviderVersionExact version})
- Parameters:
sessionId(required) - Session identifiersignature(required) - Session signaturetimestamp(required) - Session timestampversion(required) - Provider version
Static Methods
static Future<ReclaimSessionInformation> generateNew({required String applicationId, required String applicationSecret, required String providerId, String providerVersion})
Generates a new session.
- Parameters:
applicationId(required) - Application IDapplicationSecret(required) - Application secretproviderId(required) - Provider IDproviderVersion(optional) - Version constraint (defaults to empty string)
- Returns: Future resolving to new ReclaimSessionInformation
Properties
String sessionId- Session IDString signature- Cryptographic signatureString timestamp- Timestamp stringProviderVersionExact version- Provider version infobool isValid- Whether signature and timestamp are valid
ReclaimVerificationResult
Result of a successful verification.
Properties
HttpProvider provider- Provider informationString exactProviderVersion- Exact provider version usedList<CreateClaimOutput> proofs- List of generated proofs
Methods
Map<String, Object?> toJson()
Converts result to JSON map.
CreateClaimOutput
A single proof from verification.
Properties
String identifier- Unique proof identifierProviderClaimData claimData- Claim metadataList<String> signatures- Cryptographic signaturesList<WitnessData> witnesses- Witness data listObject? publicData- Public data from verificationint? taskId- Optional task ID
Methods
Map<String, Object?> toJson()
Converts to JSON map.
static CreateClaimOutput fromJson(Map<String, dynamic> json)
Creates instance from JSON.
CreateClaimOutput copyWith({int? taskId, Object? publicData})
Creates a copy with updated fields.
ProviderClaimData
Metadata about a claim.
Properties
String provider- Provider nameString parameters- Serialized parametersString owner- Claim ownerint timestampS- Unix timestamp (seconds)String context- Context stringString identifier- Claim identifierint epoch- Epoch number
Methods
Map<String, dynamic> toJson()
Converts to JSON.
static ProviderClaimData fromJson(Map<String, dynamic> json)
Creates from JSON.
WitnessData
Witness information.
Properties
String id- Witness IDString url- Witness URL
Methods
Map<String, dynamic> toJson()
Converts to JSON.
static WitnessData fromJson(Map<String, dynamic> json)
Creates from JSON.
Exceptions
All exceptions extend ReclaimException.
ReclaimException
Base exception class.
Properties:
String? message- Error messageString exceptionName- Exception type name
Methods:
Map<String, Object?> toJson()- Convert to JSON
Session Exceptions
ReclaimExpiredSessionException([String? message])
- Session expired or invalid
ReclaimInitSessionException([String? message])
- Session initialization failed
Verification Exceptions
ReclaimVerificationCancelledException([String? message])
- Verification cancelled
ReclaimVerificationDismissedException([String? message])
- User dismissed verification
ReclaimVerificationSkippedException([String? message])
- Verification skipped
ReclaimVerificationPlatformNotSupportedException([String? message])
- Platform not supported (requires 64-bit)
ReclaimVerificationOutdatedSDKException([String? message])
- SDK version is outdated
InvalidRequestReclaimException([String? message])
- Invalid request parameters
Provider Exceptions
Base: ReclaimVerificationProviderException([String? message])
ReclaimVerificationProviderNotFoundException()
- Provider not found
ReclaimVerificationProviderScriptException(String message, [Map<String, dynamic>? providerError])
- Provider script error
- Additional property:
Map<String, dynamic>? providerError
ReclaimVerificationNoActivityDetectedException(String message)
- No activity detected
ReclaimVerificationRequirementException()
- Verification requirements not met
ReclaimVerificationProviderLoadException([String? message])
- Provider loading failed
ReclaimAttestorException(String message)
- Attestor error
Type Aliases
typedef SessionProvider = FutureOr<ReclaimSessionInformation> Function()
Function that provides session information (sync or async).
typedef ReclaimAttestorAuthenticationRequestCallback = FutureOr<AttestorAuthenticationRequest> Function(HttpProvider provider)
Callback for custom attestor authentication.
typedef CanContinueVerificationCallback = Future<bool> Function(HttpProvider provider, ReclaimSessionInformation sessionInformation)
Callback to control verification flow continuation.
Theme Classes
ReclaimTheme
Theme customization for verification UI.
See Advanced Features for detailed theming documentation.
ReclaimThemeProvider
Widget that provides theme to verification flow.
Constructor:
Version Classes
ProviderVersionExact
Represents an exact provider version.
Constructor:
Parameters:
version- Exact version stringversionExpression(optional) - Version constraint expression
Utility Classes
AttestorZkOperator
Interface for ZK proof computation.
Methods:
Future<bool> isPlatformSupported()- Check if platform is supportedFuture<Object> computeProof(...)- Compute ZK proof
AttestorZkOperatorWithCallback
Implementation with custom callbacks.
Static Constructor:
Constants
The SDK uses default values for several configurations:
- Default auto-submit:
false - Default close button visibility:
true - Default clear web storage:
true - Empty provider version constraint:
''
Import Path
This exports all public API classes and types.