> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-feat-acul-js-sdk-1-7-0-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# LoginPayloadOptions

Options for performing login operations

```ts Example theme={null}
export interface LoginOptions {
  /** The user's identifier, under its original spelling. Optional if `identifier` is supplied. */
  username?: string;
  /** The identifier to login with. Optional if `username` is supplied — `identifier` wins if both are given. */
  identifier?: string;
  /** What `identifier` (or `username`) holds — typically from `screen.data.activeIdentifierType`. */
  identifierType?: IdentifierType;
  /** The password for authentication */
  password: string;
  /** ISO 3166-1 alpha-2 country for a phone identifier, from a `code` in `countryCodes.available`. */
  phoneCountryCode?: string;
  /** Optional captcha value if required */
  captcha?: string;
  /** Any additional custom options */
  [key: string]: string | number | boolean | undefined;
}
```

## Indexable

\[`key`: `string`]: `string` | `number` | `boolean` | `undefined`

Any additional custom options

## Properties

<ParamField body="captcha?" type="string">
  Optional captcha value if required
</ParamField>

<ParamField body="identifier?" type="string">
  The identifier to login with — email, username, or phone, depending on `identifierType`. Optional if `username` is supplied; if both are given, `identifier` wins.
</ParamField>

<ParamField body="identifierType?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/type-aliases/IdentifierType">IdentifierType</a></span>}>
  What `identifier` (or `username`) holds. Typically read from `screen.data.activeIdentifierType`. Omit to submit the identifier untyped.
</ParamField>

<ParamField body="password" type="string">
  The password for authentication
</ParamField>

<ParamField body="phoneCountryCode?" type="string">
  The ISO 3166-1 alpha-2 country for a phone identifier, from a `code` in `countryCodes.available`. Required when `identifierType` is `phone`. Pass the national number — the dial code is prefixed server-side.
</ParamField>

<ParamField body="username?" type="string">
  The user's identifier, under its original spelling. Optional if `identifier` is supplied — required otherwise.
</ParamField>
