POST  /api/v1/investigate

A full investigation of one picked entity: deterministic registry and domain checks, then agent-driven exploration of additional sources within a step allowance. Typical latency 10–40 seconds.

Request body

Address the entity one of three ways — whichever your system already holds:

// 1 — our id, from a prior search { "entityId": "denue-4325279" } // 2 — official registration number: skip search entirely { "country": "BR", "registrationNumber": "07918048" } // 3 — registry + ref, round-tripped from any search result { "registry": "INEGI DENUE", "registryRef": "4325279" }
FIELDDESCRIPTION
entityId / country+registrationNumber / registry+registryRefThe entity address — exactly one form. The response echoes resolvedBy.
contextOptional. What you already know: {website, email, address, note}. The investigation verifies against it — it is treated as claims, not truth.
focusOptional. Areas to prioritize, e.g. ["tax_status"].
goalsOptional. Why you are checking: any of compliance, risk, partnership, employer, contractor. Defaults to ["compliance"]. Same goals as the app; decides which bonus balance, if any, the investigation draws from before your monthly allowance.
budgetOptional. Exploration steps to allow; capped by your plan.

Response

FIELDDESCRIPTION
summaryPlain-language conclusion, written from the consulted sources.
confidencehigh | medium | low — about coverage and corroboration.
riskScore0–100. Computed deterministically from the findings — same findings, same score.
complianceScore0–100. Computed from failed/review checks the same way.
coveragefull — checks + exploration ran · baseline_only — the exploration layer was unavailable; findings contain only the deterministic checks.
findings[]The investigation. Each: section · finding (plain language) · risk LOW/MED/HIGH · compliance PASS/REVIEW/FAIL · sources[] · input (exactly what was queried) · origin baseline/exploration.
notChecked[]Sources not consulted, each with the investigator's stated reason.

Example

curl -X POST -H "x-api-key: vk_live_…" -H "Content-Type: application/json" \ -d '{"entityId":"denue-7785482","context":{"website":"grupobimbo.com"}}' \ https://app.verety.ai/api/v1/investigate { "entityId": "denue-7785482", "country": "MX", "entity": { "name": "GRUPO BIMBO" }, "summary": "Small establishment (0–5 employees) in Arriaga, Chiapas…", "confidence": "high", "riskScore": 20, "complianceScore": 70, "coverage": "full", "findings": [ { "section": "Business domain", "risk": "MED", "compliance": "REVIEW", "sources": ["ENTITY CONTACT INFO ON FILE"], "input": null, "finding": "No business email domain on file for this establishment.", "origin": "baseline" }, { "section": "Website content", "risk": "LOW", "compliance": "PASS", "sources": ["LIVE WEBSITE FETCH"], "input": "grupobimbo.com", "finding": "grupobimbo.com is the official site of the global Bimbo corporation…", "origin": "exploration" } ], "notChecked": [ { "capability": "lookup_wayback", "reason": "Domain age already confirmed by WHOIS — archive history would not change the conclusion." } ] }
Nothing is fabricated. Findings come only from consulted sources. When a source is down you get fewer findings and an honest coverage flag — never invented data.
ON THIS PAGE