Check eligibility
Which kinds of business funding a company may qualify for, from its register record and what you already know. Nothing is created and no credit search runs.
POST /eligibility/check answers one question for one company: which kinds of business
funding it may qualify for today. It reads the company's register record, applies the same
rules live matching uses, and answers per kind of funding. Nothing is created, no credit
search runs, no lender sees the business, and no lender is ever named.
Use it to show a customer inside your own product that funding is within reach before they start a request, and to know which of your customers to tell.
Eligibility checks are switched on per partner. Ask
partnerships@capvant.com to enable them for your
account; until then the route answers 404. UK companies are served today.
Time in business decides most of it
Lenders first look at how long a business has traded, whether it is active, and what it does. The register tells us all three, so a check needs nothing but a company number to give a useful answer:
- Trading time comes from the incorporation date. A family whose options need more
time answers
not_yet, with the date the business gets there inavailable_from. - Status and history: a company that is not active, or has insolvency history,
answers
unlikelyfor everything. - What it does: industries no option in a family serves answer
unlikelywithindustry_not_served.
Monthly revenue sharpens the answer; it is not needed to give one. When a company
clears everything we can check, a family answers likely with confidence medium and
lists monthly_revenue in sharpened_by. Send the revenue in facts and the answer
firms up to high, or changes where a revenue minimum decides it. The only time we ask
for a fact first is when a family cannot be answered without it; those facts are listed in
missing and flagged required: true in missing_data.
In the UK we also read the company's registered charges. Outstanding secured lending,
and charges held by revenue-based or cash advance providers, come back as cautions with
a count, because some options limit how many advances a business already carries.
Make a check
curl https://sandbox.capvant.com/partner/v1/eligibility/check \
-H "X-API-Key: $CAPVANT_KEY" \
-H "Idempotency-Key: chk_cus_42_2026_09_24" \
-H "Content-Type: application/json" \
-d '{
"country": "GB",
"company": { "company_number": "01234567" },
"partner_customer_id": "cus_42"
}'const response = await fetch('https://api.capvant.com/partner/v1/eligibility/check', {
method: 'POST',
headers: {
'X-API-Key': process.env.CAPVANT_KEY!,
'Idempotency-Key': `chk_${customer.id}_${today}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
country: 'GB',
company: { company_number: customer.companyNumber },
// Optional. Leave out what you do not know.
facts: customer.monthlyRevenue ? { monthly_revenue: customer.monthlyRevenue } : undefined,
partner_customer_id: customer.id,
}),
});
const answer = await response.json();No company number to hand? Send the registered name and the registered office
postcode instead. If more than one company matches you get
status: "needs_disambiguation" and up to five candidates; call again with the number
of the right one.
Read the answer
{
"check_id": "elc_5bdc99971c2242b0b35a9313a5eaf878",
"partner_customer_id": "cus_42",
"status": "complete",
"company": {
"company_number": "01234567",
"name": "EXAMPLE BAKERY LIMITED",
"status": "active",
"entity_type": "private_limited",
"incorporated_on": "2021-03-15",
"months_trading": 66,
"industry": { "code": "sic2007:10710", "title": "Manufacture of bread; manufacture of fresh pastry goods and cakes" }
},
"summary": {
"band": "likely",
"confidence": "medium",
"headline": "Likely to qualify for 3 kinds of business funding on its trading history.",
"advisory": false
},
"families": [
{ "family": "working_capital", "label": "Working capital", "band": "likely", "breadth": "good", "confidence": "medium", "missing": [], "sharpened_by": ["monthly_revenue"], "available_from": null, "reasons": [], "lender_review": false },
{ "family": "revenue_based", "label": "Revenue-based finance", "band": "likely", "breadth": "limited", "confidence": "medium", "missing": [], "sharpened_by": ["monthly_revenue"], "available_from": null, "reasons": [], "lender_review": false },
{ "family": "invoice_finance", "label": "Invoice finance", "band": "likely", "breadth": "good", "confidence": "medium", "missing": [], "sharpened_by": ["monthly_revenue"], "available_from": null, "reasons": [], "lender_review": false },
{ "family": "asset_finance", "label": "Equipment and asset finance", "band": "unlikely", "breadth": null, "confidence": "high", "missing": [], "sharpened_by": [], "available_from": null, "reasons": ["not_offered"], "lender_review": false },
{ "family": "trade_finance", "label": "Trade finance", "band": "unlikely", "breadth": null, "confidence": "high", "missing": [], "sharpened_by": [], "available_from": null, "reasons": ["not_offered"], "lender_review": false }
],
"missing_data": [
{ "field": "monthly_revenue", "why": "Some options have a revenue minimum; revenue firms up the answer.", "required": false, "unlocks": ["working_capital", "revenue_based", "invoice_finance"] }
],
"next_best_action": { "type": "start_request", "field": null, "date": null, "detail": "Send the customer to your funding page, or start a request through the API." },
"cautions": [],
"rules_version": "er_dcd68c50908d",
"disclaimer": "Indicative only. No credit search was run, no lender has seen this business, and nothing here is an offer of finance."
}| Band | What it means | What to show |
|---|---|---|
likely | Clears everything we can check, starting with trading time | The kinds of funding, and a way to start |
possible | Nothing known fails, but a fact in missing decides it | Ask for that one fact |
not_yet | Only trading time is short | When to check again (available_from) |
unlikely | Fails on something time will not fix | Nothing, or another route |
breadth says how many options fit, in words only: limited, good or broad.
next_best_action tells you what to do next: start a request, ask the customer for one
fact, or check again on a date.
Showing it to a customer
Say what the answer says and no more. "May qualify" and "likely to qualify" are accurate;
"approved", "pre-approved" and "guaranteed" are not, because no lender has assessed the
business yet. The headline is written to be shown as it is, and the disclaimer belongs
next to it.
A good card reads: Your business already meets the basic criteria for 3 kinds of funding. Add your monthly revenue to see your options.
Limits and errors
- 60 checks a minute per partner and 120 requests a minute per key; over that you get
429withRetry-After. - The same
Idempotency-Keyand body within 24 hours replays the stored answer withIdempotent-Replayed: true; the same key with a different body is refused. - A country other than the UK answers
422with codemarket_not_open. - Every failure uses the Partner API error envelope, described in Errors.
