v4
latestOpenAPI 3.1.02026-08-03427198448.4 KBprospecting
Get Deal Detail
Detail for ONE deal. Two callers, two projections:
- DEFAULT (heavy fields only) — DealDetailDialog on card open. The dialog already has the light fields from the board list row and useDealDetailMerge merges the detail fields on top (the live list row wins on every overlap), so we don't re-send the light fields — the common path stays lean. No annotate chain re-run.
- ?full=true (whole deal) — the deep-link fallback (PipelineKanbanView) for an off-board deal: a ?deal=<id> link to a dismissed / non-visible deal NOT in the board's fetched set. There is no list row to merge onto, so the dialog renders this response directly and needs the full deal.
Org/RLS-scoped exactly like the sibling routes; no review_state filter (a dismissed deal is returned). Registered AFTER the static /deals and /deals/pending GETs so {deal_id} never captures them.
get/api/prospecting/deals/{deal_id}
Path parameters
deal_idstring required
Query parameters
user_idstring nullable
org_idstring nullable
Response
Successful Response
{"stackTrail":"paths:/api/prospecting/deals/{deal_id}:get:responses:200:content:application/json:schema","oasType":"schema","type":"unknown"}