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

# LoginEmailVerificationMembers

LoginEmailVerificationMembers
description Defines the members (properties and methods) available for interacting with the Login Email Verification screen.
This screen is a crucial part of email verification processes, typically during login, where a user must prove
ownership of an email address by providing a one-time code. The SDK facilitates submitting this code
or requesting a new one.

The `universal_login_context` for this screen (`window.universal_login_context`) will contain:

* `client`: Information about the Auth0 application.
* `organization` (optional): Details if the authentication is for a specific organization.
* `prompt`: Context of the current authentication prompt (e.g., 'login').
* `screen`: UI texts and general screen information. No screen-specific `data` fields are uniquely defined for `login-email-verification` beyond standard ones.
* `transaction`: Details of the ongoing transaction, including state and any errors from previous attempts (e.g., "invalid-code").

````ts Example theme={null}
export interface LoginEmailVerificationMembers extends BaseMembers {
  /**
   * Submits the email verification code entered by the user.
   * This action corresponds to the user entering the code they received via email and
   * clicking a "Continue" or "Verify" button. The SDK will then POST this code
   * to the Auth0 `/u/login-email-verification` endpoint.
   *
   * If the code is valid, Auth0 will typically redirect the user to the next step in the
   * authentication flow. If the code is invalid, expired, or another error occurs,
   * Auth0 will usually re-render the login-email-verification screen, and the
   * `transaction.errors` array in the SDK's context will be updated with details
   * about the failure (e.g., error code `invalid-code`).
   *
   * @param {ContinueWithCodeOptions} payload - An object containing the `code` string entered by the user.
   *                                            It can also include any `CustomOptions` for extensibility.
   * @returns {Promise<void>} A promise that resolves when the form submission is initiated.
   *                          It does not return data directly upon resolution, as a redirect or
   *                          page re-render is the common outcome.
   * @throws {Error} Throws an error if `payload.code` is not provided or is not a string,
   *                 or if the `FormHandler` encounters an unrecoverable issue during submission (e.g., network error).
   *                 Validation errors from Auth0 (like an invalid code) are not thrown as JavaScript errors
   *                 but are reflected in `this.transaction.errors` after the operation.
   *
   * @example
   * ```typescript
   * // Assuming 'manager' is an instance of LoginEmailVerification
   * const userInputCode = "123456";
   * try {
   *   await manager.continueWithCode({ code: userInputCode });
   *   // If successful, page redirects. No further client-side action needed here.
   * } catch (error) {
   *   // This catch is for unexpected errors, not for Auth0 validation errors.
   *   console.error("Failed to submit the verification code:", error);
   * }
   * // After the await, always check manager.transaction.errors for server-side validation issues.
   * if (manager.transaction.errors && manager.transaction.errors.length > 0) {
   *   manager.transaction.errors.forEach(err => {
   *     if (err.code === 'invalid-code') {
   *       // Display "The code you entered is invalid" to the user.
   *     }
   *   });
   * }
   * ```
   */
  continueWithCode(payload: ContinueWithCodeOptions): Promise<void>;

  /**
   * Requests a new verification code to be sent to the user's email address.
   * This action is typically invoked when the user clicks a "Resend Code" button, perhaps because
   * they didn't receive the first email, the code expired, or they suspect an issue.
   * The SDK will POST to the Auth0 `/u/login-email-verification` endpoint with an action indicating
   * a resend request.
   *
   * Upon successful submission of this request, Auth0 attempts to send a new email.
   * The page may re-render. If there are issues (e.g., too many resend attempts for the same email,
   * identified by error code `too-many-emails`), `transaction.errors` will be updated.
   *
   * @param {ResendCodeOptions} [payload] - Optional. An object for `CustomOptions` if any
   *                                        additional parameters need to be sent with the request.
   * @returns {Promise<void>} A promise that resolves when the resend request is initiated.
   *                          Like `continueWithCode`, this usually results in a page re-render or state update
   *                          rather than direct data in the promise resolution.
   * @throws {Error} Throws if the `FormHandler` encounters an unrecoverable issue (e.g., network error).
   *                 Server-side errors (like rate limits) are reflected in `this.transaction.errors`.
   *
   * @example
   * ```typescript
   * // Assuming 'manager' is an instance of LoginEmailVerification
   * try {
   *   await manager.resendCode();
   *   // Optionally, update UI to inform the user a new code has been sent.
   *   alert("A new verification code has been dispatched to your email.");
   * } catch (error) {
   *   console.error("Failed to request a new code:", error);
   * }
   * // After the await, check manager.transaction.errors for server-side issues.
   * if (manager.transaction.errors && manager.transaction.errors.length > 0) {
   *   manager.transaction.errors.forEach(err => {
   *     if (err.code === 'too-many-emails') {
   *       // Display "You have requested too many emails. Please wait a few minutes."
   *     }
   *   });
   * }
   * ```
   */
  resendCode(payload?: ResendCodeOptions): 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/ScreenMembers">ScreenMembers</a></span>} />

<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/UntrustedDataMembers">UntrustedDataMembers</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="continueWithCode" type="Promise<void>">
  Submits the email verification code entered by the user.
  This action corresponds to the user entering the code they received via email and
  clicking a "Continue" or "Verify" button. The SDK will then POST this code
  to the Auth0 `/u/login-email-verification` endpoint.

