> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-ips-6621-xaa-idp-revamp.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# MfaVoiceChallengeMembers

Interface defining all members and operations available on the MFA Voice Challenge screen.

````ts Example theme={null}
export interface MfaVoiceChallengeMembers extends BaseMembers {
  /**
   * Screen-specific properties and data.
   */
  screen: ScreenMembersOnMfaVoiceChallenge;

  untrustedData: UntrustedDataMembersOnMfaVoiceChallenge;

  /**
   * Submits the voice verification code to validate the MFA challenge.
   *
   * @param payload - Object containing the verification code and optional parameters
   * @returns Promise that resolves when the code is successfully validated
   *
   * @example
   * ```typescript
   * const mfaVoiceChallenge = new MfaVoiceChallenge();
   * mfaVoiceChallenge.continue({
   *   code: '123456',
   *   rememberDevice: true
   * });
   * ```
   */
  continue(payload: MfaVoiceChallengeContinueOptions): Promise<void>;

  /**
   * Navigates to the screen for selecting a different phone number.
   *
   * @param payload - Optional custom parameters
   * @returns Promise that resolves when navigation is complete
   *
   * @example
   * ```typescript
   * const mfaVoiceChallenge = new MfaVoiceChallenge();
   * mfaVoiceChallenge.pickPhone();
   * ```
   */
  pickPhone(payload?: CustomOptions): Promise<void>;

  /**
   * Switches to SMS verification method instead of voice call.
   *
   * @param payload - Optional custom parameters
   * @returns Promise that resolves when switching is complete
   *
   * @example
   * ```typescript
   * const mfaVoiceChallenge = new MfaVoiceChallenge();
   * mfaVoiceChallenge.switchToSms();
   * ```
   */
  switchToSms(payload?: CustomOptions): Promise<void>;

  /**
   * Requests a new voice call with a verification code.
   *
   * @param payload - Optional custom parameters
   * @returns Promise that resolves when the new code is sent
   *
   * @example
   * ```typescript
   * const mfaVoiceChallenge = new MfaVoiceChallenge();
   * mfaVoiceChallenge.resendCode();
   * ```
   */
  resendCode(payload?: CustomOptions): Promise<void>;

  /**
   * Navigates to the screen for selecting an alternative MFA method.
   *
   * @param payload - Optional custom parameters
   * @returns Promise that resolves when navigation is complete
   *
   * @example
   * ```typescript
   * const mfaVoiceChallenge = new MfaVoiceChallenge();
   * mfaVoiceChallenge.tryAnotherMethod();
   * ```
   */
  tryAnotherMethod(payload?: CustomOptions): Promise<void>;

  /**
   * Gets resend functionality with timeout management for this screen
   * @param options Configuration options for resend functionality
   */
  resendManager(options?: StartResendOptions): ResendControl;
}
````

## Properties

<ParamField body="branding" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/BrandingMembers">BrandingMembers</a></span>} />

<ParamField body="client" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/ClientMembers">ClientMembers</a></span>} />

<ParamField body="organization" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/OrganizationMembers">OrganizationMembers</a></span>} />

<ParamField body="prompt" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/PromptMembers">PromptMembers</a></span>} />

<ParamField body="screen" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/ScreenMembersOnMfaVoiceChallenge">ScreenMembersOnMfaVoiceChallenge</a></span>}>
  Screen-specific properties and data.
</ParamField>

<ParamField body="tenant" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/TenantMembers">TenantMembers</a></span>} />

<ParamField body="transaction" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/TransactionMembers">TransactionMembers</a></span>} />

<ParamField body="untrustedData" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/UntrustedDataMembersOnMfaVoiceChallenge">UntrustedDataMembersOnMfaVoiceChallenge</a></span>} />

<ParamField body="user" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/UserMembers">UserMembers</a></span>} />

## Methods

<ParamField body="continue" type="Promise<void>">
  Submits the voice verification code to validate the MFA challenge.

  Promise that resolves when the code is successfully validated

  ```typescript Example theme={null}
  const mfaVoiceChallenge = new MfaVoiceChallenge();
  mfaVoiceChallenge.continue({
    code: '123456',
    rememberDevice: true
  });
  ```

  <Expandable title="Parameters">
    <ParamField body="payload" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/MfaVoiceChallengeContinueOptions">MfaVoiceChallengeContinueOptions</a></span>}>
      Object containing the verification code and optional parameters

      **Properties**

      <ParamField body="code" type="string">
        The verification code received via voice call.
      </ParamField>

      <ParamField body="rememberDevice?" type="boolean">
        Optional flag to remember the device for 30 days, skipping future MFA challenges.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="pickPhone" type="Promise<void>">
  Navigates to the screen for selecting a different phone number.

  Promise that resolves when navigation is complete

  ```typescript Example theme={null}
  const mfaVoiceChallenge = new MfaVoiceChallenge();
  mfaVoiceChallenge.pickPhone();
  ```

  <Expandable title="Parameters">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/CustomOptions">CustomOptions</a></span>}>
      Optional custom parameters
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="resendCode" type="Promise<void>">
  Requests a new voice call with a verification code.

  Promise that resolves when the new code is sent

  ```typescript Example theme={null}
  const mfaVoiceChallenge = new MfaVoiceChallenge();
  mfaVoiceChallenge.resendCode();
  ```

  <Expandable title="Parameters">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/CustomOptions">CustomOptions</a></span>}>
      Optional custom parameters
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="resendManager" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/ResendControl">ResendControl</a></span>}>
  Gets resend functionality with timeout management for this screen

  <Expandable title="Parameters">
    <ParamField body="options?" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/StartResendOptions">StartResendOptions</a></span>}>
      Configuration options for resend functionality

      **Properties**

      <ParamField body="onStatusChange?" type={<span><a href="/docs-v2/main//docs/libraries/acul/react-sdkScreens/type-aliases/OnStatusChangeCallback">OnStatusChangeCallback</a></span>} />

      <ParamField body="onTimeout" type="void" />

      <ParamField body="timeoutSeconds?" type="number" />
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="switchToSms" type="Promise<void>">
  Switches to SMS verification method instead of voice call.

  Promise that resolves when switching is complete

  ```typescript Example theme={null}
  const mfaVoiceChallenge = new MfaVoiceChallenge();
  mfaVoiceChallenge.switchToSms();
  ```

  <Expandable title="Parameters">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/CustomOptions">CustomOptions</a></span>}>
      Optional custom parameters
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="tryAnotherMethod" type="Promise<void>">
  Navigates to the screen for selecting an alternative MFA method.

  Promise that resolves when navigation is complete

  ```typescript Example theme={null}
  const mfaVoiceChallenge = new MfaVoiceChallenge();
  mfaVoiceChallenge.tryAnotherMethod();
  ```

  <Expandable title="Parameters">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/CustomOptions">CustomOptions</a></span>}>
      Optional custom parameters
    </ParamField>
  </Expandable>
</ParamField>
