> ## 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.

# EmailOTPChallenge

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/generaltranslationinc/IhLUvTv5J5eZ1VeH/docs/images/cdy7uua7fh8z/7zje6OddItzeXHt28TPBcU/64d5259080c92c0b550d9394bd1c0049/Screenshot_2025-05-15_at_20.46.00.png?fit=max&auto=format&n=IhLUvTv5J5eZ1VeH&q=85&s=901dd292de6eb95445446eb0853970a8" alt="" width="391" height="527" data-path="docs/images/cdy7uua7fh8z/7zje6OddItzeXHt28TPBcU/64d5259080c92c0b550d9394bd1c0049/Screenshot_2025-05-15_at_20.46.00.png" />
</Frame>

Email OTP チャレンジ画面を表します。

```ts Example theme={null}
import EmailOTPChallenge from '@auth0/auth0-acul-js/email-otp-challenge';

const emailOTPChallenge = new EmailOTPChallenge();
emailOTPChallenge.submitCode({
  code: '123456',
});
```

<div id="constructors">
  ## コンストラクター
</div>

<ParamField body="EmailOTPChallenge" type="Constructor" />

<div id="properties">
  ## プロパティ
</div>

<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/ScreenMembers">ScreenMembers</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/UntrustedDataMembers">UntrustedDataMembers</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" />

<div id="methods">
  ## メソッド
</div>

<ParamField body="getErrors" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/Error">Error</a>[]</span>}>
  コンテキストからトランザクションのエラー配列を取得します。存在しない場合は空配列を返します。

  トランザクションコンテキストに含まれるエラーオブジェクトの配列です。
</ParamField>

<ParamField body="resendCode" type="Promise<void>">
  ユーザーのメールに送信する新しい One‑Time Password (OTP) コードをリクエストします。

  ```typescript Example theme={null}
  import EmailOTPChallenge from '@auth0/auth0-acul-js/email-otp-challenge';

  const emailOTPChallenge = new EmailOTPChallenge();
  emailOTPChallenge.resendCode();
  ```

  <Expandable title="パラメーター">
    <ParamField body="options?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      再送リクエストに含める任意のパラメーターです。
    </ParamField>
  </Expandable>
</ParamField>

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

  この画面用の、タイムアウト管理付き再送機能を取得します。

  startResend メソッドを持つ ResendControl オブジェクトです。

  ```typescript Example theme={null}
  import EmailOTPChallenge from '@auth0/auth0-acul-js/email-otp-challenge';

  const emailOTPChallenge = new EmailOTPChallenge();
  const { startResend } = emailOTPChallenge.resendManager({
    timeoutSeconds: 15,
    onStatusChange: (remainingSeconds, isDisabled) => {
      console.log(`Resend available in ${remainingSeconds}s, disabled: ${isDisabled}`);
    },
    onTimeout: () => {
      console.log('Resend is now available');
    }
  });

  // ユーザーが再送ボタンをクリックしたときに startResend を呼び出します
  startResend();
  ```

  <Expandable title="パラメーター">
    <ParamField body="options?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/StartResendOptions">StartResendOptions</a></span>}>
      再送機能の構成オプションです。

      **プロパティ**

      <ParamField body="onStatusChange?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/type-aliases/OnStatusChangeCallback">OnStatusChangeCallback</a></span>} />

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

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

<ParamField body="submitCode" type="Promise<void>">
  ユーザーが入力した OTP コードを送信します。

  ```typescript Example theme={null}
  import EmailOTPChallenge from '@auth0/auth0-acul-js/email-otp-challenge';

  const emailOTPChallenge = new EmailOTPChallenge();
  emailOTPChallenge.submitCode({
    code: '123456',
  });
  ```

  <Expandable title="パラメーター">
    <ParamField body="options" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/OtpCodeOptions">OtpCodeOptions</a></span>}>
      送信時に含める任意のパラメーターです。

      **プロパティ**

      <ParamField body="code" type="string">
        ユーザーが送信のために入力する OTP コードです。
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>
