Submit the current interaction.
- Submit the verified user identity to the OIDC provider for further authentication (SignIn and Register).
- Update the user's profile data if any (SignIn and Register).
- Reset the password and clear all the interaction records (ForgotPassword).
- Complete a step-up interaction: the interaction must have reached the authentication context class the authorization request selected, and only the methods it established are written to the account, with no sign-in side effect.
Responses
-
The interaction has been submitted. A sign-in with requested
acr_valuesthat cannot reach any requested class, even through first-factor establishment or MFA enrollment, finishes with the OIDC errorunmet_authentication_requirements. FollowredirectToto return the error to the client; no sign-in side effect runs. -
Bad Request
-
Multi-Factor Authentication (MFA) is enabled for the user but has not been verified (SignIn and Register).
- A sign-in with requestedacr_valuesstill lacks a Logto-verifiable first factor (session.step_up.require_verification); the response data carries the selected authentication context class, the available methods, and the masked identifiers.
- The achieved authentication context does not satisfy the requested authentication context class (session.step_up.acr_not_satisfied); no interaction result is written. -
The user has not been identified.
-
The user profile cannot be processed because it is invalid, conflicts with existing data, is already in use, or lacks required fields.
- A sign-in with requestedacr_valueshas no eligible method but holds a fresh subject proof (user.missing_profile);data.isEstablishmentistrueanddata.missingProfilelists alternative first-factor methods the tenant allows the user to establish. Establishing any one method fulfills this requirement; tenant-mandated profile fields are checked separately on the next submission. Whendata.isEstablishmentis absent, every entry indata.missingProfileis required.
- Requested MFA requires enrollment (user.missing_mfa);data.availableFactorslists the factors to bind.
curl \
--request POST 'https://[tenant_id].logto.app/api/experience/submit'
{
"redirectTo": "string"
}