> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cdp.coinbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AsyncEndUserAccountManagementClient

> AsyncEndUserAccountManagementClient API reference.

Package: [`com.coinbase.cdp.resources.enduseraccountmanagement`](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/index)

```java theme={null}
public class AsyncEndUserAccountManagementClient extends Object
```

## Constructor Details

### `AsyncEndUserAccountManagementClient`

```java theme={null}
public AsyncEndUserAccountManagementClient(ClientOptions clientOptions)
```

**Parameters:**

`clientOptions` - [ClientOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/ClientOptions)

## Method Details

### `withRawResponse`

```java theme={null}
public AsyncWithRawResponseEndUserAccountManagementClient withRawResponse()
```

Get responses with HTTP metadata like headers

**Returns:**

[AsyncWithRawResponseEndUserAccountManagementClient](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/AsyncWithRawResponseEndUserAccountManagementClient)

### `listEndUsers`

**Overload 1**

```java theme={null}
public CompletableFuture<ListEndUsersResponse> listEndUsers()
```

Lists the end users belonging to the developer's CDP Project. By default, the response is sorted by creation date in ascending order and paginated to 20 users per page.

**Returns:**

`CompletableFuture`\<[ListEndUsersResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/ListEndUsersResponse)>

**Overload 2**

```java theme={null}
public CompletableFuture<ListEndUsersResponse> listEndUsers(ListEndUsersRequest request)
```

Lists the end users belonging to the developer's CDP Project. By default, the response is sorted by creation date in ascending order and paginated to 20 users per page.

**Parameters:**

`request` - [ListEndUsersRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/ListEndUsersRequest)

**Returns:**

`CompletableFuture`\<[ListEndUsersResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/ListEndUsersResponse)>

**Overload 3**

```java theme={null}
public CompletableFuture<ListEndUsersResponse> listEndUsers(RequestOptions requestOptions)
```

Lists the end users belonging to the developer's CDP Project. By default, the response is sorted by creation date in ascending order and paginated to 20 users per page.

**Parameters:**

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[ListEndUsersResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/ListEndUsersResponse)>

**Overload 4**

```java theme={null}
public CompletableFuture<ListEndUsersResponse> listEndUsers(ListEndUsersRequest request, RequestOptions requestOptions)
```

Lists the end users belonging to the developer's CDP Project. By default, the response is sorted by creation date in ascending order and paginated to 20 users per page.

**Parameters:**

