Skip to content

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 endpoint to verify if a customer can activate a specific feature. Include the feature_id and customer_id as query parameters:

curl --request POST \
     --url https://api.gravv.xyz/v1/risk/features/eligibility \
     --header 'Api-Key: <Api Key>' \
     --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 with all requirements marked as met: true:

{
  "data": {
    "eligible": true,
    "feature_id": "virtual_cards",
    "requirements": [
      {
        "type": "kyc_status",
        "value": "completed",
        "optional": false,
        "met": true
      },
      {
        "type": "provider_data",
        "value": "annual_remuneration",
        "optional": false,
        "met": true
      },
      {
        "type": "provider_data",
        "value": "estimated_monthly_limit",
        "optional": false,
        "met": true
      },
      {
        "type": "provider_data",
        "value": "ip_address",
        "optional": false,
        "met": true
      }
    ],
    "missing_requirements": []
  },
  "error": null
}

If the customer doesn't meet all requirements, the response shows eligible: false and lists the missing requirements:

{
  "data": {
    "eligible": false,
    "feature_id": "virtual_cards",
    "requirements": [
      {
        "type": "kyc_status",
        "value": "completed",
        "optional": false,
        "met": true
      },
      {
        "type": "provider_data",
        "value": "annual_remuneration",
        "optional": false,
        "met": false
      },
      {
        "type": "provider_data",
        "value": "estimated_monthly_limit",
        "optional": false,
        "met": false
      },
      {
        "type": "provider_data",
        "value": "ip_address",
        "optional": false,
        "met": false
      }
    ],
    "missing_requirements": [
      "annual_remuneration",
      "estimated_monthly_limit",
      "ip_address"
    ]
  },
  "error": null
}

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