---
title: "Check feature eligibility"
---
Check whether a customer meets all requirements before you activate a feature. The eligibility check shows which requirements the customer meets and which ones remain unmet.

## Check eligibility for a feature

Use the [Check feature eligibility](/api-reference/features/post-v1-risk-features-eligibility) endpoint to verify if a customer can activate a specific feature. Include the `feature_id` and `customer_id` as query parameters:

```bash title="check feature eligibility request"
curl --request POST \
     --url https://api.gravv.xyz/v1/risk/features/eligibility \
     --header 'Api-Key: <API_KEY>' \
     --header 'Idempotency-Key: feature-eligibility-<UUID>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "feature_id": "virtual_cards"
}
'
```

## Understanding the response

If the customer meets all requirements, the response shows `eligible: true` and lists every requirement under `requirements_fulfilled`, with an empty `requirements_pending`:

```json title="customer is eligible response"
{
  "data": {
    "customer_id": "5793f1ea-91f0-4892-9705-d37e0592dd3a",
    "eligible": true,
    "feature_id": "virtual_cards",
    "requirements_fulfilled": [
      {
        "type": "kyc_status",
        "value": "completed",
        "fulfilled_at": "2025-12-16T10:52:29Z"
      },
      {
        "type": "provider_data",
        "value": "annual_remuneration",
        "fulfilled_at": "2025-12-16T10:52:29Z"
      },
      {
        "type": "provider_data",
        "value": "estimated_monthly_limit",
        "fulfilled_at": "2025-12-16T10:52:29Z"
      },
      {
        "type": "provider_data",
        "value": "ip_address",
        "fulfilled_at": "2025-12-16T10:52:29Z"
      }
    ],
    "requirements_pending": []
  },
  "error": null
}
```

If the customer doesn't meet all requirements, the response shows `eligible: false` and lists the unmet requirements under `requirements_pending`:

```json title="customer is not eligible response"
{
  "data": {
    "customer_id": "5793f1ea-91f0-4892-9705-d37e0592dd3a",
    "eligible": false,
    "feature_id": "virtual_cards",
    "requirements_fulfilled": [
      {
        "type": "kyc_status",
        "value": "completed",
        "fulfilled_at": "2025-12-16T10:52:29Z"
      }
    ],
    "requirements_pending": [
      {
        "type": "provider_data",
        "required": "annual_remuneration",
        "action": {
          "type": "provider_data",
          "data_key": "annual_remuneration"
        }
      },
      {
        "type": "provider_data",
        "required": "estimated_monthly_limit",
        "action": {
          "type": "provider_data",
          "data_key": "estimated_monthly_limit"
        }
      },
      {
        "type": "provider_data",
        "required": "ip_address",
        "action": {
          "type": "provider_data",
          "data_key": "ip_address"
        }
      }
    ]
  },
  "error": null
}
```

In this example, the customer has completed KYC but hasn't provided the required provider data yet.

