---
title: "List the caller's segment folders"
method: GET
path: "/api/v1/ackdb/observe/segment-folders"
tags: ["ackDB"]
---

# List the caller's segment folders

`GET /api/v1/ackdb/observe/segment-folders`

## Request

- Base URL: `http://localhost:3009`
- URL: `http://localhost:3009/api/v1/ackdb/observe/segment-folders`
- Auth: HTTP bearer

Returns the caller's folders in rail order (#470). Folders are a PERSONAL filing layer — you only ever see your own — so every route here requires a signed-in user; a service/static-API-key call has no rail and gets 400. `entityKind` narrows the COUNTS only, never the folder list: a folder holding nothing in the current grain still renders empty, because hiding it would make folders vanish and reappear as you switch tabs.

## Query parameters

- `entityKind` 'company' | 'contact' | 'person'

## Response `200`

The caller's folders, ordered by `position`.

- object
  - `data` AckdbSegmentFolder[], required
    - `id` string, required
    - `name` string, required
    - `ownerEmail` string, required: The owner's lowercased email. Always the caller — folders are personal.
    - `position` integer, required: Manual rail order within the owner's set, ascending.
    - `segmentCount` integer: Segments in this folder the caller can currently SEE, narrowed to the requested `entityKind` (all grains when none is given). Not a raw row count: a segment that was unshared from the caller keeps its placement but is not counted, since the rail cannot render it. Present on the list response only.
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required

## Other responses

- `400`: No user identity on the request (service / static-API-key call), or a bad entityKind.

---

[API](https://skmtc.dev/floqer/apis/floqer-public-api.md) - [All operations](https://skmtc.dev/floqer/apis/floqer-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/floqer/apis/floqer-public-api/revisions/fce50dc07b20?raw)
