> ## Documentation Index
> Fetch the complete documentation index at: https://docs-staging-actions-triggers-prototype.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# SignupMembers

````ts Example theme={null}
export interface SignupMembers extends BaseMembers {
  screen: ScreenMembersOnSignup;
  transaction: TransactionMembersOnSignup;
  signup(payload: SignupOptions): Promise<void>;
  federatedSignup(payload: FederatedSignupOptions): Promise<void>;
  pickCountryCode(payload?: CustomOptions): Promise<void>;
  validatePassword(password: string): PasswordValidationResult;
  /**
 * Returns a list of enabled identifiers (e.g. email, phone, username)
 * based on the current transaction state.
 *
 * Identifiers may be required or optional depending on the connection strategy
 * and configuration provided during the authentication or signup flow.
 *
 * @returns An array of enabled {@link Identifier} objects, or `null` if the transaction is not initialized.
 *
 * @example
 * ```ts
 * const identifiers = authClient.getSignupIdentifiers();
 * if (identifiers) {
 *   identifiers.forEach(({ type, required }) => {
 *     console.log(`${type} is ${required ? 'required' : 'optional'}`);
 *   });
 * }
 * ```
 * @utilityFeature
 * @see Identifier
 */
  getSignupIdentifiers(): Identifier[] | null;
  validateUsername(username: string): UsernameValidationResult;
}
````

## 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/ScreenMembersOnSignup">ScreenMembersOnSignup</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/TransactionMembersOnSignup">TransactionMembersOnSignup</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="federatedSignup" type="Promise<void>">
  <Expandable title="Parameters">
    <ParamField body="payload" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/FederatedSignupPayloadOptions">FederatedSignupPayloadOptions</a></span>}>
      **Properties**

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

<ParamField body="getSignupIdentifiers" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/Identifier">Identifier</a>[]</span>}>
  **`Utility Feature`**

  Returns a list of enabled identifiers (e.g. email, phone, username)
  based on the current transaction state.

  Identifiers may be required or optional depending on the connection strategy
  and configuration provided during the authentication or signup flow.

  An array of enabled [Identifier](/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/Identifier) objects, or `null` if the transaction is not initialized.

  ```ts Example theme={null}
  const identifiers = authClient.getSignupIdentifiers();
  if (identifiers) {
    identifiers.forEach(({ type, required }) => {
      console.log(`${type} is ${required ? 'required' : 'optional'}`);
    });
  }
  ```
</ParamField>

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

<ParamField body="signup" type="Promise<void>">
  <Expandable title="Parameters">
    <ParamField body="payload" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/SignupPayloadOptions">SignupPayloadOptions</a></span>}>
      **Properties**

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

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

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

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

      <ParamField body="username?" type="string" />
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="validatePassword" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/PasswordValidationResult">PasswordValidationResult</a></span>}>
  <Expandable title="Parameters">
    <ParamField body="password" type="string" />
  </Expandable>
</ParamField>

<ParamField body="validateUsername" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/UsernameValidationResult">UsernameValidationResult</a></span>}>
  <Expandable title="Parameters">
    <ParamField body="username" type="string" />
  </Expandable>
</ParamField>
