Skip to content

Timeline

noodle stores response history for every request under <collection>/.timeline/. One file per request, mirroring the request ID structure.

.collection/
├── .timeline/
│ ├── get-users.yml # Timeline for request "get-users"
│ └── users/
│ └── login.yml # Timeline for request "users/login"

Each timeline file is a YAML array of entries. Max 50 entries, newest first (prepended on save).

- timestamp: 1783374564216
envName: development
request:
id: users/get-users
name: Get Users
method: GET
url: $base_url/users
headers: {}
params:
- name: page
value: "1"
auth:
type: inherit
response:
status: 200
statusText: OK
headers:
content-type: application/json
body: "[...]"
timeMs: 56.27
size: 27520
Field Type Description
timestamp number Unix timestamp in ms
envName string Active environment name when sent
request object Snapshot of the request at send time
response object Response data (present on success)
error object Error data (present on failure, instead of response)
Field Type Description
status number HTTP status code
statusText string HTTP status text
headers map Response headers
body string Response body
timeMs number Response time in milliseconds
size number Response body size in bytes
Field Type Description
message string Error description

Sensitive authentication values (tokens, passwords, API keys) are masked when stored in timeline files. The snapshot stored on disk replaces credential values with ***, so timeline history is safe to commit even in public repositories.

When viewing timeline entries, $VAR references in the stored request snapshot are resolved against the active environment. This means switching environments shows you what the request would send with the current env, not the env used at the time of sending.

Agents and scripts can analyze timeline data:

  • Average response time: Sum response.timeMs / count
  • Success rate: Count response.status in 2xx range / total count
  • Recent errors: Filter entries where error is present
  • Response size trend: Compare response.size across entries
  • Environment usage: Which envName was used per entry