---
title: "List pipeline fields"
method: GET
path: "/pipelines/{pipelineId}/properties"
tags: ["Pipelines"]
---

# List pipeline fields

`GET /pipelines/{pipelineId}/properties`

The fields of one pipeline, in column order. A field's `source` says where its value lives:
`ENTRY` fields are stored on the entry — their `fieldId`s are the keys entry `values` accept —
while `RECORD` fields read (and write through to) an attribute of the company or contact and
arrive on entries as `recordValues`. `type`, `unit` and `calculation` say how to render a value
and what the stage footers total.

## Path parameters

- `pipelineId` string, required

## Headers

- `project` string, required

## Response `200`

Ok

- ResolvedPipelineField[]
  - `propertyId` string, required
  - `fieldId` string, required
  - `label` string, required
  - `type` 'TEXT' | 'NUMBER' | 'BOOLEAN' | 'EMAIL' | 'DATE' | 'TIME' | 'TEXTAREA' | 'RICHTEXT' | 'SELECT' | 'MULTISELECT' | 'UPLOAD' | 'PHONE', required — What a property stores. The values are the persisted DB strings and are mirrored by the dashboard's PropertyType — never rename a member, only add. Its own decorator-free module so pure services (and their harnesses) can import the enum without loading the Mongoose model.
  - `source` 'ENTRY' | 'RECORD', required — Where a field's value lives.
  - `order` number, double, required
  - `width` number, double
  - `unit` string
  - `calculation` 'sum' | 'average' | 'min' | 'max' — Footer totals the lane-stats aggregation supports. Numbers only.
  - `recordPath` string — RECORD only: dotted path on the company/session document (`value`, `customData.seats`).
  - `options` unknown[] — SELECT-style attributes carry their options for rendering and validation.
    - unknown
  - `readOnly` boolean — RECORD only: the attribute cannot be written (e.g. last-seen device type).

## Changes

- **2026-09-03** `490b7d6391f3` — 1 breaking, 13 info
  - the `items/` response's property type changed from no type to `object` for status `200`
  - added the optional property `items/calculation` to the response with the `200` status
  - added the optional property `items/options` to the response with the `200` status
  - added the optional property `items/readOnly` to the response with the `200` status
  - …10 more
- **2026-08-12** `fe2dff9fb04b` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/gleap/apis/gleap-server/changes/pipelines/:pipelineId/properties/get.md)

---

[API](https://skmtc.dev/gleap/apis/gleap-server.md) · [All operations](https://skmtc.dev/gleap/apis/gleap-server/llms.txt) · [OpenAPI document](https://skmtc.dev/gleap/apis/gleap-server/revisions/0a92e15c9803?raw)
