IonWarp logoIonWarp
Get started
IonWarp Docs
Core

Timeline

Append and read human-readable events on any object — events, provenance, and timestamp touches.

Every object has a Timeline: an ordered stream of human-readable events recording what happened and why. IonWarp writes run summaries and outcome notes here, so an object's history stays inspectable without reading a log.

Append one event:

{
  "name": "timeline_append",
  "arguments": {
    "project_id": "pr_acme",
    "collection": "learnings",
    "object_id": "learning-tests-run-under-bun",
    "event": "Recorded a repo learning from the last review.",
    "context": { "source": "external-agent" }
  }
}
curl -X POST "$DASH_BASE_URL/api/v1/data/event" \
  -H "Authorization: Bearer pat_..." \
  -d '{"project_id":"pr_acme","collection":"learnings","object_id":"learning-tests-run-under-bun","event":"Recorded a repo learning from the last review.","event_id":"evt_1"}'

timeline_query reads them back (always with a limit), and data_event / data_events_list are the lower-level pair. Arguments for all of them are in MCP Tools.

Provenance and idempotency

  • event carries the human-readable text. There is no event_text — the one field name is event.
  • event_id makes a write idempotent — reuse it to avoid duplicates.
  • context carries provenance (source, provider, model, integration, worker_run_id, prompt_id, prompt_version, badges, media) — the same provenance model as Data.
  • Touches — use context.touch.fields for standard timestamp/state touches such as last_live_data_at, last_stream_data_at, last_computed_data_at.

On this page

IonWarp logoIonWarp

Ready to build? Connect an agent and go — no credit card needed to start.

Get startedSee our plans