POST /deals/analyze (website, document link, or
file upload), POST /founders/analyze, and
POST /research.
They differ from reads in four deliberate ways:
- Write-scoped key required — read-only keys get
403. - Separate budget — charged only when a run actually dispatches.
- Always asynchronous — every action returns
202immediately with astatus_url; analysis takes minutes. - One status vocabulary — every action reports
queued → running → succeeded | failed, and a succeeded action’sresult_urlpoints back into the read API. Results are ordinary resources, never a second schema.
Poll with backoff
Duplicate protection
A concurrent submission for the same target (the same company domain in your org; the same document link) returns409 rather than silently
starting a second run. Founder analysis is org-deduped: if your org
already assessed the founder, you get the existing analysis back with
existing: true — no new run, no spend.
Prefer push over poll? Status reads carry live progress,
every analysis resource has an SSE stream, and
webhooks fire on terminal states.