---
title: "List threads"
method: GET
path: "/threads"
tags: ["threads"]
---

# List threads

`GET /threads`

## Request

- Base URL: `https://productlane.com/api/v1`
- URL: `https://productlane.com/api/v1/threads`
- Auth: HTTP bearer

List all threads for your workspace. Use the 'take' and 'skip' parameters to paginate through results (default: first 100). Filter by 'state', 'issueId', or 'projectId'. Authentication is required.

## Query parameters

- `skip` integer
- `take` integer
- `state` 'NEW' | 'PROCESSED' | 'COMPLETED' | 'SNOOZED' | 'UNSNOOZED'
- `issueId` string
- `projectId` string

## Response `200`

Successful response

- object
  - `threads` object[], required
    - `id` string, required
    - `painLevel` 'UNKNOWN' | 'LOW' | 'MEDIUM' | 'HIGH', required
    - `origin` 'INAPP' | 'PORTAL' | 'SUPPORT_PORTAL' | 'API' | 'SLACK' | 'SLACK_CONNECT' | 'INTERCOM' | 'INTERCOM_ATTACHMENT' | 'ZENDESK_ATTACHMENT' | 'ZENDESK' | 'FRONT_ATTACHMENT' | 'EMAIL' | 'ZAPIER' | 'HUBSPOT' | 'PLAIN' | 'CALENDAR' | 'WIDGET' | 'AI_CHAT' | 'UPVOTE' | 'LIVE_CHAT' | 'TEAMS' | 'LINEAR' | 'CUSTOM', required
    - `title` string, nullable, required
    - `text` string, required
    - `snoozedUntil` string, date-time, nullable, required
    - `zendeskId` string, nullable, required
    - `uniqueId` string, nullable, required
    - `workspaceId` string, required
    - `productboardId` string, nullable, required
    - `state` 'NEW' | 'PROCESSED' | 'COMPLETED' | 'SNOOZED' | 'UNSNOOZED', required
    - `lastInboundMessageAt` string, date-time, nullable, required
    - `lastOutboundMessageAt` string, date-time, nullable, required
    - `lastStateChangeAt` string, date-time, nullable, required
    - `slackChannelId` string, nullable, required
    - `slackReplyId` string, nullable, required
    - `linearAttachmentId` string, nullable, required
    - `company` object, nullable, required
      - `id` string, required
      - `name` string, required
      - `workspaceId` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `isDeleted` boolean, required
      - `version` number, required
      - `linearCustomerId` string, nullable, required
      - `size` number, nullable, required
      - `revenue` number, nullable, required
      - `statusId` string, nullable, required
      - `statusName` string, nullable, required
      - `statusColor` string, nullable, required
      - `tierId` string, nullable, required
      - `tierName` string, nullable, required
      - `logoUrl` string, nullable, required
      - `domains` string[], required
      - `autoAdd` boolean, nullable, required
      - `intercomId` string, nullable, required
      - `hubspotId` string, nullable, required
      - `productboardId` string, nullable, required
      - `externalIds` string[], required
      - `slugId` string, nullable, required
    - `reporter` object, nullable, required
      - `id` string, required
      - `name` string, nullable, required
      - `email` string, nullable, required
      - `role` string, nullable, required
      - `imageUrl` string, nullable, required
      - `selectedTeamIds` string[]
      - `createdAt` string, date-time
      - `updatedAt` string, date-time
    - `contact` object, nullable, required
      - `id` string, required
      - `email` string, required
      - `name` string, nullable, required
      - `imageUrl` string, nullable, required
      - `companyId` string, nullable, required
      - `workspaceId` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `isDeleted` boolean, required
      - `version` number, required
      - `intercomId` string, nullable
      - `hubspotId` string, nullable
      - `productboardId` string, nullable
      - `zendeskId` string, nullable
    - `tags` object[], required
      - `id` string, required
      - `name` string, required
      - `color` string, required
      - `icon` string, required
      - `tagGroupId` string, nullable, required
    - `assignee` object, nullable, required
      - `id` string, required
      - `name` string, nullable, required
      - `email` string, nullable, required
      - `role` string, nullable, required
      - `imageUrl` string, nullable, required
      - `selectedTeamIds` string[]
      - `createdAt` string, date-time
      - `updatedAt` string, date-time
    - `customerNeeds` object[], required
      - `id` string, required
      - `feedbackId` string, required
      - `projectId` string, nullable, required
      - `issueId` string, nullable, required
      - `linearCustomerNeedId` string, required
      - `priority` number, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
  - `nextPage` object, nullable, required
    - `take` number, required
    - `skip` number, required
  - `hasMore` boolean, required
  - `count` number, required

## Other responses

- `default`: Error response

---

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