completed or partial run when you need the text behind a finding. These reads do not start research, call a provider, or write a credit ledger row.
List metadata
GET /v1/research/{run_id}/responses is metadata. It does not include the text.
model_id, display_name, laboratory, status (success, error, or timeout), input_tokens, output_tokens, text_available, and text_characters. limit is 1–50. Pass next_cursor back as cursor.
Read one model
GET /v1/research/{run_id}/responses/text returns one stored model, and only a window of its text. Put the stored id in the query string, including ids that contain /.
model_id is the id stored on the run. Take it from the list or from report.analysis.minority_insights[].supporting_model_ids. A retired model keeps the id stored on the run. The replacement id does not.
text starts at offset and contains at most max_characters characters. The default window is 8000. The maximum is 32000. offset is 0–1000000. text_characters is the full stored length. When truncated is true, add returned_characters to offset and request the next window. A model that stored no text returns text: null.
When the text is not available
To save every response in one file, use the full-panel export. Do not walk the single-model window when you need the whole panel, and do not load the whole panel into an agent’s context.