# Capabilities

Capabilities determine what a Moov account can do. Each capability has specific information requirements, depending on risk and compliance standards associated with different account activities. For example, there are more information requirements for a business that wants to charge other accounts than for an individual who simply wants to receive funds. When you request a capability, we list the information requirements for that capability. Once you submit the required information, we need to verify the data. Because of this, a requested capability may not immediately become active.

## Request capabilities

Request capabilities for a specific account.

To request capabilities, you'll need to specify the `/accounts/{accountID}/capabilities.write` scope when generating a token.

### Parameters

| Name           | Type      |
|----------------|-----------|
| `accountID`    | string    |
| `capabilities` | string[]  |

```javascript
const accountID = "accountID";
const capabilities = ["transfers", "send-funds.ach", "collect-funds.ach", "wallet.balance"];

moov.accounts.capabilities.request({accountID, capabilities});
```

## Get capability for account

Retrieve a specific capability that an account has requested.

To get capabilities, you'll need to specify the `/accounts/{accountID}/capabilities.read` scope when generating a token.

### Parameters

| Name           | Type   |
|----------------|--------|
| `accountID`    | string |
| `capabilityID` | string |

```javascript
const accountID = "accountID";
const capabilityID = capabilityID;
moov.accounts.capabilities.get({accountID, capabilityID});
```

## List capabilities for account

Retrieve all the capabilities an account has requested.

To get capabilities, you'll need to specify the `/accounts/{accountID}/capabilities.read` scope when generating a token.

### Parameters

| Name        | Type   |
|-------------|--------|
| `accountID` | string |

```javascript
const accountID = "accountID";
moov.accounts.capabilities.list({accountID});
```
