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.
curl -sS "https://investeam.io/api/v1/executions/SESSION_ID/transcript?after=0" \
-H "Authorization: Bearer hfk_your_key_here"
import requests
after = 0
resp = requests.get(
f"https://investeam.io/api/v1/executions/SESSION_ID/transcript?after={after}",
headers={"Authorization": "Bearer hfk_your_key_here"},
)
body = resp.json()
for entry in body["entries"]:
print(entry)
after = body["latest_seq"] # the next `after`
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.