Check feature eligibility
Check if a customer is eligible for a specific feature and get the list of requirements
Headers
Required for POST requests. Reuse only for an identical retry.
Request Body
The unique identifier of the feature to check eligibility for
Possible values: crypto_wallet, virtual_cards, eur_account, usd_account, gbp_account, international_transfers
The customer ID to check eligibility for
Responses
| Status | Description |
|---|---|
200 |
Feature eligibility check successful |
400 |
Bad request - Invalid parameters |
401 |
Unauthorized - Missing Authorization Token or API Key |
404 |
Feature not found |
200 response
The unique identifier of the customer
Whether the customer is eligible for the feature
The unique identifier of the feature
Date and time the requirements are met
Possible values: kyc_status, provider_data, document
List of requirements that haven’t been met
Describes how to fulfill the requirement. The shape depends on type: - provider_data — { type: "provider_data", data_key: string, field_type: string, description: string }. field_type is the expected value type (e.g. "string", "number"). - kyc_status — { type: "kyc_verification", url: string, method: "POST", description: string }. url is the endpoint to call to initiate KYC (e.g. /v1/risk/start-kyc). - document — { type: "document", url: string, method: "POST", doc_type: string, description: string }. url is the document upload endpoint.
One of the following variants:
Possible values: provider_data
Key name of the field to supply in provider_data
Expected value type for the field
Possible values: kyc_verification
Endpoint to call to initiate KYC verification
Possible values: document
Document upload endpoint
Possible values: kyc_status, provider_data, document
{
"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
}
{
"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
}
400 response
Always null for error responses
Human-readable error message
{
"data": null,
"error": "feature_id is required"
}
401 response
Always null for error responses
Human-readable error message
{
"data": null,
"error": "Invalid or missing Api-Key header. Api-Key is required!"
}
404 response
Always null for error responses
Human-readable error message
{
"data": null,
"error": "Feature not found"
}
Authorization
- ApiKeyAuth