Migration from 2.0.x to 3.0.x
This guide covers public API changes between 2.0.x and 3.0.x.
Breaking Changes
- Read OTP resend cooldown from configuration instead of verification state.
configurationService.getConfiguration(processType) { result ->
result.onSuccess { config ->
val otpResendPeriodSeconds = config.responseObject.otpResendPeriodSeconds
}
}
otpResendPeriodSeconds is optional and can be null when you are still integrating with an older backend that does not return the field yet.
- Update OTP state handling.
Before:
when (val state = statusResult.state) {
is VerificationStateOtpData -> {
val remainingAttempts = state.remainingAttempts
val resendCooldown = state.otpResendPeriodInSeconds
}
else -> Unit
}
After:
when (val state = statusResult.state) {
is VerificationStateOtpData -> {
val remainingAttempts = state.remainingAttempts
}
else -> Unit
}
Use config.responseObject.otpResendPeriodSeconds to drive the resend cooldown in activation and verification UI.
Checklist
- Fetch and keep
ConfigurationResponseData.otpResendPeriodSecondsfor the active process type, and handlenullfor older backends. - Update
whenbranches and type checks forVerificationStateOtpData. - Stop relying on OTP resend cooldown from
VerificationService.status()results.
Last updated on Apr 29, 2026 (07:44)
Edit on Github
Send Feedback