Search or list unified sessions
The unified, cross-surface sessions feed for one project: Playground, user-testing, eval, and swarm transcripts in one list, newest first. Project-NESTED (unlike /chat-sessions) because projectId owns the scope here rather than filtering it.
Supplying q at all switches to relevance-ordered search; scope then chooses what is searched. Row-level visibility applies in every mode: a caller never receives another member’s private Playground session.
The response echoes the honored scope. A deployment predating that parameter omits the echo — clients requesting a non-default scope MUST treat its absence as “unsupported” rather than accepting the results.
Authorizations
MCPJam API key (sk_…). Create one at Settings → API keys. Guest sessions cannot use the API, and API keys cannot manage other API keys.
Path Parameters
ID of the hosted project that contains the server.
Query Parameters
Search terms. Supplying this at all switches from the recency feed to relevance-ordered search; q= (blank) is an empty search, not "no filter".
What to search. titles (default) matches titles and opening messages; transcripts matches conversation content. Requires q; an unknown value is a 400.
titles, transcripts Comma-separated surfaces to include: direct, chatbox, eval, swarm. Omit for all. An unknown value is a 400 rather than a silent widening.
active (default) or archived.
active, archived Page size, 1–200. Defaults to 50.
1 <= x <= 200Opaque cursor: echo back the previous page's nextCursor. Never construct one, and never assume it encodes a timestamp. Cursors do not cross scopes — page with the parameters you opened with.
Response
One page of sessions — newest first when listing, most relevant first when searching.
Pass as cursor to fetch the next page. Omitted on the last page.
The scope the server actually honored. ABSENT from deployments predating the parameter — treat its absence as "transcript search unsupported".
titles, transcripts 
