Org history
The Activity feed answers “what needs me right now?”; the History answers a different, quieter question — “what happened?”. When you come back from a week away, when a page turns out to be public that shouldn’t be, or when you want to know exactly what Erdo did on its own while you weren’t watching, you need a durable record of the consequential things that changed in your organization, each one attributed to whoever caused it. That record is the org history. It is append-only. An entry is written the moment an action happens and is never edited or removed afterwards, so the history is a faithful account of the past rather than a view of the present that rewrites itself as things change. That is the property that makes it worth trusting when something has gone wrong.What it records
History captures the actions that have consequences worth answering for later — not every read, click, or intermediate step, but the mutations an operator would want a trail of:- Approvals — when an approval is requested and when it is decided, who decided it, and what it authorized. The decision is kept even after the approval request itself ages out, because “who approved this, and when” is precisely the record you want when an approved action turns out badly.
- Publishing — when a page is made public and when it is taken back private, and who did each. Un-publishing is recorded just as publishing is.
- Permissions — when access to a resource is granted, changed, or revoked, with the access level before and after.
- Feature flags — when a capability is turned on or off for your organization, and by whom.
- Membership — when someone is added to or removed from the organization, or their role changes.
- Destructive and configuration changes — deleting a dataset, changing an integration’s configuration, and similar actions an administrator most wants a trail for.
Three ways to read it
In the app. The History view sits alongside the Activity feed and reads as a story rather than a table. Actions that belong together — an approval and the agent work it unlocked — are grouped into a single episode you can expand to see the individual events beneath, so a rebuild that re-bound four datasets reads as one thing that happened, not five disconnected rows. Every entry is a plain sentence naming the actor, what they did, and the resource, with its authorization shown as a badge. Over the API.GET /v1/activity/history returns the raw events, newest
first, for a headless caller or a dashboard built on top of Erdo. It is
read-only and org-scoped, authorized like every other Platform API call.
On the command line. erdo history is built for forensics — precise filters
over a time window, printed as scannable sentences. It is the fastest way to
answer an incident question from a terminal.
Filtering
Every surface shares the same filter set, so a question you can ask in the app you can ask on the CLI or over the API:- Time window —
--sinceand--until. The CLI accepts a relative duration like2h,3d, or1w, or an exact RFC3339 timestamp;--sincedefaults to the last 24 hours. - Actor kind —
--actor-kindnarrows to a person, an agent, the system, or a token, which is how you separate what people did from what Erdo did. - Actor —
--actorlimits to a single user’s actions. - Resource —
--resource <type:id>scopes to one thing, likepage:<id>, to reconstruct its whole story. - Verb —
--verbselects specific kinds of action, comma-separated, such asapproval.decided,page.published. - Limit —
--limitcaps how many events come back.

