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

# Obtener los métodos de autenticación

> Recupera una lista detallada de los métodos de autenticación del usuario autenticado.

export const Scopes = ({scopes = []}) => {
  return <div>
      <div class="api-section-heading flex flex-col gap-y-4 w-full">
        <div class="flex items-baseline border-b pb-2.5 border-gray-100 dark:border-gray-800 w-full">
          <h4 class="api-section-heading-title flex-1 mb-0">Scopes</h4>
          <div class="flex items-center"></div>
        </div>
      </div>
      <div class="mt-4">
        <div class="space-y-4 whitespace-normal prose prose-sm prose-gray dark:prose-invert overflow-wrap-anywhere [&_*]:overflow-wrap-anywhere">
          <p class="whitespace-pre-line text-xs">
            {"Los alcances definen los permisos y los niveles de acceso para las solicitudes a la API y los tokens de autenticación."}
          </p>
        </div>
      </div>
      <div class="flex font-mono text-sm group/param-head param-head break-all relative mt-6" id="scopes-scopes">
        <div class="flex-1 flex flex-col content-start py-0.5 mr-5">
          <div class="flex items-center flex-wrap gap-2">
            <div class="absolute -top-1.5">
              <a href="#scopes-scopes" class="-ml-10 flex items-center opacity-0 border-0 group-hover/param-head:opacity-100 focus:opacity-100 focus:outline-0 py-2 [.expandable-content_&]:-ml-[2.1rem] group/link" aria-label="Ir al encabezado">
                ​
                <div class="w-6 h-6 rounded-md flex items-center justify-center shadow-sm text-gray-400 dark:text-white/50 dark:bg-background-dark dark:brightness-[1.35] dark:ring-1 dark:hover:brightness-150 bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20 group-focus/link:border-2 group-focus/link:border-primary dark:group-focus/link:border-primary-light">
                  <svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512">
                    <path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path>
                  </svg>
                </div>
              </a>
            </div>
            {scopes.map((scope, index) => {
    return <span class="flex items-center px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 font-medium break-all" style={{
      lineHeight: "1rem",
      fontSize: "0.75rem",
      fontFamily: 'var(--font-jetbrains-mono), ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace'
    }} data-component-part="field-info-pill" key={index}>
                  {scope}
                </span>;
  })}
          </div>
        </div>
      </div>
    </div>;
};

