> ## 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.

# AsyncAccountsClient

> AsyncAccountsClient API reference.

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

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

## Constructor Details

### `AsyncAccountsClient`

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

**Parameters:**

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

## Method Details

### `withRawResponse`

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

Get responses with HTTP metadata like headers

**Returns:**

[AsyncRawAccountsClient](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/accounts/AsyncRawAccountsClient)

### `listAccounts`

**Overload 1**

```java theme={null}
public CompletableFuture<ListAccountsResponse> listAccounts()
```

List all accounts. The API will return all accounts that the API Key has Permissions to access. You can filter the results by using query parameters, which will be treated as a single conjunction (i.e. AND). Results are sorted by creation date in descending order (newest first).

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<ListAccountsResponse> listAccounts(ListAccountsRequest request)
```

List all accounts. The API will return all accounts that the API Key has Permissions to access. You can filter the results by using query parameters, which will be treated as a single conjunction (i.e. AND). Results are sorted by creation date in descending order (newest first).

**Parameters:**

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

**Returns:**

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

**Overload 3**

```java theme={null}
public CompletableFuture<ListAccountsResponse> listAccounts(RequestOptions requestOptions)
```

List all accounts. The API will return all accounts that the API Key has Permissions to access. You can filter the results by using query parameters, which will be treated as a single conjunction (i.e. AND). Results are sorted by creation date in descending order (newest first).

**Parameters:**

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

**Returns:**

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

**Overload 4**

```java theme={null}
public CompletableFuture<ListAccountsResponse> listAccounts(ListAccountsRequest request, RequestOptions requestOptions)
```

List all accounts. The API will return all accounts that the API Key has Permissions to access. You can filter the results by using query parameters, which will be treated as a single conjunction (i.e. AND). Results are sorted by creation date in descending order (newest first).

**Parameters:**

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

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

**Returns:**

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

### `createAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<Account> createAccount()
```

Create an account. Two ownership modes are supported:

**Entity-owned**: when `owner` is omitted, the account is owned by the Entity making the request. Returns an account with `owner: entity_<uuid>`.

**Customer-owned**: pass a Customer ID as `owner` (e.g. `customer_af2937b0-9846-4fe7-bfe9-ccc22d935114`). The Customer must have the `custodyCrypto`, `custodyFiat`, and `custodyStablecoin` capabilities enabled, otherwise the request is rejected with `customer_not_authorized` (HTTP 403).

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<Account> createAccount(CreateAccountRequest request)
```

Create an account. Two ownership modes are supported:

**Entity-owned**: when `owner` is omitted, the account is owned by the Entity making the request. Returns an account with `owner: entity_<uuid>`.

**Customer-owned**: pass a Customer ID as `owner` (e.g. `customer_af2937b0-9846-4fe7-bfe9-ccc22d935114`). The Customer must have the `custodyCrypto`, `custodyFiat`, and `custodyStablecoin` capabilities enabled, otherwise the request is rejected with `customer_not_authorized` (HTTP 403).

**Parameters:**

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

**Returns:**

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

**Overload 3**

```java theme={null}
public CompletableFuture<Account> createAccount(RequestOptions requestOptions)
```

Create an account. Two ownership modes are supported:

**Entity-owned**: when `owner` is omitted, the account is owned by the Entity making the request. Returns an account with `owner: entity_<uuid>`.

**Customer-owned**: pass a Customer ID as `owner` (e.g. `customer_af2937b0-9846-4fe7-bfe9-ccc22d935114`). The Customer must have the `custodyCrypto`, `custodyFiat`, and `custodyStablecoin` capabilities enabled, otherwise the request is rejected with `customer_not_authorized` (HTTP 403).

**Parameters:**

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

**Returns:**

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

**Overload 4**

```java theme={null}
public CompletableFuture<Account> createAccount(CreateAccountRequest request, RequestOptions requestOptions)
```

Create an account. Two ownership modes are supported:

**Entity-owned**: when `owner` is omitted, the account is owned by the Entity making the request. Returns an account with `owner: entity_<uuid>`.

