API-key reference
List the research portfolio
Read a bounded page of the caller's active Research threads and receive a cursor for the next page. Use it to build a durable list of investigations without requesting an unbounded collection in one response.
/ api/ v1/ research/ portfolioRequired boundary headers
x-api-key or Authorization: BearerWhat this route does
Use the portfolio route to build a caller-owned thread list. Pass the returned cursor to the next request rather than choosing an unbounded page size.
Request parameters
Query parameters
These are the query parameters the route reads; it ignores any other. An out-of-range `limit` or an over-long `cursor` returns 422.
cursorOptionalquery stringContinues a portfolio list from the position returned by the previous page. Pass it back unchanged and keep it within the 128-character limit so paging remains stable and owner-scoped.
limitOptionalquery integerControls how many thread summaries the page should return. The value can be from 1 through 100, and the server returns 20 when no limit is supplied.
Default: 20
Request and response
Example request
curl "https://vidbyte-backend.onrender.com/api/v1/research/portfolio?limit=20" \
-H "x-api-key: $VIDBYTE_API_KEY"Example response
{
"threads": [{
"encrypted_id": "3f2504e0-4f89-41d3-9a0c-0305e82c3301",
"thread_id": "rth_...",
"title": "AI tutoring evidence",
"run_count": 2,
"source_count": 12,
"artifact_count": 8,
"latest_run_id": "rrun_example",
"latest_run_status": "completed",
"created_at": "2026-08-10T10:00:00Z",
"updated_at": "2026-08-10T12:00:00Z"
}],
"next_cursor": "opaque_cursor_reference"
}Response and errors
- Returns bounded thread summaries and next_cursor.
- Deleted threads are excluded. Each row also carries the internal thread_id (rth_...), which no route accepts, and latest_run_id, which the run status route accepts; address a thread by its encrypted_id.