Skip to main content
GET
Search or list unified sessions

Authorizations

Authorization
string
header
required

MCPJam API key (sk_…). Create one at Settings → API keys. Guest sessions cannot use the API, and API keys cannot manage other API keys.

Headers

x-mcpjam-api-vocabulary
enum<string>

Which spelling of the API's resource-noun VALUES this request and its response speak. Absent means 1, byte-for-byte today's contract. 2 is the canonical vocabulary. Any other value is a 400 with code: "VALIDATION_ERROR".

Three nouns were renamed at this boundary — scenario → study, journey → goal, wave → swarm run. Operation names, routes, type names and field names each moved behind a deprecated alias, because a caller reaches them by a name it chose. A VALUE cannot: sourceType is one field with one string in it, and a client switching on "scenario" has no second name to fall back to. Under vocabulary 2 a session’s sourceType reads study, a share’s resourceType reads study, and a session’s parentRef.kind reads study or goalRun with its id fields re-keyed to match.

On the way IN, a vocabulary-2 request may name a filter or a path segment by EITHER spelling; a vocabulary-1 request may use only the legacy one, because a boundary that accepts a spelling it does not announce is one two implementations can disagree about.

A response that varies by vocabulary sends Vary: x-mcpjam-api-vocabulary. A SEPARATE header from x-mcpjam-eval-vocabulary, which is eval-scoped by name and moves on its own schedule.

Available options:
1,
2

Path Parameters

projectId
string
required

ID of the hosted project that contains the server.

Query Parameters

q
string

Search terms. Supplying this at all switches from the recency feed to relevance-ordered search; q= (blank) is an empty search, not "no filter".

scope
enum<string>
default:titles

What to search. titles (default) matches titles and opening messages; transcripts matches conversation content. Requires q; an unknown value is a 400.

Available options:
titles,
transcripts
sourceType
string

Comma-separated surfaces to include: direct, scenario, eval, swarm. Omit for all. An unknown value is a 400 rather than a silent widening.

status
enum<string>
default:active

active (default) or archived.

Available options:
active,
archived
limit
integer
default:50

Page size, 1–200. Defaults to 50.

Required range: 1 <= x <= 200
cursor
string

Opaque 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.

items
object[]
required
nextCursor
string

Pass as cursor to fetch the next page. Omitted on the last page.

scope
enum<string>

The scope the server actually honored. ABSENT from deployments predating the parameter — treat its absence as "transcript search unsupported".

Available options:
titles,
transcripts