**Customer-owned**: pass a Customer ID as `owner` (e.g. `customer_af2937b0-9846-4fe7-bfe9-ccc22d935114`). The Customer must have the `custodyCrypto`, `custodyFiat`, and `custodyStablecoin` capabilities enabled, otherwise the request is rejected with `customer_not_authorized` (HTTP 403).

**Parameters:**

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

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

**Returns:**

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

### `getAccountById`

**Overload 1**

```java theme={null}
public CompletableFuture<Account> getAccountById(AccountId accountId)
```

Get an account by its ID.

**Parameters:**

`accountId` - [AccountId](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AccountId)

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<Account> getAccountById(AccountId accountId, GetAccountByIdRequest request)
```

Get an account by its ID.

**Parameters:**

`accountId` - [AccountId](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AccountId)

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

**Returns:**

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

**Overload 3**

```java theme={null}
public CompletableFuture<Account> getAccountById(AccountId accountId, RequestOptions requestOptions)
```

Get an account by its ID.

**Parameters:**

`accountId` - [AccountId](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AccountId)

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

**Returns:**

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

**Overload 4**

```java theme={null}
public CompletableFuture<Account> getAccountById(AccountId accountId, GetAccountByIdRequest request, RequestOptions requestOptions)
```

Get an account by its ID.

**Parameters:**

`accountId` - [AccountId](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AccountId)

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

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

**Returns:**

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

### `listBalances`

**Overload 1**

```java theme={null}
public CompletableFuture<ListBalancesResponse> listBalances(AccountId accountId)
```

List the balances for an account. Results are sorted by native-fiat equivalent balance in descending order.

**Parameters:**

`accountId` - [AccountId](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AccountId)

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<ListBalancesResponse> listBalances(AccountId accountId, ListBalancesRequest request)
```

List the balances for an account. Results are sorted by native-fiat equivalent balance in descending order.

**Parameters:**

`accountId` - [AccountId](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AccountId)

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

**Returns:**

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

**Overload 3**

```java theme={null}
public CompletableFuture<ListBalancesResponse> listBalances(AccountId accountId, RequestOptions requestOptions)
```

List the balances for an account. Results are sorted by native-fiat equivalent balance in descending order.

**Parameters:**

`accountId` - [AccountId](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AccountId)

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

**Returns:**

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

**Overload 4**

```java theme={null}
public CompletableFuture<ListBalancesResponse> listBalances(AccountId accountId, ListBalancesRequest request, RequestOptions requestOptions)
```

List the balances for an account. Results are sorted by native-fiat equivalent balance in descending order.

**Parameters:**

`accountId` - [AccountId](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AccountId)

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

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

**Returns:**

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

### `getBalanceByAsset`

**Overload 1**

```java theme={null}
public CompletableFuture<Balance> getBalanceByAsset(AccountId accountId, Asset asset)
```

Get the balance for an account by asset.

**Parameters:**

`accountId` - [AccountId](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AccountId)

`asset` - [Asset](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/Asset)

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<Balance> getBalanceByAsset(AccountId accountId, Asset asset, GetBalanceByAssetRequest request)
```

Get the balance for an account by asset.

**Parameters:**

`accountId` - [AccountId](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AccountId)

`asset` - [Asset](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/Asset)

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

**Returns:**

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

**Overload 3**

```java theme={null}
public CompletableFuture<Balance> getBalanceByAsset(AccountId accountId, Asset asset, RequestOptions requestOptions)
```

Get the balance for an account by asset.

**Parameters:**

`accountId` - [AccountId](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AccountId)

`asset` - [Asset](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/Asset)

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

**Returns:**

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

**Overload 4**

```java theme={null}
public CompletableFuture<Balance> getBalanceByAsset(AccountId accountId, Asset asset, GetBalanceByAssetRequest request, RequestOptions requestOptions)
```

Get the balance for an account by asset.

**Parameters:**

`accountId` - [AccountId](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AccountId)

`asset` - [Asset](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/Asset)

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

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

**Returns:**

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