# GetCredentialRequest.Builder

# GetCredentialRequest.Builder

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

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/credentials/GetCredentialRequest.Builder "View this page in Java")

<br />

```
class GetCredentialRequest.Builder
```

<br />

*** ** * ** ***

A builder for[GetCredentialRequest](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest).

## Summary

|                                                  ### Public constructors                                                  |
|---------------------------------------------------------------------------------------------------------------------------|
| [Builder](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder#Builder())`()` |

|                                                       ### Public functions                                                       |
|----------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [GetCredentialRequest.Builder](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder) | [addCredentialOption](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder#addCredentialOption(androidx.credentials.CredentialOption))`(credentialOption: `[CredentialOption](https://developer.android.com/reference/kotlin/androidx/credentials/CredentialOption)`)` Adds a specific type of[CredentialOption](https://developer.android.com/reference/kotlin/androidx/credentials/CredentialOption).                                                                            |
| [GetCredentialRequest](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest)                 | [build](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder#build())`()` Builds a[GetCredentialRequest](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest).                                                                                                                                                                                                                                                                                |
| [GetCredentialRequest.Builder](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder) | [setCredentialOptions](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder#setCredentialOptions(kotlin.collections.List))`(credentialOptions: `[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[CredentialOption](https://developer.android.com/reference/kotlin/androidx/credentials/CredentialOption)`>)` Sets the list of[CredentialOption](https://developer.android.com/reference/kotlin/androidx/credentials/CredentialOption). |
| [GetCredentialRequest.Builder](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder) | [setOrigin](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder#setOrigin(kotlin.String))`(origin: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Sets the[origin](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder#setOrigin(kotlin.String))of a different application if the request is being made on behalf of that application.                                                        |
| [GetCredentialRequest.Builder](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder) | [setPreferIdentityDocUi](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder#setPreferIdentityDocUi(kotlin.Boolean))`(preferIdentityDocUi: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Sets the[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)preferIdentityDocUi to true if the requester wants to prefer using a UI suited for Identity Documents like mDocs, Driving License etc.              |
| [GetCredentialRequest.Builder](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder) | [setPreferImmediatelyAvailableCredentials](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder#setPreferImmediatelyAvailableCredentials(kotlin.Boolean))`(` ` preferImmediatelyAvailableCredentials: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) `)` Sets whether you prefer the operation to return immediately when there is no available credentials instead of falling back to discovering remote options.                           |
| [GetCredentialRequest.Builder](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder) | [setPreferUiBrandingComponentName](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder#setPreferUiBrandingComponentName(android.content.ComponentName))`(component: `[ComponentName](https://developer.android.com/reference/android/content/ComponentName.html)`?)` Sets service[ComponentName](https://developer.android.com/reference/android/content/ComponentName.html)from which the Credential Selector UI will pull its label and icon to render top level branding.      |

## Public constructors

### Builder

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

```
Builder()
```  

## Public functions

### addCredentialOption

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

```
fun addCredentialOption(credentialOption: CredentialOption): GetCredentialRequest.Builder
```

Adds a specific type of[CredentialOption](https://developer.android.com/reference/kotlin/androidx/credentials/CredentialOption).  

### build

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

```
fun build(): GetCredentialRequest
```

Builds a[GetCredentialRequest](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest).  

|                                                             Throws                                                             |
|--------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.IllegalArgumentException](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html) | If[credentialOptions](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder#credentialOptions())is empty |

### setCredentialOptions

```
fun setCredentialOptions(credentialOptions: List<CredentialOption>): GetCredentialRequest.Builder
```

Sets the list of[CredentialOption](https://developer.android.com/reference/kotlin/androidx/credentials/CredentialOption).  

### setOrigin

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

```
fun setOrigin(origin: String): GetCredentialRequest.Builder
```

Sets the[origin](https://developer.android.com/reference/kotlin/androidx/credentials/GetCredentialRequest.Builder#setOrigin(kotlin.String))of a different application if the request is being made on behalf of that application. 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.  

### setPreferIdentityDocUi

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

```
fun setPreferIdentityDocUi(preferIdentityDocUi: Boolean): GetCredentialRequest.Builder
```

Sets the[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)preferIdentityDocUi to true if the requester wants to prefer using a UI suited for Identity Documents like mDocs, Driving License etc.  

### setPreferImmediatelyAvailableCredentials

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

```
fun setPreferImmediatelyAvailableCredentials(
    preferImmediatelyAvailableCredentials: Boolean
): GetCredentialRequest.Builder
```

Sets whether you prefer the operation to return immediately when there is no available credentials instead of falling back to discovering remote options. The default value is false.  

### setPreferUiBrandingComponentName

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

```
fun setPreferUiBrandingComponentName(component: ComponentName?): GetCredentialRequest.Builder
```

Sets service[ComponentName](https://developer.android.com/reference/android/content/ComponentName.html)from which the Credential Selector UI will pull its label and icon to render top level branding. Your app must have the permission android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS to specify this, or it would not take effect. Notice that this bit may not take effect for Android API level 33 and below, depending on the pre-34 provider(s) you have chosen.