# CreatePasswordRequest

Artifact: [androidx.credentials:credentials](https://developer.android.com/jetpack/androidx/releases/credentials) [View Source](https://cs.android.com/search?q=file:androidx/credentials/CreatePasswordRequest.kt+class:androidx.credentials.CreatePasswordRequest) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/credentials#1.2.0)

*** ** * ** ***

<br />

```
class CreatePasswordRequest : CreateCredentialRequest
```

<br />

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.credentials.CreateCredentialRequest](https://developer.android.com/reference/kotlin/androidx/credentials/CreateCredentialRequest) ||
|   | ↳ | [androidx.credentials.CreatePasswordRequest](https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest) |

*** ** * ** ***

A request to save the user password credential with their password provider.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest#CreatePasswordRequest(kotlin.String,kotlin.String,kotlin.String,kotlin.Boolean,kotlin.Boolean)( id: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, password: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, origin: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?, preferImmediatelyAvailableCredentials: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, isAutoSelectAllowed: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` Constructs a `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest` to save the user password credential with their password provider. |
| `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest#CreatePasswordRequest(kotlin.String,kotlin.String,kotlin.String,kotlin.String,kotlin.Boolean,kotlin.Boolean)( id: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, password: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, origin: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?, preferDefaultProvider: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?, preferImmediatelyAvailableCredentials: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, isAutoSelectAllowed: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` Constructs a `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest` to save the user password credential with their password provider. |

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest#id()` the user id associated with the password |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest#password()` the password |

### Inherited properties

From [androidx.credentials.CreateCredentialRequest](https://developer.android.com/reference/kotlin/androidx/credentials/CreateCredentialRequest) `https://developer.android.com/reference/android/os/Bundle.html` `https://developer.android.com/reference/kotlin/androidx/credentials/CreateCredentialRequest#candidateQueryData()`

the partial request data in the `https://developer.android.com/reference/android/os/Bundle.html` format that will be sent to the provider during the initial candidate query stage, which should not contain sensitive user credential information (note: bundle keys in the form of `androidx.credentials.*` are reserved for internal library use)
`https://developer.android.com/reference/android/os/Bundle.html` `https://developer.android.com/reference/kotlin/androidx/credentials/CreateCredentialRequest#credentialData()`

the request data in the `https://developer.android.com/reference/android/os/Bundle.html` format
`https://developer.android.com/reference/kotlin/androidx/credentials/CreateCredentialRequest.DisplayInfo` `https://developer.android.com/reference/kotlin/androidx/credentials/CreateCredentialRequest#displayInfo()`

the information to be displayed on the screen
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/credentials/CreateCredentialRequest#isAutoSelectAllowed()`

whether a create option will be automatically chosen if it is the only one available to the user
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/credentials/CreateCredentialRequest#isSystemProviderRequired()`

true if must only be fulfilled by a system provider and false otherwise
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` `https://developer.android.com/reference/kotlin/androidx/credentials/CreateCredentialRequest#origin()`

the origin of a different application if the request is being made on behalf of that application (Note: for API level \>=34, setting a non-null value for this parameter will throw a SecurityException if android.permission.CREDENTIAL_MANAGER_SET_ORIGIN is not present)
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/credentials/CreateCredentialRequest#preferImmediatelyAvailableCredentials()`

true if you prefer the operation to return immediately when there is no available passkey registration offering instead of falling back to discovering remote options, and false (preferred by default) otherwise
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` `https://developer.android.com/reference/kotlin/androidx/credentials/CreateCredentialRequest#type()`

the credential type determined by the credential-type-specific subclass (e.g. the type for `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest` is `https://developer.android.com/reference/kotlin/androidx/credentials/PasswordCredential#TYPE_PASSWORD_CREDENTIAL()` and for `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePublicKeyCredentialRequest` is `https://developer.android.com/reference/kotlin/androidx/credentials/PublicKeyCredential#TYPE_PUBLIC_KEY_CREDENTIAL()`)

## Public constructors

### CreatePasswordRequest

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/credentials#1.2.0)

```
CreatePasswordRequest(
    id: String,
    password: String,
    origin: String? = null,
    preferImmediatelyAvailableCredentials: Boolean = false,
    isAutoSelectAllowed: Boolean = false
)
```

Constructs a `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest` to save the user password credential with their password provider.

| Parameters |
|---|---|
| `id: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | the user id associated with the password |
| `password: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | the password |
| `origin: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html? = null` | the origin of a different application if the request is being made on behalf of that application (Note: for API level \>=34, setting a non-null value for this parameter will throw a SecurityException if android.permission.CREDENTIAL_MANAGER_SET_ORIGIN is not present) |
| `preferImmediatelyAvailableCredentials: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = false` | true if you prefer the operation to return immediately when there is no available password saving option instead of falling back to discovering remote options, and false (default) otherwise |
| `isAutoSelectAllowed: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = false` | whether a create option will be automatically chosen if it is the only one available to the user (note that there is a chance that the credential provider does not support auto-select even if you turn this bit on); not recommended to be true for password request type to ensure that the user will always get a confirmation dialog even if the password saving provider does not offer any UI |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-null-pointer-exception/index.html` | If `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest#(kotlin.String,kotlin.String,kotlin.String,kotlin.Boolean,kotlin.Boolean)` is null |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-null-pointer-exception/index.html` | If `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest#(kotlin.String,kotlin.String,kotlin.String,kotlin.Boolean,kotlin.Boolean)` is null |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | If `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest#(kotlin.String,kotlin.String,kotlin.String,kotlin.Boolean,kotlin.Boolean)` is empty |
| `https://developer.android.com/reference/java/lang/SecurityException.html` | if `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest#(kotlin.String,kotlin.String,kotlin.String,kotlin.Boolean,kotlin.Boolean)` is set but android.permission.CREDENTIAL_MANAGER_SET_ORIGIN is not present |

### CreatePasswordRequest

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/credentials#1.2.0)

```
CreatePasswordRequest(
    id: String,
    password: String,
    origin: String?,
    preferDefaultProvider: String?,
    preferImmediatelyAvailableCredentials: Boolean,
    isAutoSelectAllowed: Boolean
)
```

Constructs a `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest` to save the user password credential with their password provider.

| Parameters |
|---|---|
| `id: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | the user id associated with the password |
| `password: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | the password |
| `origin: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | the origin of a different application if the request is being made on behalf of that application (Note: for API level \>=34, setting a non-null value for this parameter will throw a SecurityException if android.permission.CREDENTIAL_MANAGER_SET_ORIGIN is not present) |
| `preferDefaultProvider: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | the preferred default provider component name to prioritize in the selection UI flows (Note: your app must have the permission android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS to specify this, or it would not take effect; also this bit may not take effect for Android API level 33 and below, depending on the pre-34 provider(s) you have chosen) |
| `preferImmediatelyAvailableCredentials: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | true if you prefer the operation to return immediately when there is no available passkey registration offering instead of falling back to discovering remote options, and false (preferably) otherwise |
| `isAutoSelectAllowed: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | whether a create option will be automatically chosen if it is the only one available to the user (note that there is a chance that the credential provider does not support auto-select even if you turn this bit on); not recommended to be true for password request type to ensure that the user will always get a confirmation dialog even if the password saving provider does not offer any UI |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-null-pointer-exception/index.html` | If `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest#(kotlin.String,kotlin.String,kotlin.String,kotlin.String,kotlin.Boolean,kotlin.Boolean)` is null |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-null-pointer-exception/index.html` | If `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest#(kotlin.String,kotlin.String,kotlin.String,kotlin.String,kotlin.Boolean,kotlin.Boolean)` is null |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | If `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest#(kotlin.String,kotlin.String,kotlin.String,kotlin.String,kotlin.Boolean,kotlin.Boolean)` is empty |
| `https://developer.android.com/reference/java/lang/SecurityException.html` | if `https://developer.android.com/reference/kotlin/androidx/credentials/CreatePasswordRequest#(kotlin.String,kotlin.String,kotlin.String,kotlin.String,kotlin.Boolean,kotlin.Boolean)` is set but android.permission.CREDENTIAL_MANAGER_SET_ORIGIN is not present |

## Public properties

### id

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/credentials#1.2.0)

```
val id: String
```

the user id associated with the password

### password

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/credentials#1.2.0)

```
val password: String
```

the password