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

# MfaPushChallengePush

Class implementing the mfa-push-challenge-push screen functionality
This screen is shown when a user needs to confirm a push notification during MFA

```ts Example theme={null}
const mfaPushChallengePush = new MfaPushChallengePush();
await mfaPushChallengePush.continue();
```

## Constructors

<ParamField body="MfaPushChallengePush" type="Constructor">
  Creates an instance of MfaPushChallengePush screen manager
</ParamField>

## Properties

<ParamField body="branding" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/BrandingMembers">BrandingMembers</a></span>} />

<ParamField body="client" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ClientMembers">ClientMembers</a></span>} />

<ParamField body="organization" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/OrganizationMembers">OrganizationMembers</a></span>} />

<ParamField body="prompt" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/PromptMembers">PromptMembers</a></span>} />

<ParamField body="screen" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ScreenMembersOnMfaPushChallengePush">ScreenMembersOnMfaPushChallengePush</a></span>} />

<ParamField body="tenant" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/TenantMembers">TenantMembers</a></span>} />

<ParamField body="transaction" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/TransactionMembers">TransactionMembers</a></span>} />

<ParamField body="untrustedData" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/UntrustedDataMembersOnMfaPushChallengePush">UntrustedDataMembersOnMfaPushChallengePush</a></span>} />

<ParamField body="user" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/UserMembers">UserMembers</a></span>} />

<ParamField body="screenIdentifier" type="string" />

## Methods

<ParamField body="continue" type="Promise<void>">
  Continues with the push notification challenge

  ```typescript Example theme={null}
  const mfaPushChallengePush = new MfaPushChallengePush();
  await mfaPushChallengePush.continue();
  ```

  <Expandable title="Parameters">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/WithRememberOptions">WithRememberOptions</a></span>}>
      **Properties**

      <ParamField body="rememberDevice?" type="boolean" />
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="enterCodeManually" type="Promise<void>">
  Switches to entering the verification code manually

  ```typescript Example theme={null}
  const mfaPushChallengePush = new MfaPushChallengePush();
  await mfaPushChallengePush.enterCodeManually();
  ```

  <Expandable title="Parameters">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      Optional custom options to include with the request
    </ParamField>
  </Expandable>
</ParamField>

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

  An array of error objects from the transaction context.
</ParamField>

<ParamField body="pollingManager" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/MfaPushPollingControl">MfaPushPollingControl</a></span>}>
  **`Utility Feature`**

  Starts and manages polling for an MFA push challenge.

  Creates a polling session that repeatedly checks the MFA push challenge endpoint
  at the specified interval until the challenge 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.

  A [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.

  ```ts Example theme={null}
  // Start polling every 5 seconds until the push challenge is approved
  const control = mfaPushChallengePush.pollingManager({
    intervalMs: 5000,
    onCompleted: () => mfaPushChallengePush.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.

  <Expandable title="Parameters">
    <ParamField body="options" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/type-aliases/MfaPollingOptions">MfaPollingOptions</a></span>}>
      **Properties**

      <ParamField body="MfaPollingOptions" type="object" />

      <ParamField body="intervalMs?" type="number" />

      <ParamField body="onCompleted()?" type="() => void" />

      <ParamField body="onError()?" type="(error) => void" />

      <ParamField body="code" type="string" />

      <ParamField body="field?" type="string" />

      <ParamField body="message" type="string" />
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="resendPushNotification" type="Promise<void>">
  Resends the push notification

  ```typescript Example theme={null}
  const mfaPushChallengePush = new MfaPushChallengePush();
  await mfaPushChallengePush.resendPushNotification();
  ```

  <Expandable title="Parameters">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/WithRememberOptions">WithRememberOptions</a></span>}>
      **Properties**

      <ParamField body="rememberDevice?" type="boolean" />
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="tryAnotherMethod" type="Promise<void>">
  Allows trying another authentication method

  ```typescript Example theme={null}
  const mfaPushChallengePush = new MfaPushChallengePush();
  await mfaPushChallengePush.tryAnotherMethod();
  ```

  <Expandable title="Parameters">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      Optional custom options to include with the request
    </ParamField>
  </Expandable>
</ParamField>
