Skip to content

right_person

Is this contact the right one? POST /v1/decisions/right_person. $0.003 per answer. Scope decisions:write.

Call it when you already have one candidate contact and want a go or no-go before using them: a contact from a vendor, a referral, a name from a reply. For choosing among several people at one firm, use pick_person, which costs the same for up to 50.

Field Type Required Description
candidate CandidateContact yes One candidate contact. LinkedIn-sourced data is not accepted.
candidate.name string no Full name.
candidate.title string yes Job title.
candidate.seniority enum: “owner”, “c_level”, “vp”, “director”, “manager”, “senior”, “entry”, “unknown” no Seniority, if known.
candidate.department string no Department or function.
candidate.email string (email) no Work email, if known.
candidate.firm FirmReference no A firm reference: exactly one of firm_id, domain, name (with an optional hint), lei, cik, crd or companies_house.
candidate.firm.firm_id string no A firm id from Verdict’s index.
candidate.firm.domain string no The firm’s web domain.
candidate.firm.name string no The firm’s legal or trading name.
candidate.firm.hint object no Optional country, city or domain to disambiguate the name.
candidate.firm.lei string no The firm’s Legal Entity Identifier.
candidate.firm.cik string no The firm’s SEC Central Index Key.
candidate.firm.crd string no The firm’s CRD number.
candidate.firm.companies_house string no The firm’s UK Companies House number.
candidate.title_observed_at string (date-time) no When you last saw this title, to judge staleness.
icp_id string yes The ICP profile to decide against.

Only title is required on the candidate. Add title_observed_at when you know how fresh the title is; stale titles lower p.

The common envelope. answer is right_person or not_right_person.

reason_code Meaning
title_and_seniority_match The candidate’s title and seniority both match the ICP’s buyer.
title_match_seniority_mismatch The candidate’s title matches but their seniority does not.
seniority_match_title_mismatch The candidate’s seniority matches but their title does not.
department_mismatch The candidate works in a department the ICP does not sell to.
firm_not_in_icp The candidate’s firm does not fit the ICP.
candidate_data_stale The candidate’s details look out of date (role or firm likely changed).
insufficient_candidate_data Too few candidate fields were supplied to judge with confidence.

$0.003 when an answer is returned. Errors bill nothing.

Request
curl -X POST 'https://api.askverdict.io/v1/decisions/right_person' \
-H "Authorization: Bearer $VERDICT_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
-d '{
"candidate": {
"name": "Dana Whitfield",
"title": "Chief Operating Officer",
"seniority": "c_level",
"department": "Operations",
"firm": {
"domain": "northfieldcapital.com"
}
},
"icp_id": "icp_01JC3Z4Y8R9K2M5N7P1Q3S5T7V"
}'
Response 200
{
"id": "dec_01JC3Z4Y8R9K2M5N7P1Q3S5T7V",
"version": "2026-11-01",
"question_set_version": "2026-11-01",
"model": "jev",
"calibration": {
"basis": "org",
"n_outcomes": 412,
"threshold": 0.6
},
"latency_ms": 180,
"created_at": "2026-11-07T14:03:00Z",
"decision": "right_person",
"p": 0.81,
"answer": "right_person",
"reason_code": "title_and_seniority_match",
"reason": "COO at a small adviser matches the ICP's operations buyer.",
"evidence": [
{
"source": "request",
"url": null,
"observed_at": "2026-11-07",
"pointer": "/candidate/title"
}
],
"cost": {
"decision_usd": 0.003,
"vendor_usd": 0,
"total_usd": 0.003
},
"balance_usd": 18.304
}