Skip to main content
GET
List topics

Authorizations

Authorization
string
header
required

Organization API key (modem_…).

Query Parameters

view
enum<string>

Topics source pipeline. 'v2' serves rows from the v2 ingest pipeline (v2_topics) and is only honored when the organization's v2-topics-view feature flag is on — without the flag the parameter is ignored and v1 is served. Omitted or 'v1' always serves the v1 pipeline.

Available options:
v1,
v2

Keyword search on title (max 100 chars). Wrap in double-quotes for exact token matching (e.g. "persona" matches the whole word and excludes "personal"). Ignored if embeddingSearch is provided.

Maximum string length: 100

Semantic search query using vector similarity. When provided, finds topics by meaning instead of keywords. Overrides the search parameter.

Required string length: 1 - 1000
minSimilarity
number
default:0.7

Minimum cosine similarity threshold for embeddingSearch (0-1, higher = more similar). Default 0.7.

Required range: 0 <= x <= 1
categories
string[]

Filter topics by keywords/categories (OR logic: topic must have ANY of the listed categories). Case-insensitive.

excludeCategories
string[]

Exclude topics by keywords/categories (OR logic: topic must have NONE of the listed categories). Case-insensitive.

issueTypes
enum<string>[]
Available options:
bug_report,
complaint,
discussion,
feature_request,
praise
excludeIssueTypes
enum<string>[]
Available options:
bug_report,
complaint,
discussion,
feature_request,
praise
sources
string[]

Filter topics by message sources (OR logic: topic must have messages from ANY listed source). Case-insensitive; duplicates are ignored.

Minimum array length: 1
excludeSources
string[]

Exclude topics by message sources (OR logic: topic must have NO messages from ANY listed source). Case-insensitive; duplicates are ignored.

Minimum array length: 1
dateRange
Date range · object

Filter topics by time range overlap

sortBy
enum<string>
default:date

Sort order. Use 'similarity' when using embeddingSearch for best results.

Available options:
date,
groups,
lifecycle,
priority,
similarity
sortOrder
enum<string>
default:desc
Available options:
asc,
desc
priorities
enum<string>[]

Priority level: very_low, low, default, high, or very_high

Available options:
default,
high,
low,
very_high,
very_low
excludePriorities
enum<string>[]

Priority level: very_low, low, default, high, or very_high

Available options:
default,
high,
low,
very_high,
very_low
lifecycleStates
enum<string>[]

Filter topics by lifecycle state. "unknown" also matches topics with no lifecycle assessment.

LLM-assessed lifecycle state for a topic.

Available options:
completed,
dismissed,
in_progress,
open,
unknown
companies
string[]

Filter topics by company IDs (OR logic: topic must have messages from people associated with ANY listed company).

excludeCompanies
string[]

Exclude topics by company IDs (OR logic: topic must have NO messages from people associated with ANY listed company).

persons
string[]

Filter topics by person IDs (OR logic: topic must have messages from ANY listed person).

excludePersons
string[]

Exclude topics by person IDs (OR logic: topic must have messages from NONE of the listed people).

ticketStatuses
enum<string>[]

Filter by linked ticket presence. "has_ticket" = has any linked ticket, "none" = no linked ticket.

Available options:
has_ticket,
none
excludeTicketStatuses
enum<string>[]

Exclude by linked ticket presence. "has_ticket" excludes topics with tickets, "none" excludes topics without tickets.

Available options:
has_ticket,
none
teamResponse
enum<string>[]

Filter by team response status. "not_responded" = no team member replied, "fully_responded" = team replied in all groups, "partially_responded" = team replied in some groups.

Available options:
fully_responded,
not_responded,
partially_responded
page
integer
default:1
limit
integer
default:10
Required range: x <= 100

Response

OK

data
object[]
required
limit
integer
required

The page size used for this response.

page
integer
required

The 1-based page number returned.

totalCount
integer
required

Total number of items matching the query, across all pages.

Required range: x >= 0