v4

latestOpenAPI 3.1.02026-08-03427198448.4 KB
prospecting

Get Deal Detail

Detail for ONE deal. Two callers, two projections:

  1. 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.
  2. ?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"}