---
title: "List features"
---
You can retrieve a list of all available features in Gravv. The endpoint behavior depends on whether you include a customer ID in your request.

## List all available features

To see all features that Gravv supports, call the [Get features](/api-reference/features/get-v1-risk-features) endpoint without the `customer_id` query parameter:

```bash title="list all available features request"
curl --request GET \
     --url https://api.gravv.xyz/v1/risk/features \
     --header 'Api-Key: <API_KEY>'
```

The response returns all available features with `activated` set to `false`:

```json title="list all available features response"
{
  "data": {
    "customer_id": null,
    "features": [
      {
        "feature_id": "virtual_cards",
        "name": "Cards",
        "description": "Issue and manage debit/credit cards",
        "activated": false
      },
      {
        "feature_id": "usd_account",
        "name": "USD Account",
        "description": "Create and manage USD currency accounts",
        "activated": false
      },
      {
        "feature_id": "eur_account",
        "name": "EUR Account",
        "description": "Create and manage EUR currency accounts",
        "activated": false
      },
      {
        "feature_id": "gbp_account",
        "name": "GBP Account",
        "description": "Create and manage GBP currency accounts",
        "activated": false
      },
      {
        "feature_id": "international_transfers",
        "name": "Payout",
        "description": "Send and receive international wire transfers",
        "activated": false
      }
    ]
  },
  "error": null
}
```

## List features for a specific customer

To see which features are activated for a specific customer, include the `customer_id` query parameter:

```bash title="list features for a customer request"
curl --request GET \
     --url 'https://api.gravv.xyz/v1/risk/features?customer_id=302dabcb-d4fd-4a00-a80b-afad70982614' \
     --header 'Api-Key: <API_KEY>'
```

The response returns all features, but features that are activated for the specified customer will have `activated` set to `true`:

```json title="list features for a customer response"
{
  "data": {
    "customer_id": "302dabcb-d4fd-4a00-a80b-afad70982614",
    "features": [
      {
        "feature_id": "virtual_cards",
        "name": "Cards",
        "description": "Issue and manage debit/credit cards",
        "activated": true
      },
      {
        "feature_id": "usd_account",
        "name": "USD Account",
        "description": "Create and manage USD currency accounts",
        "activated": true
      },
      {
        "feature_id": "eur_account",
        "name": "EUR Account",
        "description": "Create and manage EUR currency accounts",
        "activated": true
      },
      {
        "feature_id": "gbp_account",
        "name": "GBP Account",
        "description": "Create and manage GBP currency accounts",
        "activated": false
      },
      {
        "feature_id": "international_transfers",
        "name": "Payout",
        "description": "Send and receive international wire transfers",
        "activated": false
      }
    ]
  },
  "error": null
}
```

In this example, the customer has activated virtual cards, USD accounts, and EUR accounts, but hasn't yet activated GBP accounts or international transfers.

## Understanding the response

Each feature in the response contains:

| Field         | Description                                                 |
| :------------ | :---------------------------------------------------------- |
| `feature_id`  | Unique identifier for the feature                           |
| `name`        | Display name of the feature                                 |
| `description` | Brief description of what the feature enables               |
| `activated`   | Whether the feature is currently activated for the customer |

