Build a prospect picture
prospect_pictureOne picture of a person, a company, or both, for goal-style asks: who to contact, how to approach them, angles, what's changed, and why now. Optional audience (3–2,000 characters) orders why_now for your goal when checks are available; otherwise dated reasons remain newest first. ranking.by discloses goal or recency; ranking.why_now_judged counts judged reasons at the front of the top 20. Judged-no reasons leave only why_now; datapoints, claims and facts remain. The goal changes neither parts, budget admission nor charges. depth quick = verified contact and current intent signals; standard adds the company profile and funding and source-backed research; deep adds the person's recent LinkedIn posts and deep research. Returns an operation_id to poll with get_operation using the same data:read scope; the finished result has typed datapoints, research claims that each cite a source and a verbatim excerpt, why_now, every component's status with its reason, and the exact cost. Reserves the planner's maximum once and settles once: each completed component at its own verb's price plus a 3-credit assembly fee when data is returned. Eligible pooled research is selected during execution and costs 40% of its equivalent fresh component, so the discount may or may not apply after a dry-run quote; the quoted maximum never increases. An ambiguous provider outcome keeps the whole parent reservation held for operator reconciliation. budget_credits skips components that do not fit, in order, and refuses below the minimum. dry_run: true returns the plan and maxima as of evaluated_at with nothing reserved. idempotency_key is required; reuse it only to retry creation of the same picture.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | standard | |
| person | No | ||
| dry_run | No | ||
| audience | No | ||
| budget_credits | No | ||
| company_domain | No | Company website domain or URL, e.g. acme.com or https://www.acme.com/about | |
| idempotency_key | Yes | A payment_required refusal means services are stopped for unpaid billing; direct the owner to the billing link in the error. Campaigns stay paused after payment until restarted. Optional for search and enrichment tools: supply one so a retry returns the original result without paying again; if that call failed with provider_unavailable, rate_limited or insufficient_credits (after a top-up), a retry runs it once more after its cooldown (30 s, or a longer retry_after_seconds; insufficient_credits as soon as the balance covers it), unless its provider may already have done the work. Required for tools that create an external side effect; reuse the same value after a timeout or an approval. A stored failure comes back with details.replayed: true; with retry_after_seconds, retry the same value after that. |