GET /v1/research/{run_id}/responses/export returns every stored model response in one request. The body is UTF-8 JSONL: one JSON object per line, not a JSON array.
model_id, display_name, laboratory, status, input_tokens, output_tokens, and text. text is the complete stored response, or null when that model stored none. The single-model 32000-character window does not apply. Error and timeout rows are included. A retired model keeps the id saved on the run.
The response sets Content-Disposition: attachment; filename="seneca-{run_id}-responses.jsonl".
Authorization and readiness match the single-model read, and they are decided before the stream starts.
The download does not start research, call a provider, or reserve credits.