`request` - [ListEndUsersRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/ListEndUsersRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[ListEndUsersResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/ListEndUsersResponse)>

### `createEndUser`

**Overload 1**

```java theme={null}
public CompletableFuture<EndUser> createEndUser(CreateEndUserRequest request)
```

Creates an end user. An end user is an entity that can own CDP EVM accounts, EVM smart accounts, and/or Solana accounts. 1 or more authentication methods must be associated with an end user. By default, no accounts are created unless the optional `evmAccount` and/or `solanaAccount` fields are provided. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`request` - [CreateEndUserRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/CreateEndUserRequest)

**Returns:**

`CompletableFuture`\<[EndUser](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EndUser)>

**Overload 2**

```java theme={null}
public CompletableFuture<EndUser> createEndUser(CreateEndUserRequest request, RequestOptions requestOptions)
```

Creates an end user. An end user is an entity that can own CDP EVM accounts, EVM smart accounts, and/or Solana accounts. 1 or more authentication methods must be associated with an end user. By default, no accounts are created unless the optional `evmAccount` and/or `solanaAccount` fields are provided. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`request` - [CreateEndUserRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/CreateEndUserRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[EndUser](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EndUser)>

### `validateEndUserAccessToken`

**Overload 1**

```java theme={null}
public CompletableFuture<EndUser> validateEndUserAccessToken(ValidateEndUserAccessTokenRequest request)
```

Validates the end user's access token and returns the end user's information. Returns an error if the access token is invalid or expired.

This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`request` - [ValidateEndUserAccessTokenRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/ValidateEndUserAccessTokenRequest)

**Returns:**

`CompletableFuture`\<[EndUser](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EndUser)>

**Overload 2**

```java theme={null}
public CompletableFuture<EndUser> validateEndUserAccessToken(ValidateEndUserAccessTokenRequest request, RequestOptions requestOptions)
```

Validates the end user's access token and returns the end user's information. Returns an error if the access token is invalid or expired.

This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`request` - [ValidateEndUserAccessTokenRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/ValidateEndUserAccessTokenRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[EndUser](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EndUser)>

### `getEndUser`

**Overload 1**

```java theme={null}
public CompletableFuture<EndUser> getEndUser(String userId)
```

Gets an end user by ID.

This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

**Returns:**

`CompletableFuture`\<[EndUser](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EndUser)>

**Overload 2**

```java theme={null}
public CompletableFuture<EndUser> getEndUser(String userId, GetEndUserRequest request)
```

Gets an end user by ID.

This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

`request` - [GetEndUserRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/GetEndUserRequest)

**Returns:**

`CompletableFuture`\<[EndUser](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EndUser)>

**Overload 3**

```java theme={null}
public CompletableFuture<EndUser> getEndUser(String userId, RequestOptions requestOptions)
```

Gets an end user by ID.

This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[EndUser](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EndUser)>

**Overload 4**

```java theme={null}
public CompletableFuture<EndUser> getEndUser(String userId, GetEndUserRequest request, RequestOptions requestOptions)
```

Gets an end user by ID.

This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

`request` - [GetEndUserRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/GetEndUserRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[EndUser](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EndUser)>

### `lookupEndUser`

**Overload 1**

```java theme={null}
public CompletableFuture<LookupEndUserResponse> lookupEndUser()
```

Looks up end users. Exactly one lookup type must be provided per request:

**email**: searches across all email-based authentication methods (email, Google, Apple, GitHub). May return multiple end users if the same email address appears across different auth methods.

**`oauthProvider` + `oauthSubject`**: looks up a user by their OAuth provider and subject (the `sub` claim from the provider's ID token). Both params must be provided together.

**`phoneNumber`**: looks up a user by their SMS-verified phone number.

**`siweAddress`**: looks up a user by the Ethereum address they authenticated with via Sign In With Ethereum (EIP-4361).

Returns all matching end users. If no end users match, an empty array is returned.

This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Returns:**

`CompletableFuture`\<[LookupEndUserResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/LookupEndUserResponse)>

**Overload 2**

```java theme={null}
public CompletableFuture<LookupEndUserResponse> lookupEndUser(LookupEndUserRequest request)
```

Looks up end users. Exactly one lookup type must be provided per request:

**email**: searches across all email-based authentication methods (email, Google, Apple, GitHub). May return multiple end users if the same email address appears across different auth methods.

**`oauthProvider` + `oauthSubject`**: looks up a user by their OAuth provider and subject (the `sub` claim from the provider's ID token). Both params must be provided together.

**`phoneNumber`**: looks up a user by their SMS-verified phone number.

**`siweAddress`**: looks up a user by the Ethereum address they authenticated with via Sign In With Ethereum (EIP-4361).

Returns all matching end users. If no end users match, an empty array is returned.

This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`request` - [LookupEndUserRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/LookupEndUserRequest)

**Returns:**

`CompletableFuture`\<[LookupEndUserResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/LookupEndUserResponse)>

**Overload 3**

```java theme={null}
public CompletableFuture<LookupEndUserResponse> lookupEndUser(RequestOptions requestOptions)
```

Looks up end users. Exactly one lookup type must be provided per request:

**email**: searches across all email-based authentication methods (email, Google, Apple, GitHub). May return multiple end users if the same email address appears across different auth methods.

**`oauthProvider` + `oauthSubject`**: looks up a user by their OAuth provider and subject (the `sub` claim from the provider's ID token). Both params must be provided together.

**`phoneNumber`**: looks up a user by their SMS-verified phone number.

**`siweAddress`**: looks up a user by the Ethereum address they authenticated with via Sign In With Ethereum (EIP-4361).

Returns all matching end users. If no end users match, an empty array is returned.

This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[LookupEndUserResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/LookupEndUserResponse)>

**Overload 4**

```java theme={null}
public CompletableFuture<LookupEndUserResponse> lookupEndUser(LookupEndUserRequest request, RequestOptions requestOptions)
```

Looks up end users. Exactly one lookup type must be provided per request:

**email**: searches across all email-based authentication methods (email, Google, Apple, GitHub). May return multiple end users if the same email address appears across different auth methods.

**`oauthProvider` + `oauthSubject`**: looks up a user by their OAuth provider and subject (the `sub` claim from the provider's ID token). Both params must be provided together.

**`phoneNumber`**: looks up a user by their SMS-verified phone number.

**`siweAddress`**: looks up a user by the Ethereum address they authenticated with via Sign In With Ethereum (EIP-4361).

Returns all matching end users. If no end users match, an empty array is returned.

This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`request` - [LookupEndUserRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/LookupEndUserRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[LookupEndUserResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/LookupEndUserResponse)>

### `addEndUserEvmAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<AddEndUserEvmAccountResponse> addEndUserEvmAccount(String userId, AddEndUserEvmAccountRequest request)
```

Adds a new EVM EOA account to an existing end user. End users can have up to 10 EVM accounts. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

`request` - [AddEndUserEvmAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/AddEndUserEvmAccountRequest)

**Returns:**

`CompletableFuture`\<[AddEndUserEvmAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/AddEndUserEvmAccountResponse)>

**Overload 2**

```java theme={null}
public CompletableFuture<AddEndUserEvmAccountResponse> addEndUserEvmAccount(String userId, Map<String,Object> body)
```

Adds a new EVM EOA account to an existing end user. End users can have up to 10 EVM accounts. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

`body` - `Map<String,Object>`

**Returns:**

`CompletableFuture`\<[AddEndUserEvmAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/AddEndUserEvmAccountResponse)>

**Overload 3**

```java theme={null}
public CompletableFuture<AddEndUserEvmAccountResponse> addEndUserEvmAccount(String userId, AddEndUserEvmAccountRequest request, RequestOptions requestOptions)
```

Adds a new EVM EOA account to an existing end user. End users can have up to 10 EVM accounts. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

`request` - [AddEndUserEvmAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/AddEndUserEvmAccountRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[AddEndUserEvmAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/AddEndUserEvmAccountResponse)>

**Overload 4**

```java theme={null}
public CompletableFuture<AddEndUserEvmAccountResponse> addEndUserEvmAccount(String userId, Map<String,Object> body, RequestOptions requestOptions)
```

Adds a new EVM EOA account to an existing end user. End users can have up to 10 EVM accounts. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

`body` - `Map<String,Object>`

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[AddEndUserEvmAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/AddEndUserEvmAccountResponse)>

### `addEndUserEvmSmartAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<AddEndUserEvmSmartAccountResponse> addEndUserEvmSmartAccount(String userId)
```

Creates an EVM smart account for an existing end user. The backend will create a new EVM EOA account to serve as the owner of the smart account. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

**Returns:**

`CompletableFuture`\<[AddEndUserEvmSmartAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/AddEndUserEvmSmartAccountResponse)>

**Overload 2**

```java theme={null}
public CompletableFuture<AddEndUserEvmSmartAccountResponse> addEndUserEvmSmartAccount(String userId, AddEndUserEvmSmartAccountRequest request)
```

Creates an EVM smart account for an existing end user. The backend will create a new EVM EOA account to serve as the owner of the smart account. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

`request` - [AddEndUserEvmSmartAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/AddEndUserEvmSmartAccountRequest)

**Returns:**

`CompletableFuture`\<[AddEndUserEvmSmartAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/AddEndUserEvmSmartAccountResponse)>

**Overload 3**

```java theme={null}
public CompletableFuture<AddEndUserEvmSmartAccountResponse> addEndUserEvmSmartAccount(String userId, RequestOptions requestOptions)
```

Creates an EVM smart account for an existing end user. The backend will create a new EVM EOA account to serve as the owner of the smart account. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[AddEndUserEvmSmartAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/AddEndUserEvmSmartAccountResponse)>

**Overload 4**

```java theme={null}
public CompletableFuture<AddEndUserEvmSmartAccountResponse> addEndUserEvmSmartAccount(String userId, AddEndUserEvmSmartAccountRequest request, RequestOptions requestOptions)
```

Creates an EVM smart account for an existing end user. The backend will create a new EVM EOA account to serve as the owner of the smart account. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

`request` - [AddEndUserEvmSmartAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/AddEndUserEvmSmartAccountRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[AddEndUserEvmSmartAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/AddEndUserEvmSmartAccountResponse)>

### `addEndUserSolanaAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<AddEndUserSolanaAccountResponse> addEndUserSolanaAccount(String userId, AddEndUserSolanaAccountRequest request)
```

Adds a new Solana account to an existing end user. End users can have up to 10 Solana accounts. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

`request` - [AddEndUserSolanaAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/AddEndUserSolanaAccountRequest)

**Returns:**

`CompletableFuture`\<[AddEndUserSolanaAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/AddEndUserSolanaAccountResponse)>

**Overload 2**

```java theme={null}
public CompletableFuture<AddEndUserSolanaAccountResponse> addEndUserSolanaAccount(String userId, Map<String,Object> body)
```

Adds a new Solana account to an existing end user. End users can have up to 10 Solana accounts. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

`body` - `Map<String,Object>`

**Returns:**

`CompletableFuture`\<[AddEndUserSolanaAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/AddEndUserSolanaAccountResponse)>

**Overload 3**

```java theme={null}
public CompletableFuture<AddEndUserSolanaAccountResponse> addEndUserSolanaAccount(String userId, AddEndUserSolanaAccountRequest request, RequestOptions requestOptions)
```

Adds a new Solana account to an existing end user. End users can have up to 10 Solana accounts. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

`request` - [AddEndUserSolanaAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/AddEndUserSolanaAccountRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[AddEndUserSolanaAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/AddEndUserSolanaAccountResponse)>

**Overload 4**

```java theme={null}
public CompletableFuture<AddEndUserSolanaAccountResponse> addEndUserSolanaAccount(String userId, Map<String,Object> body, RequestOptions requestOptions)
```

Adds a new Solana account to an existing end user. End users can have up to 10 Solana accounts. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.

**Parameters:**

`userId` - `String`

`body` - `Map<String,Object>`

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[AddEndUserSolanaAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/types/AddEndUserSolanaAccountResponse)>

### `importEndUser`

**Overload 1**

```java theme={null}
public CompletableFuture<EndUser> importEndUser(ImportEndUserRequest request)
```

Imports an existing private key for an end user into the developer's CDP Project. The private key must be encrypted using the CDP SDK's encryption scheme before being sent to this endpoint. This API should be called from the [CDP SDK](https://github.com/coinbase/cdp-sdk) to ensure that the associated private key is properly encrypted.

This endpoint allows developers to import existing keys for their end users, supporting both EVM and Solana key types. The end user must have at least one authentication method configured.

**Parameters:**

`request` - [ImportEndUserRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/ImportEndUserRequest)

**Returns:**

`CompletableFuture`\<[EndUser](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EndUser)>

**Overload 2**

```java theme={null}
public CompletableFuture<EndUser> importEndUser(ImportEndUserRequest request, RequestOptions requestOptions)
```

Imports an existing private key for an end user into the developer's CDP Project. The private key must be encrypted using the CDP SDK's encryption scheme before being sent to this endpoint. This API should be called from the [CDP SDK](https://github.com/coinbase/cdp-sdk) to ensure that the associated private key is properly encrypted.

This endpoint allows developers to import existing keys for their end users, supporting both EVM and Solana key types. The end user must have at least one authentication method configured.

**Parameters:**

`request` - [ImportEndUserRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccountmanagement/requests/ImportEndUserRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[EndUser](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EndUser)>
