One run's own event log, whatever workspace it is in
The run log as the RunAgent Durable Object holds it, unredacted: internal_detail, the raw failure text, the fanout and wave-fanout measurements, role_loop_no_answer, synthesis_fallback, and every error event. THE ONE CROSS-WORKSPACE READ on this API. It answers for any run id, which is the point: the per-call diagnostics the pipeline writes are invisible to wrangler tail (a Workflow step’s console output does not reach it), the Observability query API needs a token scope this project does not hold, the AI Gateway runs with collect_logs: false, and D1 holds no event rows — so before this endpoint a diagnosis needed a key bound to the run’s own workspace, and a run in a workspace nobody held a key for could not be read at all. Owner session, or an API key with admin:read (admin implies it). Every call writes an operator.run_events.read audit row naming the run and how many events were returned, and nothing else. Read only: there is no write on this path.
Request
- Base URL: https://api.hyperresearch.ai
- URL: https://api.hyperresearch.ai/v1/admin/runs/{id}/events
- Auth: one of:
- HTTP bearer
- API key in cookie hr_session
Path parameters
Query parameters
Return events with seq strictly greater than this. Omit to start at the beginning.
Page size, 1–1000 (default 200). The Durable Object caps its own page at 1000.
Comma-separated kinds to keep, matched against both the event type and its kind — provider_rejected,error or fanout,wave-fanout or just step. Filtering happens AFTER the page is fetched, so next_after still advances past events that were filtered out and a page can come back empty with has_more true.
Response
A page of the run log
Changes
No recorded changes to this operation across all 1 revision of this API.