> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Iniciar la configuración de MFA

> Utiliza este endpoint para iniciar la configuración de MFA para un usuario. Devuelve un secreto y códigos de recuperación que el usuario debe almacenar antes de la verificación.



## OpenAPI

````yaml es/openapi/v3-current/AM-identity.yaml post /v1/users/{id}/mfa/setup
openapi: 3.1.0
info:
  title: Plugin de identidad
  description: ''
  version: 2.4.5
servers:
  - url: https://identity.sandbox.lerian.net
security: []
tags:
  - name: API de grupos
  - name: API de aplicaciones
  - name: API de usuarios
  - name: API de MFA
  - name: API de proveedores
  - name: API de proveedores de aplicación
paths:
  /v1/users/{id}/mfa/setup:
    post:
      tags:
        - API de MFA
      summary: Iniciar la configuración de MFA
      description: >-
        Utiliza este endpoint para iniciar la configuración de MFA para un
        usuario. Devuelve un secreto y códigos de recuperación que el usuario
        debe almacenar antes de la verificación.
      parameters:
        - $ref: '#/components/parameters/UserId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MFASetupInput'
            example:
              mfaType: app
      responses:
        '200':
          description: >-
            Configuración de MFA iniciada correctamente. Almacena el secreto y
            los códigos de recuperación antes de continuar con la verificación.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MFASetupResponse'
              example:
                secret: JBSWY3DPEHPK3PXP
                url: >-
                  otpauth://totp/Lerian:johndoe?secret=JBSWY3DPEHPK3PXP&issuer=Lerian
                recoveryCodes:
                  - a1b2c3d4e5
                  - f6g7h8i9j0
                  - k1l2m3n4o5
                mfaType: app
                enabled: false
          headers: {}
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              examples:
                Error0001:
                  $ref: '#/components/examples/Error0001'
                Error0004:
                  $ref: '#/components/examples/Error0004'
                Error0007:
                  $ref: '#/components/examples/Error0007'
                Error0040:
                  $ref: '#/components/examples/Error0040'
                Error0044:
                  $ref: '#/components/examples/Error0044'
          headers: {}
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              examples:
                Error1003:
                  $ref: '#/components/examples/Error1003'
          headers: {}
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              examples:
                Error0006:
                  $ref: '#/components/examples/Error0006'
                Error0045:
                  $ref: '#/components/examples/Error0045'
          headers: {}
      security:
        - bearer: []
components:
  parameters:
    UserId:
      name: id
      in: path
      description: Identificador único del usuario que deseas consultar.
      required: true
      example: 019c96a0-0c21-71f9-a487-66a1258278a1
      schema:
        type: string
  schemas:
    MFASetupInput:
      description: >-
        Información necesaria para iniciar la configuración de MFA de un
        usuario.
      type: object
      required:
        - mfaType
      properties:
        mfaType:
          type: string
          description: Tipo de MFA que se desea configurar.
          enum:
            - app
            - email
            - sms
    MFASetupResponse:
      description: >-
        Resultado de la iniciación de la configuración de MFA, incluyendo el
        secreto y los códigos de recuperación.
      type: object
      properties:
        secret:
          type: string
          description: >-
            Secreto TOTP que el usuario o la aplicación debe almacenar de forma
            segura.
        url:
          type: string
          description: URL de OTP Auth para la generación de código QR (solo TOTP).
        recoveryCodes:
          type: array
          items:
            type: string
          description: >-
            Códigos de recuperación de un solo uso que el usuario debe
            almacenar.
        mfaType:
          type: string
          description: Tipo de MFA que se configuró.
          enum:
            - app
            - email
            - sms
        enabled:
          type: boolean
          description: Indica si MFA está habilitado actualmente.
    ErrorMessage:
      description: Mensaje de error devuelto en la respuesta.
      type: object
      properties:
        code:
          type: string
          description: Identificador único y estable del error.
        title:
          type: string
          description: Resumen breve del problema.
        message:
          type: string
          description: Orientación detallada para resolver el error.
  examples:
    Error0001:
      summary: Missing Fields in Request
      value:
        code: IDE-0001
        title: Missing Fields in Request
        message: Your request is missing one or more required fields.
    Error0004:
      summary: Unexpected Fields in the Request
      value:
        code: IDE-0004
        title: Unexpected Fields in the Request
        message: >-
          The request body contains more fields than expected. Please send only
          the allowed fields.
    Error0007:
      summary: Bad Request
      value:
        code: IDE-0007
        title: Bad Request
        message: The server could not understand the request due to malformed syntax.
    Error0040:
      summary: MFA Already Enabled
      value:
        code: IDE-0040
        title: MFA Already Enabled
        message: MFA is already enabled for this user.
    Error0044:
      summary: MFA Invalid Type
      value:
        code: IDE-0044
        title: MFA Invalid Type
        message: >-
          The provided MFA type is invalid. Accepted values are app, email, and
          sms.
    Error1003:
      summary: User ID Not Found
      value:
        code: IDE-1003
        title: User ID Not Found
        message: The provided user ID does not exist in our records.
    Error0006:
      summary: Internal Server Error
      value:
        code: IDE-0006
        title: Internal Server Error
        message: The server encountered an unexpected error. Please try again later.
    Error0045:
      summary: MFA Operation Failed
      value:
        code: IDE-0045
        title: MFA Operation Failed
        message: >-
          The MFA operation failed due to an unexpected error. Please try again
          later.
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: El token de autorización en formato 'Bearer <token>'.

````