Responder al challenge MFA durante login
POST
/auth/mfa/respond
const url = 'https://api.dev.lade.com.mx/auth/mfa/respond';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"session":"AYABeGx...","username":"usuario@ejemplo.com","code":"123456"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.dev.lade.com.mx/auth/mfa/respond \ --header 'Content-Type: application/json' \ --data '{ "session": "AYABeGx...", "username": "usuario@ejemplo.com", "code": "123456" }'Completa el login cuando /login respondió con challenge: SOFTWARE_TOKEN_MFA. Recibe el session y username que /login devolvió junto con el código TOTP del autenticador, y devuelve los mismos tokens de sesión que un login exitoso (además de setear las cookies HttpOnly).
Request Bodyrequired
Sección titulada «Request Bodyrequired»Media typeapplication/json
object
session
required
Session devuelto por /login junto con el challenge
string
username
required
string format: email
code
required
Código TOTP de 6 dígitos
string
Example
{ "session": "AYABeGx...", "username": "usuario@ejemplo.com", "code": "123456"}Responses
Sección titulada «Responses»Login completado, devuelve tokens de sesión
Media typeapplication/json
object
message
string
tokens
object
idToken
string
accessToken
string
refreshToken
string
expiresIn
integer
user
object
id
string format: uuid
email
string format: email
Example
{ "message": "Login exitoso", "tokens": { "idToken": "eyJraWQ...", "accessToken": "eyJraWQ...", "refreshToken": "eyJjdHk...", "expiresIn": 3600 }}Solicitud inválida
Media typeapplication/json
object
error
required
string
message
string
field
string
Example
{ "error": "Validation failed", "field": "email", "message": "Invalid email format"}No autenticado
Media typeapplication/json
object
error
required
string
message
string
field
string
Example
{ "error": "Unauthorized", "message": "Invalid or expired token"}