right_person
Is this contact the right one? POST /v1/decisions/right_person. $0.003 per answer. Scope decisions:write.
When to call
Section titled “When to call”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.
Inputs
Section titled “Inputs”| 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.
Outputs
Section titled “Outputs”The common envelope. answer is right_person or not_right_person.
Reason codes
Section titled “Reason codes”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.
Example
Section titled “Example”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"}'{ "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}