Content is not the same as session composition (abstract → parent/child linking). Composition docs live under Sessions & Composition.
When to use which API
Scope:
read:transcriptions (legacy tokens with empty scopes still pass for reads).
Session pack (canonical)
Join transcript text
elements.map(e => e.value).join(' ') always equals text when elements are present.
Speaker turns vs time windows
- Default: consecutive same-speaker fragments → one element (speaker turns).
?interval_sec=60: rechunk same-speaker blocks into ~60s windows (speaker changes still split).
Slim the payload
Prefer a summary provider
provider matches.
Event list
{ data: [ SessionContent, … ], pagination: { current_page, page_size, total_pages, total_results } }.
List packs are compact by default (transcription text without full elements). Pass expand=items (with other types) for full element arrays.
Event-level artifacts
document (event_report) and recap (quotes, topics, summary excerpts).
Podcasts and PDFs
Generation of podcasts/PDFs is not triggered by the public API — content endpoints are read-only.

