> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-docs-event-stream-action-templates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# MfaPushEnrollmentQr

> Describes all the properties and methods available to customize the Universal Login `mfa-push-enrollment-qr` screen.

The MfaPushEnrollmentQr class implements the `mfa-push-enrollment-qr` screen functionality.

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/docs-dev-docs-event-stream-action-templates/1FU_hDyg-ytA7ilg/docs/images/ja-jp/cdy7uua7fh8z/13d9Riyyn389IFhaV2NxAC/792409a4ac81fdd75ead60451742ccde/Screenshot_2025-02-20_at_22.44.09.png?fit=max&auto=format&n=1FU_hDyg-ytA7ilg&q=85&s=8a78b49963dc658a66b183e94cea70a1" alt="ACUL MFA Push Enrollment QR" width="438" height="610" data-path="docs/images/ja-jp/cdy7uua7fh8z/13d9Riyyn389IFhaV2NxAC/792409a4ac81fdd75ead60451742ccde/Screenshot_2025-02-20_at_22.44.09.png" />
</Frame>

## Constructors

Create an instance of MFA Push Enrollment QR screen manager:

```typescript Example theme={null}
import MfaPushEnrollmentQr from '@auth0/auth0-acul-js/mfa-push-enrollment-qr';

const mfaPushEnrollmentQr = new MfaPushEnrollmentQr();
await mfaPushEnrollmentQr.pickAuthenticator();
```

## Properties

<ParamField body="branding" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/BrandingMembers">BrandingMembers</a></span>}>
  Provides branding-related configurations, such as branding theme and settings.
</ParamField>

<ParamField body="client" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ClientMembers">ClientMembers</a></span>}>
  Provides client-related configurations, such as `id`, `name`, and `logoUrl`, for the `mfa-push-enrollment-qr` screen.
</ParamField>

<ParamField body="organization" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/OrganizationMembers">OrganizationMembers</a></span>}>
  Provides information about the user's Organization, such as `id` and `name`.
</ParamField>

<ParamField body="prompt" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/PromptMembers">PromptMembers</a></span>}>
  Contains data about the current prompt in the authentication flow.
</ParamField>

<ParamField body="screen" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ScreenMembersOnMfaPushEnrollmentQr">ScreenMembersOnMfaPushEnrollmentQr</a></span>}>
  Contains details specific to the `mfa-push-enrollment-qr` screen, including its configuration and context.
</ParamField>

<ParamField body="tenant" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/TenantMembers">TenantMembers</a></span>}>
  Contains data related to the tenant, such as `id` and associated metadata.
</ParamField>

<ParamField body="transaction" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/TransactionMembers">TransactionMembers</a></span>}>
  Provides transaction-specific data for the `mfa-push-enrollment-qr` screen, such as active identifiers and flow states.
</ParamField>

<ParamField body="untrustedData" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/UntrustedDataMembers">UntrustedDataMembers</a></span>}>
  Handles untrusted data passed to the SDK, such as user input during MFA push enrollment.
</ParamField>

<ParamField body="user" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/UserMembers">UserMembers</a></span>}>
  Details of the active user, including `username`, `email`, and `roles`.
</ParamField>

## Methods

