Docs
On this page
Last updated 2026-07-07 API version v1

Transcript API Reference

The transcript endpoint streams the committee's deliberation, turn by turn, via a forward-only cursor. You poll GET /api/v1/executions/{id}/transcript?after=<seq>, passing the last sequence you have consumed, and receive the new turns plus the next cursor. Every response carries a top-level disclosure object.

How do I stream the committee transcript?

Poll GET /api/v1/executions/{id}/transcript (scope pipeline:read) with an after query parameter — the last seq you have already consumed (start at 0). The response carries {entries, latest_seq}; feed latest_seq back as the next after.

bash
curl -sS "https://investeam.io/api/v1/executions/SESSION_ID/transcript?after=0" \
  -H "Authorization: Bearer hfk_your_key_here"

What is the after cursor?

after is the sequence number of the last transcript turn you have consumed. Each read returns only turns after it, and returns a new latest_seq to use next. Advance the cursor only forward — never re-read consumed entries, and never reset after to a lower number. This keeps each poll cheap and the stream in order.

A turn's kind describes what it is — a committee member taking the floor, thinking, contributing, or a synthesis beat. Treat kind, like status, as an open set: render an unrecognized kind generically rather than failing.

What does a 404 on the transcript mean?

Before the first turn exists, GET /api/v1/executions/{id}/transcript returns a 404 meaning "not started yet" — keep the same after and retry. This is the not-ready convention shared by every downstream poll (see the async model), not a hard error.

When do I stop polling the transcript?

Use drain-then-stop. Poll the execution for status alongside the transcript; once the execution reaches a terminal status (completed or failed), do one final transcript read to drain any last turns, then stop polling. Continuing to poll a terminal execution's transcript returns nothing new and only burns your rate budget.

The disclosure obligation

Every transcript response carries a disclosure object. Output is AI-generated and may contain errors and is not investment advice; you must show this not-advice + AI-generated disclosure to your end users and must not strip the response disclosure field (see https://investeam.io/api-terms).

For the full error envelope and every status code, see the Error Reference; for poll cadence and back-off, see Rate Limits & Quotas. The aggregate schema lives in the public OpenAPI spec.