Run timelines
Every call returns a request_id. Open it in the API Console to see what the run did: the steps it took, its reasoning, the sources it read and the answer it wrote.
01In the Console
The Usage page of the API Console, researchanything.ai/console/usage, lists your recent calls. Open one to reach its timeline at researchanything.ai/console/runs/{request_id}. Calls made from the Console's Playground appear there too.
02Endpoint
This endpoint serves the Console in your signed-in browser session. It doesn’t accept an API key, so the service that made a call can’t fetch its timeline; open it in the Console instead.
A timeline is available for a call made with one of your keys, once that call has finished. It is not available while the run is still working, for a call refused with quota_exceeded, or for a stream closed before its final event.
03Response shape
| Field | Type | Description |
|---|---|---|
| run | object | The stored run record. See below. |
| steps | array | The phases the run went through, in order. |
| reasoning | array | The run's narration, as the start, chunk and done pieces it was streamed in. |
| sources | array | The sources the run read closely, in the same shape as sources in the response envelope. |
| final_report | string or null | The answer the run wrote, or null if it did not complete. |
run
| Field | Type | Description |
|---|---|---|
| id | string | The request_id. |
| query | string | The question as sent. |
| status | string | RUNNING, COMPLETE or ERROR. A stream closed early leaves the run at RUNNING. |
| user_id | string | Your account's id. |
| error_message | string or null | What went wrong, when status is ERROR. |
| created_at | string | ISO 8601 timestamp of when the run started. |
| updated_at | string | ISO 8601 timestamp of the last change to the record. |
steps and reasoning
| Field | Type | Description |
|---|---|---|
| steps[].id | string | An id built from the step's position and phase. |
| steps[].step | string | The phase name, as in the stream's step events. |
| steps[].label | string | A description of what the phase did. |
| steps[].progress | number | Overall progress when the phase was reported, 0 to 1. |
| steps[].status | string | done when progress is 1, otherwise running. |
| reasoning[].type | string | reasoning_start, reasoning_chunk or reasoning_done. |
| reasoning[].step | string | The phase being narrated. |
| reasoning[].step_id | string | Groups the pieces of one narration. |
| reasoning[].chunk | string | Narration text. Empty on start and done pieces. |
| reasoning[].status | string | done on the closing piece, otherwise running. |
04What is kept
The run record, its sources and the final answer are stored with your account. The steps and reasoning are kept only for a limited time after the run, a few hours at most and not across server restarts. After that, the timeline still loads, with steps and reasoning as empty arrays. If you need the step-by-step record, use the stream and keep the events yourself.
05Status codes
| Code | Meaning |
|---|---|
| 200 | Timeline returned. |
| 401 | No valid session cookie. |
| 404 | {"detail": "Run not found."}: the id is unknown, belongs to another account, or its call has not finished. These cases are not told apart. |
06Example response
{
"run": {
"id": "3f1c9a2e-7b4d-4e8a-9c61-2d5f0b8e4a17",
"query": "Compare GDPR and CCPA on the right to have personal data deleted.",
"status": "COMPLETE",
"user_id": "…",
"error_message": null,
"created_at": "2026-09-28T14:22:08.114000",
"updated_at": "2026-09-28T14:23:49.602000"
},
"steps": [
{ "id": "phase-0-analyzing_query", "step": "analyzing_query", "label": "Analyzing query intent, constraints, and desired output shape", "progress": 0.03, "status": "running" },
{ "id": "phase-4-planning", "step": "planning", "label": "Designing the investigation plan with 4 search angles", "progress": 0.08, "status": "running" },
{ "id": "phase-212-complete", "step": "complete", "label": "Research complete", "progress": 1.0, "status": "done" }
],
"reasoning": [
{ "id": "reasoning-1-analyzing_query", "type": "reasoning_start", "step": "analyzing_query", "step_id": "analyzing_query", "chunk": "", "status": "running" },
{ "id": "reasoning-2-analyzing_query", "type": "reasoning_chunk", "step": "analyzing_query", "step_id": "analyzing_query", "chunk": "…", "status": "running" }
],
"sources": [ { "id": "6a0d2c4e-…", "title": "…", "url": "https://…" } ],
"final_report": "Both laws give people a right to have personal data deleted … [S1][S2]"
}