export const ApiReleaseLifecycle = ({releaseLifecycle = "GA"}) => {
  const lifecycleMap = {
    ea: "Acceso Anticipado",
    ga: "Disponible Generalmente",
    deprecated: "Obsoleto",
    planned: "Planificado",
    beta: "Beta"
  };
  const LIFECYCLE_THEMES = {
    info: {
      light: {
        bg: "lab(91.896% .077188 -6.94053)",
        text: "lab(36.091% 25.9241 -68.0384)"
      },
      dark: {
        bg: "lab(16.0426% 6.71726 -27.2409)",
        text: "lab(72.6029% 4.08953 -41.9669)"
      }
    },
    secondary: {
      light: {
        bg: "lab(90.8548% 11.3355 8.01476)",
        text: "lab(47.5286% 56.4238 43.4706)"
      },
      dark: {
        bg: "lab(16.3609% 37.191 25.6346)",
        text: "lab(71.881% 41.5 29.4839)"
      }
    },
    danger: {
      light: {
        bg: "lab(94.7916% -.0000298023 0)",
        text: "lab(54.3656% 0 -.0000119209)"
      },
      dark: {
        bg: "lab(13.232% 0 0)",
        text: "lab(51.6164% 0 0)"
      }
    }
  };
  const LIFECYCLE_THEME_MAP = {
    ea: "info",
    ga: "info",
    beta: "info",
    deprecated: "secondary",
    planned: "danger"
  };
  const lifecycle = releaseLifecycle.toLocaleLowerCase();
  const lifecycleText = lifecycleMap[lifecycle];
  if (!lifecycleText) {
    return null;
  }
  const theme = LIFECYCLE_THEMES[LIFECYCLE_THEME_MAP[lifecycle]];
  return <div>
      <div className="api-section-heading flex flex-col gap-y-4 w-full">
        <div className="flex items-baseline border-b pb-2.5 border-gray-100 dark:border-gray-800 w-full">
          <h4 className="api-section-heading-title flex-1 mb-0">Ciclo de Vida de la Versión</h4>
        </div>
      </div>
      <div className="flex font-mono text-sm group/param-head param-head break-all relative mt-2.5" id="releaselifecycle-lifecycle">
        <div className="flex-1 flex flex-col content-start py-0.5 mr-5">
          <div className="flex items-center flex-wrap gap-2">
            <div className="absolute -top-1.5">
              <a href="#releaselifecycle-lifecycle" className="-ml-10 flex items-center opacity-0 border-0 group-hover/param-head:opacity-100 focus:opacity-100 focus:outline-0 py-2 [.expandable-content_&]:-ml-[2.1rem] group/link" aria-label="Navegar al encabezado">
                <div className="w-6 h-6 rounded-md flex items-center justify-center shadow-sm text-gray-400 dark:text-white/50 dark:bg-background-dark dark:brightness-[1.35] dark:ring-1 dark:hover:brightness-150 bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20 group-focus/link:border-2 group-focus/link:border-primary dark:group-focus/link:border-primary-light">
                  <svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512">
                    <path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path>
                  </svg>
                </div>
              </a>
            </div>
            <span className="inline-flex items-center w-fit font-medium gap-1 py-0.5 px-2 rounded-md" style={{
    lineHeight: "1rem",
    fontSize: "0.75rem",
    fontFamily: 'var(--font-jetbrains-mono), ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',
    backgroundColor: `light-dark(${theme.light.bg}, ${theme.dark.bg})`,
    color: `light-dark(${theme.light.text}, ${theme.dark.text})`,
    borderColor: `light-dark(color-mix(in oklab, ${theme.light.text} 25%, transparent), color-mix(in oklab, ${theme.dark.text} 25%, transparent))`
  }}>
              {lifecycleText}
            </span>
          </div>
        </div>
      </div>
    </div>;
};

<ApiReleaseLifecycle releaseLifecycle="GA" />

<Scopes scopes={["read:me:authentication_methods"]} />


## OpenAPI

