---
title: "Get Pipeline State"
method: GET
path: "/api/prospecting/pipeline"
tags: ["prospecting"]
---

# Get Pipeline State

`GET /api/prospecting/pipeline`

Get the full pipeline state for rendering the kanban view.

## Query parameters

- `light` boolean — When true, omit the heavy AI-plan fields (latest_strategy / latest_draft / evidence / goal) and return small derived previews instead, for faster first card-paint. The web kanban opts in; the full fields load lazily per deal via GET /deals/{id}. Other clients (mobile) leave this false and get the full payload unchanged.
- `defer_annotations` boolean — When true, skip the three post-fetch annotation passes (_annotate_client_contacts / _annotate_commercial_states / _annotate_latest_activities) — the ~2.5s cost that scales with deal count. Cards still receive deal_party identity in the initial light projection, but paint without client_contacts / commercial_state / latest_activity; the caller fetches those separately via POST /pipeline/annotations. stage_totals values are 0 in this mode (no commercial_state to sum) — the frontend computes $ totals client-side once annotations land. Default unchanged: any caller that doesn't opt in (incl. mobile) gets today's exact payload.
- `shape` string, nullable — Row-shape projection, opt-in and only honoured together with light=true (ignored otherwise, incl. shape=card without light=true — the default light shape is returned unchanged). shape=card additionally projects `sales_plan` down to `{next_action: {title, kind, target_stage_name}} | null` — the single freshest pending action the web board/table actually render (see _project_sales_plan_card) — instead of the full `actions[]` (every action's payload.draft.body included), which is ~60% of the light payload by weight and otherwise unread outside the deal-detail dialog (which loads the full plan separately via GET /deals/{id}, unaffected by this param). Any other value is ignored the same way.
- `user_id` string, nullable
- `org_id` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-03** `cd6453ae5786` — 1 info
  - added the new optional `query` request parameter `shape`
- **2026-08-07** `128df0559b3c` — 1 info
  - added the new optional `query` request parameter `defer_annotations`
- **2026-07-26** `13940b6986a4` — 1 warning
  - deleted the `query` request parameter `auto_advance`

[Change history](https://skmtc.dev/every/apis/every-api/changes/api/prospecting/pipeline/get.md)

---

[API](https://skmtc.dev/every/apis/every-api.md) · [All operations](https://skmtc.dev/every/apis/every-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/every/every-api/revisions/cd6453ae5786/schema)
