> ## 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 Configuração de MFA

> Use este endpoint para iniciar a configuração do MFA para um usuário. Retorna um segredo e códigos de recuperação que devem ser armazenados pelo usuário antes da verificação.



## OpenAPI

````yaml pt/openapi/v3-current/AM-identity.yaml post /v1/users/{id}/mfa/setup
openapi: 3.1.0
info:
  title: Plugin de Identidade
  description: ''
  version: 2.4.5
servers:
  - url: https://identity.sandbox.lerian.net
security: []
tags:
  - name: API de Grupos
  - name: API de Aplicações
  - name: API de Usuários
  - name: API de MFA
  - name: API de Provedores
  - name: API de Provedores de Aplicação
paths:
  /v1/users/{id}/mfa/setup:
    post:
      tags:
        - API de MFA
      summary: Iniciar Configuração de MFA
      description: >-
        Use este endpoint para iniciar a configuração do MFA para um usuário.
        Retorna um segredo e códigos de recuperação que devem ser armazenados
        pelo usuário antes da verificação.
      parameters:
        - $ref: '#/components/parameters/UserId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MFASetupInput'
            example:
              mfaType: app
      responses:
        '200':
          description: >-
            Configuração de MFA iniciada com sucesso. Armazene o segredo e os
            códigos de recuperação antes de prosseguir para a verificação.
          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: O identificador único do usuário que você deseja recuperar.
      required: true
      example: 019c96a0-0c21-71f9-a487-66a1258278a1
      schema:
        type: string
  schemas:
    MFASetupInput:
      description: >-
        Informações necessárias para iniciar a configuração do MFA de um
        usuário.
      type: object
      required:
        - mfaType
      properties:
        mfaType:
          type: string
          description: O tipo de MFA a ser configurado.
          enum:
            - app
            - email
            - sms
    MFASetupResponse:
      description: >-
        O resultado da iniciação da configuração do MFA, incluindo o segredo e
        os códigos de recuperação.
      type: object
      properties:
        secret:
          type: string
          description: >-
            Segredo TOTP a ser armazenado de forma segura pelo usuário ou
            aplicativo.
        url:
          type: string
          description: URL OTP Auth para geração de QR Code (somente TOTP).
        recoveryCodes:
          type: array
          items:
            type: string
          description: >-
            Códigos de recuperação de uso único a serem armazenados pelo
            usuário.
        mfaType:
          type: string
          description: O tipo de MFA que foi configurado.
          enum:
            - app
            - email
            - sms
        enabled:
          type: boolean
          description: Indica se o MFA está atualmente habilitado.
    ErrorMessage:
      description: A mensagem de erro da resposta.
      type: object
      properties:
        code:
          type: string
          description: Um identificador único e estável para o erro.
        title:
          type: string
          description: Um breve resumo do problema.
        message:
          type: string
          description: Orientação detalhada para resolver o erro.
  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: O token de autorização no formato 'Bearer <token>'.

````