````yaml es/docs/oas/myaccount/myaccount-api-oas.json GET /authentication-methods
openapi: 3.1.0
info:
  description: >-
    La API My Account de Auth0 proporciona un conjunto específico de endpoints
    para que los usuarios administren la información de su propia cuenta. Los
    clientes pueden usar estas APIs para crear experiencias de autoservicio en
    sus aplicaciones o añadir progresivamente datos a una cuenta de usuario.


    La API My Account funciona en el contexto del usuario que ha iniciado sesión
    y puede usarse directamente en aplicaciones de cara al usuario.


    :::tip Uso del dominio de Auth0 frente al dominio personalizado


    La API My Account admite el uso de su dominio canónico de Auth0 o de su
    dominio personalizado, pero debe usar el mismo durante todo el proceso, lo
    que incluye:


    - Obtener un token de acceso

    - Establecer el valor de audiencia

    - Llamar al endpoint de la API My Account


    Para obtener más información, consulte [Custom
    Domains](https://auth0.com/docs/customize/custom-domains).


    :::


    ## Activar la API My Account


    Puede activar la API My Account para su inquilino en el Auth0 Dashboard:


    1. Vaya a Authentication > APIs.

    2. Busque el banner de la API MyAccount.

    3. Seleccione Activate.


    ![](https://images.ctfassets.net/cdy7uua7fh8z/DGkDQNIHcegN8vtQyEvF3/a2e98b06867701a66fa1f1b3df1c996b/My_Account_API_-_Activate.png)


    De forma predeterminada, la API My Account se crea con las siguientes
    políticas de acceso a la API de la aplicación:


    `require_client_grant` para flujos de usuario


    `deny_all` para flujos de cliente (de máquina a máquina)


    Para que una aplicación acceda a la API My Account en nombre del usuario,
    debe crear explícitamente un client grant para esa aplicación, lo que le
    permite definir los alcances máximos que la aplicación puede solicitar. Como
    alternativa, puede cambiar la política de los flujos de acceso de usuario a
    allow_all, lo que permite que cualquier aplicación de su inquilino solicite
    cualquier alcance de la API My Account.


    Como la API My Account expone información y operaciones sensibles, Auth0 no
    recomienda usar allow_all para los flujos de acceso de usuario. Debe seguir
    el principio de privilegio mínimo con la API My Account para garantizar que
    las aplicaciones solo obtengan acceso a lo que realmente necesitan y así
    minimizar los posibles riesgos de seguridad.


    Los permisos finales concedidos a la aplicación estarán determinados por la
    intersección entre los alcances permitidos por la política de acceso a la
    API de la aplicación, los permisos de control de acceso basado en roles
    (RBAC) asignados al usuario final y cualquier consentimiento otorgado por el
    usuario (si corresponde).


    :::info Flujos admitidos


    No puede actualizar la política de API de la aplicación para el acceso de
    cliente a la API My Account, lo que significa que no puede acceder a la API
    My Account mediante el flujo de credenciales del cliente.


    :::


    Para obtener más información sobre cómo administrar las políticas de acceso
    a la API de la aplicación y los client grants asociados, consulte
    [Application Access to APIs: Client
    Grants](https://auth0.com/docs/get-started/applications/application-access-to-apis-client-grants).


    ## Obtener un token de acceso


    Puede obtener un token de acceso para la API My Account de la misma manera
    que obtendría un token de acceso para una de sus propias APIs.


    :::info &nbsp

    Si va a permitir que la API My Account realice operaciones sensibles (como
    registrar un método de autenticación), le recomendamos encarecidamente que
    use [autenticación
    escalonada](https://auth0.com/docs/secure/multi-factor-authentication/step-up-authentication)
    para aplicar políticas de seguridad adicionales mediante [autenticación
    multifactor
    (MFA)](https://auth0.com/docs/secure/multi-factor-authentication).

    :::


    Si usa Universal Login, consulte los siguientes artículos:


    - [Llame a su API mediante el Flujo de código de
    autorización](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow/call-your-api-using-the-authorization-code-flow)

    - [Llame a su API mediante el Flujo de código de autorización con
    PKCE](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce/call-your-api-using-the-authorization-code-flow-with-pkce)


    Si usa inicio de sesión integrado, consulte los siguientes artículos:


    - [Llame a su API mediante el flujo de contraseña del propietario del
    recurso](https://auth0.com/docs/get-started/authentication-and-authorization-flow/resource-owner-password-flow/call-your-api-using-resource-owner-password-flow)

    - [Flujo Login con la API nativa de claves de
    acceso](https://auth0.com/docs/native-passkeys-api#login-flow)


    ## Ejemplos


    ### Universal Login con flujo de código de autorización


    **Paso 1: Solicitar código de autorización**


    ```

    curl --request GET \
      --url 'https://{yourDomain}/authorize?response_type=code&client_id={yourClientId}&redirect_uri=%7ByourRedirectUri%7D&scope=create%3Ame%3Aauthentication_methods&offline_access=&audience=https%3A%2F%2F{yourDomain}%2Fme%2F'
    ```


    **Paso 2: Intercambiar el código por un token de acceso**


    ```

    curl --request POST \
      --url 'https://{yourDomain}/oauth/token' \
      --header 'content-type: application/json' \
      --data '{"grant_type": "authorization_code","client_id": "{yourClientId}","client_secret": "{yourClientSecret}","code": "{yourAuthorizationCode}","redirect_uri": "{yourRedirectUri}","audience": "{yourAudience}","scope": "create:me:authentication_methods","offline_access": ""}'
    ```


    ### Inicio de sesión integrado con claves de acceso nativas


    **Paso 1: Solicitar desafío de inicio de sesión**


    ```

    curl --request POST \
      --url 'https://{yourDomain}/passkey/challenge' \
      --header 'content-type: application/json' \
      --data '{"client_id": "{yourClientId}"}'
    ```


    **Paso 2: Autenticar a un usuario existente**


    ```

    curl --request POST \
      --url 'https://{yourDomain}/oauth/token' \
      --header 'content-type: application/json' \
      --data '{  "grant_type": "urn:okta:params:oauth:grant-type:webauthn",  "client_id": "{yourClientId}",  "scope": "create:me:authentication_methods offline_access",  "audience": "https://{yourDomain}/me/",  "auth_session": "{sessionIdFromTheFirstRequest}",  "authn_response": "{authenticatorResponse}"}'
    ```
  title: My Account
  version: '1.0'
servers:
  - url: https://{host}/me/v1
    variables:
      host:
        default: auth0.auth0.com
        description: Nombre de host personalizado o canónico
security: []
tags:
  - description: Factores
    name: factors
    x-displayName: Factors
  - description: Cuentas conectadas
    name: connected-accounts
    x-displayName: Connected Accounts
  - description: Métodos de autenticación
    name: authentication-methods
    x-displayName: Authentication Methods
  - description: Consentimientos
    name: consents
    x-displayName: Consents
paths:
  /authentication-methods:
    get:
      tags:
        - authentication-methods
      summary: Obtener una lista de métodos de autenticación
      description: >-
        Recupera una lista detallada de los métodos de autenticación del usuario
        autenticado.
      operationId: getAuthenticationMethods
      parameters:
        - $ref: '#/components/parameters/AuthenticationMethodTypeQueryParameter'
      responses:
        '200':
          content:
            application/json:
              examples:
                multiple-methods:
                  summary: Usuario con varios métodos de autenticación inscritos
                  value:
                    authentication_methods:
                      - confirmed: true
                        created_at: '2025-01-15T10:30:00.000Z'
                        email: user@example.com
                        id: email|dev_XXXXXXXXXXXXXXXX
                        type: email
                        usage:
                          - secondary
                      - confirmed: true
                        created_at: '2025-01-16T14:00:00.000Z'
                        id: phone|dev_YYYYYYYYYYYYYYYY
                        phone_number: '+15551234567'
                        preferred_authentication_method: sms
                        type: phone
                        usage:
                          - secondary
                      - confirmed: true
                        created_at: '2025-02-01T09:15:00.000Z'
                        id: totp|dev_ZZZZZZZZZZZZZZZZ
                        type: totp
                        usage:
                          - secondary
                      - created_at: '2025-03-10T08:00:00.000Z'
                        credential_backed_up: true
                        credential_device_type: multi_device
                        id: passkey|dev_AAAAAAAAAAAAAAAA
                        identity_user_id: auth0|507f1f77bcf86cd799439011
                        key_id: dGVzdC1rZXktaWQ
                        public_key: pQECAyYgASFYI...
                        relying_party_id: example.auth0.com
                        transports:
                          - internal
                        type: passkey
                        usage:
                          - primary
                        user_agent: Chrome 131.0.0 / Mac OS X 10.15.7
                        user_handle: YXV0aDB8NTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDEx
                      - created_at: '2024-06-01T12:00:00.000Z'
                        id: password|dXNlci0xMjM
                        identity_user_id: auth0|507f1f77bcf86cd799439011
                        type: password
                        usage:
                          - primary
                      - confirmed: true
                        created_at: '2025-02-20T11:00:00.000Z'
                        id: webauthn-platform|dev_BBBBBBBBBBBBBBBB
                        key_id: dGVzdC1wbGF0Zm9ybS1rZXk
                        public_key: pQECAyYgASFYI...
                        type: webauthn-platform
                        usage:
                          - secondary
                      - confirmed: true
                        created_at: '2025-02-25T16:45:00.000Z'
                        id: webauthn-roaming|dev_CCCCCCCCCCCCCCCC
                        key_id: dGVzdC1yb2FtaW5nLWtleQ
                        public_key: pQECAyYgASFYI...
                        type: webauthn-roaming
                        usage:
                          - secondary
              schema:
                $ref: '#/components/schemas/ListAuthenticationMethodsResponseContent'
          description: Métodos de autenticación recuperados correctamente
          headers:
            x-ratelimit-limit:
              $ref: '#/components/headers/XRateLimitLimitHeader'
            x-ratelimit-remaining:
              $ref: '#/components/headers/XRateLimitRemainingHeader'
            x-ratelimit-reset:
              $ref: '#/components/headers/XRateLimitResetHeader'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
        - Bearer-DPoP:
            - read:me:authentication_methods
      x-codeSamples: []
components:
  parameters:
    AuthenticationMethodTypeQueryParameter:
      description: Filtrar métodos de autenticación por tipo
      in: query
      name: type
      required: false
      schema:
        $ref: '#/components/schemas/FactorTypeEnum'
  schemas:
    ListAuthenticationMethodsResponseContent:
      additionalProperties: false
      properties:
        authentication_methods:
          items:
            $ref: '#/components/schemas/AuthenticationMethod'
          maxItems: 20
          type: array
      required:
        - authentication_methods
      type: object
    FactorTypeEnum:
      description: Tipo de método de autenticación (factor)
      enum:
        - password
        - passkey
        - webauthn-platform
        - webauthn-roaming
        - totp
        - phone
        - email
        - push-notification
        - recovery-code
      type: string
    AuthenticationMethod:
      discriminator:
        mapping:
          email:
            $ref: '#/components/schemas/AuthenticationMethodEmail'
          passkey:
            $ref: '#/components/schemas/AuthenticationMethodPasskey'
          password:
            $ref: '#/components/schemas/AuthenticationMethodPassword'
          phone:
            $ref: '#/components/schemas/AuthenticationMethodPhone'
          push-notification:
            $ref: '#/components/schemas/AuthenticationMethodMfaPushNotification'
          recovery-code:
            $ref: '#/components/schemas/AuthenticationMethodMfaRecoveryCode'
          totp:
            $ref: '#/components/schemas/AuthenticationMethodMfaTotp'
          webauthn-platform:
            $ref: '#/components/schemas/AuthenticationMethodWebAuthnPlatform'
          webauthn-roaming:
            $ref: '#/components/schemas/AuthenticationMethodWebAuthnRoaming'
        propertyName: type
        x-openapi-typescript-ignore: true
      oneOf:
        - $ref: '#/components/schemas/AuthenticationMethodPassword'
          title: password
        - $ref: '#/components/schemas/AuthenticationMethodPasskey'
          title: passkey
        - $ref: '#/components/schemas/AuthenticationMethodMfaRecoveryCode'
          title: recovery-code
        - $ref: '#/components/schemas/AuthenticationMethodMfaPushNotification'
          title: push-notification
        - $ref: '#/components/schemas/AuthenticationMethodMfaTotp'
          title: totp
        - $ref: '#/components/schemas/AuthenticationMethodWebAuthnPlatform'
          title: webauthn-platform
        - $ref: '#/components/schemas/AuthenticationMethodWebAuthnRoaming'
          title: webauthn-roaming
        - $ref: '#/components/schemas/AuthenticationMethodPhone'
          title: phone
        - $ref: '#/components/schemas/AuthenticationMethodEmail'
          title: email
      type: object
    ErrorResponse:
      additionalProperties: false
      properties:
        detail:
          type: string
        status:
          type: number
        title:
          type: string
        type:
          type: string
        validation_errors:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
      required:
        - type
        - status
        - title
        - detail
      type: object
    AuthenticationMethodEmail:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodMfaBase'
        - properties:
            email:
              description: >-
                La dirección de correo electrónico que se usa para enviar
                mensajes de verificación.
              type: string
            name:
              description: El nombre descriptivo del método de autenticación
              type: string
            type:
              const: email
              default: email
              description: Tipo de método de autenticación (factor)
              type: string
          required:
            - type
            - email
          type: object
      title: Email MFA Authenticator
    AuthenticationMethodPasskey:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodBase'
        - properties:
            aaguid:
              description: Identificador global único de atestación del autenticador
              type: string
            credential_backed_up:
              description: Indica si se hizo una copia de seguridad de la credencial
              type: boolean
            credential_device_type:
              $ref: '#/components/schemas/CredentialDeviceTypeEnum'
            identity_user_id:
              description: >-
                El ID de la identidad de usuario vinculada al método de
                autenticación
              type: string
            key_id:
              description: El ID de la credencial
              type: string
            last_auth_at:
              description: >-
                La fecha y hora en que se utilizó por última vez el método de
                autenticación
              format: date-time
              type: string
            public_key:
              description: La clave pública
              type: string
            relying_party_id:
              description: Identificador de la parte de confianza
              type: string
            transports:
              description: >-
                Los transportes que usan los clientes para comunicarse con el
                autenticador
              example:
                - internal
              items:
                type: string
              type: array
            type:
              const: passkey
              default: passkey
              description: Tipo de método de autenticación (factor)
              type: string
            user_agent:
              description: >-
                El agente de usuario del navegador utilizado para crear la clave
                de acceso
              example: Chrome 131.0.0 / Mac OS X 10.15.7
              type: string
            user_handle:
              description: El identificador de usuario de la identidad de usuario
              type: string
          required:
            - type
            - credential_backed_up
            - credential_device_type
            - identity_user_id
            - key_id
            - public_key
            - user_handle
          type: object
      title: Passkey Authenticator
    AuthenticationMethodPassword:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodBase'
        - properties:
            identity_user_id:
              description: >-
                El ID de la identidad de usuario vinculada al método de
                autenticación
              type: string
            last_password_reset:
              description: La fecha del último restablecimiento de contraseña
              format: date-time
              type: string
            type:
              const: password
              default: password
              description: Tipo de método de autenticación (factor)
              type: string
          required:
            - type
            - identity_user_id
          type: object
      title: Password Authenticator
    AuthenticationMethodPhone:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodMfaBase'
        - properties:
            name:
              description: El nombre descriptivo del método de autenticación
              type: string
            phone_number:
              description: >-
                El número de teléfono de destino que se usa para enviar códigos
                de verificación por SMS y llamada de voz.
              type: string
            preferred_authentication_method:
              $ref: '#/components/schemas/PhoneAuthenticationMethodEnum'
            type:
              const: phone
              default: phone
              description: Tipo de método de autenticación (factor)
              type: string
          required:
            - type
            - phone_number
            - preferred_authentication_method
          type: object
      title: Phone MFA Authenticator
    AuthenticationMethodMfaPushNotification:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodMfaBase'
        - properties:
            name:
              description: El nombre descriptivo del método de autenticación
              type: string
            type:
              const: push-notification
              default: push-notification
              description: Tipo de método de autenticación (factor)
              type: string
          required:
            - type
          type: object
      title: Push Notification Authenticator
    AuthenticationMethodMfaRecoveryCode:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodMfaBase'
        - properties:
            type:
              const: recovery-code
              default: recovery-code
              description: Tipo de método de autenticación (factor)
              type: string
          required:
            - type
          type: object
      title: Recovery Code Authenticator
    AuthenticationMethodMfaTotp:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodMfaBase'
        - properties:
            name:
              description: El nombre descriptivo del método de autenticación
              type: string
            type:
              const: totp
              default: totp
              description: Tipo de método de autenticación (factor)
              type: string
          required:
            - type
          type: object
      title: TOTP Authenticator
    AuthenticationMethodWebAuthnPlatform:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodWebAuthn'
        - properties:
            type:
              const: webauthn-platform
              default: webauthn-platform
              description: Tipo de método de autenticación (factor)
              type: string
          required:
            - type
          type: object
      title: WebAuthn Platform MFA Authenticator
    AuthenticationMethodWebAuthnRoaming:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodWebAuthn'
        - properties:
            type:
              const: webauthn-roaming
              default: webauthn-roaming
              description: Tipo de método de autenticación (factor)
              type: string
          required:
            - type
          type: object
      title: WebAuthn Roaming MFA Authenticator
    ValidationError:
      additionalProperties: false
      properties:
        detail:
          type: string
        field:
          type: string
        pointer:
          type: string
        source:
          type: string
      required:
        - detail
      type: object
    AuthenticationMethodMfaBase:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodBase'
        - properties:
            confirmed:
              description: El estado del método de autenticación
              type: boolean
            last_auth_at:
              description: >-
                La fecha y hora en que se utilizó por última vez el método de
                autenticación
              format: date-time
              type: string
          required:
            - confirmed
          type: object
    AuthenticationMethodBase:
      properties:
        created_at:
          description: La fecha y hora en que se creó el método de autenticación
          format: date-time
          type: string
        id:
          description: El identificador único del método de autenticación
          type: string
        usage:
          $ref: '#/components/schemas/Usage'
      required:
        - id
        - created_at
        - usage
      type: object
    CredentialDeviceTypeEnum:
      description: >-
        Tipo de dispositivo de credencial para métodos de autenticación con
        clave de acceso
      enum:
        - multi_device
        - single_device
      type: string
    PhoneAuthenticationMethodEnum:
      description: Método de autenticación preferido para la autenticación por teléfono
      enum:
        - sms
        - voice
      type: string
    AuthenticationMethodWebAuthn:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodMfaBase'
        - properties:
            key_id:
              description: El ID de la credencial
              type: string
            name:
              description: El nombre descriptivo del método de autenticación
              type: string
            public_key:
              description: La clave pública
              type: string
          required: []
          type: object
    Usage:
      description: Factor principal y/o secundario
      items:
        $ref: '#/components/schemas/UsageEnum'
      type: array
    UsageEnum:
      description: Tipo de uso de los factores de autenticación
      enum:
        - primary
        - secondary
      type: string
  headers:
    XRateLimitLimitHeader:
      description: El número máximo de solicitudes permitido durante la ventana del límite
      required: true
      schema:
        type: number
    XRateLimitRemainingHeader:
      description: >-
        El número de solicitudes restantes en la ventana actual antes de que se
        rechacen las solicitudes
      required: true
      schema:
        type: number
    XRateLimitResetHeader:
      description: >-
        La hora prevista (como marca de tiempo UNIX, en segundos) en que se
        repondrá el bucket
      required: true
      schema:
        type: number
    RetryAfterHeader:
      description: >-
        La cantidad de segundos que el cliente debe esperar antes de realizar
        una nueva solicitud
      required: true
      schema:
        type: number
    XAuth0ErrorKindHeader:
      description: >-
        Un indicador de que el límite de tasa superado es un límite global (por
        inquilino).
      schema:
        const: global-rate-limit
        type: string
  responses:
    BadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Entrada no válida según el esquema.
    Unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: No autorizado.
    Forbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Prohibido.
    TooManyRequests:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Demasiadas solicitudes.
      headers:
        retry-after:
          $ref: '#/components/headers/RetryAfterHeader'
        x-auth0-error-kind:
          $ref: '#/components/headers/XAuth0ErrorKindHeader'
        x-ratelimit-limit:
          $ref: '#/components/headers/XRateLimitLimitHeader'
        x-ratelimit-remaining:
          $ref: '#/components/headers/XRateLimitRemainingHeader'
        x-ratelimit-reset:
          $ref: '#/components/headers/XRateLimitResetHeader'
  securitySchemes:
    Bearer-DPoP:
      description: >-
        Los tokens Bearer y DPoP son compatibles según la configuración de la
        API
      scheme: bearer
      type: http

````