---
title: "List the organization's Workbot, Slack and Automation conversations (content-free)"
method: GET
path: "/v1/headless/sessions"
tags: ["Organizations"]
---

# List the organization's Workbot, Slack and Automation conversations (content-free)

`GET /v1/headless/sessions`

## Request

- Base URL: `https://api.openworklabs.com`
- URL: `https://api.openworklabs.com/v1/headless/sessions`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

The organization's conversations on the headless runner as Den's session index knows them, most recently updated first: the member (null when the conversation belongs to none), the kind (`workbot`, `slack` or `automation`), when it was created and last updated, its hot and total stored bytes and sealed segment count, when its running turn started (`activeTurnSince`, null when idle; a long-running value can mean a stuck turn), when it was deleted, and Den's retention class and legal hold. Never a title, a message or anything else a conversation contains. Filter by `memberId`, `kind`, `active` (`true`: a turn is running) and `deleted` (`exclude` by default, `include` or `only`). Paged: up to `limit` rows (default 50, at most 200), then pass `nextCursor` as `cursor`. Members with the View usage analytics permission only (owners and admins by default).

## Query parameters

- `memberId` string
- `kind` 'workbot' | 'slack' | 'automation'
- `active` 'true' | 'false'
- `deleted` 'exclude' | 'include' | 'only'
- `limit` integer
- `cursor` string

## Response `200`

One page of conversations.

- HeadlessSessionIndexPage
  - `sessions` HeadlessSessionIndexEntry[], required
    - `sessionId` string, required
    - `memberId` string, nullable, required
    - `kind` 'workbot' | 'slack' | 'automation', required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `hotBytes` integer, required
    - `segmentCount` integer, required
    - `totalBytes` integer, required
    - `activeTurnSince` string, date-time, nullable, required
    - `deletedAt` string, date-time, nullable, required
    - `retentionClass` string, nullable, required
    - `legalHold` boolean, required
    - `lastReportedAt` string, date-time, required
  - `nextCursor` string, nullable, required

## Other responses

- `400`: Invalid filter or cursor.
- `401`: Sign-in required.
- `403`: View usage analytics permission required.

## Changes

- **2026-10-20** `4466ec930cde`: 1 info
  - removed the non-success response with the status `404`
- **2026-10-20** `aef4d1db5034`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/openworklabs/apis/den-api/changes/v1/headless/sessions/get.md)

---

[API](https://skmtc.dev/openworklabs/apis/den-api.md) · [All operations](https://skmtc.dev/openworklabs/apis/den-api/llms.txt) · [OpenAPI document](https://skmtc.dev/openworklabs/apis/den-api/revisions/e6eb4e5ce8a3?raw)