  If the code is valid, Auth0 will typically redirect the user to the next step in the
  authentication flow. If the code is invalid, expired, or another error occurs,
  Auth0 will usually re-render the login-email-verification screen, and the
  `transaction.errors` array in the SDK's context will be updated with details
  about the failure (e.g., error code `invalid-code`).

  A promise that resolves when the form submission is initiated.
  It does not return data directly upon resolution, as a redirect or
  page re-render is the common outcome.

  #### Throws

  Throws an error if `payload.code` is not provided or is not a string,
  or if the `FormHandler` encounters an unrecoverable issue during submission (e.g., network error).
  Validation errors from Auth0 (like an invalid code) are not thrown as JavaScript errors
  but are reflected in `this.transaction.errors` after the operation.

  ```typescript Example theme={null}
  // Assuming 'manager' is an instance of LoginEmailVerification
  const userInputCode = "123456";
  try {
    await manager.continueWithCode({ code: userInputCode });
    // If successful, page redirects. No further client-side action needed here.
  } catch (error) {
    // This catch is for unexpected errors, not for Auth0 validation errors.
    console.error("Failed to submit the verification code:", error);
  }
  // After the await, always check manager.transaction.errors for server-side validation issues.
  if (manager.transaction.errors && manager.transaction.errors.length > 0) {
    manager.transaction.errors.forEach(err => {
      if (err.code === 'invalid-code') {
        // Display "The code you entered is invalid" to the user.
      }
    });
  }
  ```

  <Expandable title="Parameters">
    <ParamField body="payload" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/ContinueWithCodeOptionPayload">ContinueWithCodeOptionPayload</a></span>}>
      An object containing the `code` string entered by the user.
      It can also include any `CustomOptions` for extensibility.

      **Properties**

      <ParamField body="code" type="string">
        The verification code sent to the user's email. This is typically a short numeric
        or alphanumeric string that the user must enter into the form.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="resendCode" type="Promise<void>">
  Requests a new verification code to be sent to the user's email address.
  This action is typically invoked when the user clicks a "Resend Code" button, perhaps because
  they didn't receive the first email, the code expired, or they suspect an issue.
  The SDK will POST to the Auth0 `/u/login-email-verification` endpoint with an action indicating
  a resend request.

  Upon successful submission of this request, Auth0 attempts to send a new email.
  The page may re-render. If there are issues (e.g., too many resend attempts for the same email,
  identified by error code `too-many-emails`), `transaction.errors` will be updated.

  A promise that resolves when the resend request is initiated.
  Like `continueWithCode`, this usually results in a page re-render or state update
  rather than direct data in the promise resolution.

  #### Throws

  Throws if the `FormHandler` encounters an unrecoverable issue (e.g., network error).
  Server-side errors (like rate limits) are reflected in `this.transaction.errors`.

  ```typescript Example theme={null}
  // Assuming 'manager' is an instance of LoginEmailVerification
  try {
    await manager.resendCode();
    // Optionally, update UI to inform the user a new code has been sent.
    alert("A new verification code has been dispatched to your email.");
  } catch (error) {
    console.error("Failed to request a new code:", error);
  }
  // After the await, check manager.transaction.errors for server-side issues.
  if (manager.transaction.errors && manager.transaction.errors.length > 0) {
    manager.transaction.errors.forEach(err => {
      if (err.code === 'too-many-emails') {
        // Display "You have requested too many emails. Please wait a few minutes."
      }
    });
  }
  ```

  <Expandable title="Parameters">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/ResendCodeOptionsPayload">ResendCodeOptionsPayload</a></span>}>
      Optional. An object for `CustomOptions` if any
      additional parameters need to be sent with the request.
    </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>