<ParamField body="changeLanguage" type="Promise<void>">
  This method changes the display language of the Universal Login page.

  ```typescript Example theme={null}
  import MfaPushEnrollmentQr from '@auth0/auth0-acul-js/mfa-push-enrollment-qr';
  const mfaPushEnrollmentQr = new MfaPushEnrollmentQr();
  mfaPushEnrollmentQr.changeLanguage({
    language: 'fr',
  });
  ```

  **Method Parameters**

  <Expandable title="Parameters">
    <ParamField body="options">
      [LanguageChangeOptions](/docs/libraries/acul/js-sdk/Screens/interfaces/LanguageChangeOptions).
    </ParamField>

    <ParamField body="language" type="string" required>
      The locale code for the desired language (for example, `'en'`, `'fr'`, `'es'`).
    </ParamField>

    <ParamField body="persist?" type="&#x22;session&#x22;">
      When set to `'session'`, the selected language persists for the duration of the session.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="continue" type="Promise<void>">
  This method proceeds with the push notification enrollment.

  ```typescript Example theme={null}
  import MfaPushEnrollmentQr from '@auth0/auth0-acul-js/mfa-push-enrollment-qr';

  const mfaPushEnrollmentQr = new MfaPushEnrollmentQr();
  await mfaPushEnrollmentQr.continue();
  ```

  **Method Parameters**

  <Expandable title="Parameters">
    <ParamField body="options">
      [MfaPushEnrollmentQrWithRememberOptions](/docs/libraries/acul/js-sdk/Screens/interfaces/MfaPushEnrollmentQrWithRememberOptions).
    </ParamField>

    <ParamField body="rememberDevice?" type="boolean">
      Indicates whether to remember the device.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="getErrors" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/Error">Error</a>[]</span>}>
  This method retrieves the array of transaction errors from the context, or an empty array if none exist.
</ParamField>

<ParamField body="pickAuthenticator" type="Promise<void>">
  This method navigates to the authenticator selection screen.

  ```typescript Example theme={null}
  import MfaPushEnrollmentQr from '@auth0/auth0-acul-js/mfa-push-enrollment-qr';

  const mfaPushEnrollmentQr = new MfaPushEnrollmentQr();
  await mfaPushEnrollmentQr.pickAuthenticator();
  ```
</ParamField>

<ParamField body="pollingManager" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/MfaPushPollingControl">MfaPushPollingControl</a></span>}>
  This method starts and manages polling for an MFA push enrollment.

  Creates a polling session that repeatedly checks the MFA push enrollment endpoint at the specified interval until the enrollment is approved or an error occurs. When the approval condition is met, the provided [onCompleted](/docs/libraries/acul/js-sdk/Screens/type-aliases/MfaPollingOptions#oncompleted) callback is invoked and polling stops automatically.

  Use the returned [MfaPushPollingControl](/docs/libraries/acul/js-sdk/Screens/interfaces/MfaPushPollingControl) to start, stop, or check the status of the polling process at any time.

  Returns an [MfaPushPollingControl](/docs/libraries/acul/js-sdk/Screens/interfaces/MfaPushPollingControl) instance exposing:

  * `startPolling()` — Starts or resumes polling.
  * `stopPolling()` — Cancels polling immediately.
  * `isRunning()` — Indicates whether polling is currently active.

  ```typescript Example theme={null}
  import MfaPushEnrollmentQr from '@auth0/auth0-acul-js/mfa-push-enrollment-qr';

  const mfaPushEnrollmentQr = new MfaPushEnrollmentQr();

  // Start polling every 5 seconds until the push enrollment is approved
  const control = mfaPushEnrollmentQr.pollingManager({
    intervalMs: 5000,
    onCompleted: () => mfaPushEnrollmentQr.continue(),
    onError: (error) => console.error('Polling error:', error),
  });

  // Later, cancel polling if needed
  control.stopPolling();
  ```

  **Remarks**

  * HTTP 429 (rate limit) responses are handled internally: polling automatically waits until the rate limit resets before retrying.
  * Safe to call `startPolling()` multiple times; it has no effect if already running.

  **Method Parameters**

  <Expandable title="Parameters">
    <ParamField body="options">
      [MfaPollingOptions](/docs/libraries/acul/js-sdk/Screens/type-aliases/MfaPollingOptions).
    </ParamField>

    <ParamField body="intervalMs?" type="number">
      Optional interval, in milliseconds, between consecutive polling requests. If omitted, the SDK's internal default interval is used (typically 5000 ms).
    </ParamField>

    <ParamField body="onCompleted()?" type="() => void">
      Optional callback executed once the MFA push enrollment is successfully approved and polling completes. Called exactly once, after which polling stops automatically.
    </ParamField>

    <ParamField body="onError()?" type="(error) => void">
      Optional callback invoked if an error occurs while polling. Receives an `ULError` object containing `status` (HTTP status code) and `responseText` (raw response body).
    </ParamField>
  </Expandable>
</ParamField>
