---
title: "List features"
description: "Read the feature catalogue, and see whether the card feature is activated for a customer."
---
[Get features](/api-reference/features/get-v1-risk-features) returns the catalogue of six features. These routes serve **cards only**. The one feature you activate here is `virtual_cards`. Open accounts, wallets and payouts with their own APIs, not through this catalogue.

**A money example.** Before you issue Ada a card with a 300 USD daily limit, you check that `virtual_cards` is `activated` for her. It reads `false`, so you [activate it](/platform/cards/card-kyc/activate-feature) first.

## The catalogue

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

Without `customer_id`, every feature has `activated` `false` and there is no `customer_id` key. The order is not fixed, so look features up by `feature_id`.

## One customer

```bash title="list features for a customer"
curl --request GET \
     --url 'https://api.gravv.xyz/v1/risk/features?customer_id=5b0f6c1e-2a8f-4c39-9d0e-0c7e3b9a1f42' \
     --header 'Api-Key: <API_KEY>'
```

```json title="answer"
{
  "data": {
    "customer_id": "5b0f6c1e-2a8f-4c39-9d0e-0c7e3b9a1f42",
    "features": [
      {
        "feature_id": "virtual_cards",
        "name": "Cards",
        "description": "Issue and manage debit/credit cards",
        "activated": true
      },
      {
        "feature_id": "crypto_wallet",
        "name": "Wallet",
        "description": "Create and manage wallets",
        "activated": false
      }
    ]
  },
  "error": null
}
```

The response lists all six features. This example shows two.

| Field | Meaning |
| :-- | :-- |
| `feature_id` | `virtual_cards`, `crypto_wallet`, `eur_account`, `international_transfers`, `usd_account` or `gbp_account` |
| `name`, `description` | Display text |
| `activated` | `true` when an activation for this customer is active |

For `virtual_cards`, `activated` `true` means the card application was submitted. **It does not mean a card was issued.** Find the card with `GET /v1/cards?customer_id=…` ([Retrieve cards](/platform/cards/retrieve-cards)).

For an unknown customer, the API returns 400 `CUSTOMER_NOT_FOUND`.
