Returns three creative natural-language lead-search queries tailored to the authenticated user’s ICP. Useful for bootstrapping the lead-discovery journey.
user_context, company_context, and market_context from user_profiles, emits 8 diverse suggestions spanning title / seniority / function / location / industry / size / funding, then the server randomly samples 3 — so repeated calls surface different buyer personas.
Each suggestion is engineered to map cleanly onto the structured filter vocabulary — feed one directly into POST /api/leads/parse-filters to turn it into a structured filter object, then into POST /api/leads/search.
Responses are never cached (Cache-Control: no-store). If the user has no populated context yet, returns { "suggestions": [] } instead of a 5xx.
suggestions is empty: the user has no ICP context yet. The correct fix is onboarding, not a suggestion call — route back to GET /api/onboarding/status.Why three? The endpoint shows three at a time by design — offering 8 dilutes attention. If the human rejects all three, call again to surface a new sample.Downstream chain:POST /api/leads/parse-filters with the suggestion as query — returns structured filters.POST /api/leads/search with those filters plus the original suggestion as nl_query — kicks off the background search.Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Three NL query strings (or an empty array if the user has no context yet).
Random sample of 3 suggestions drawn from a set of 8 generated by the LLM. Server never caches — each call produces a different set.
Three short (~60 chars) natural-language lead search queries tailored to the user's ICP — e.g. "VP Sales at B2B SaaS companies in Boston". Feed one directly into POST /api/leads/parse-filters to convert into structured filters, then into POST /api/leads/search.