Events are the building blocks of your timeline — time-anchored nodes representing things that happened.
| Field | Required | Description |
|---|---|---|
| Title | Yes | A concise description of what happened (e.g., "Board votes to authorize acquisition") |
| Canonical Time | No | The date and time in ISO 8601 format. If you leave it blank, the event will still be created but placed at the end of the sequence. |
| Time Precision | No | Choose the precision level that matches your certainty about the time |
| Description | No | A longer narrative description with context, details, and notes |
| Status | No | The verification state |
The event appears as a card in the timeline sequence.
What you'll see: The event card shows the title, status badge, time precision indicator, and formatted timestamp. It appears in chronological position relative to other events.
You can also create events programmatically through the API.
Every event records a canonical_time — your best estimate of when it occurred — and a time_precision — how certain you are about that time.
When you don't know the exact time, use a precision level that matches your certainty:
| Precision | Use when | Example input |
|---|---|---|
exact | You know the precise time (to the second) | 2024-01-15T09:30:00Z |
estimated_date_time | You have a specific estimate but aren't 100% sure | 2024-01-15T09:30:00Z (precision flag tells viewers this is approximate) |
exact_time_period_range | You know the event happened within a specific window | Start: 2024-01-15T09:00:00Z, End: 2024-01-15T11:00:00Z |
estimated_time_period_range | You estimate the window but aren't sure about the bounds | Start: 2024-01-15T09:00:00Z, End: 2024-01-15T11:00:00Z (precision flag tells viewers the window is approximate) |
Be honest about uncertainty. A tool that demands exact times forces you to fabricate precision. This tool forces you to record what you actually know.
Alongside precision, every event has a time_confidence score (0–100). This is a separate axis from precision — you can have an exact timestamp with low confidence (you were told it was 9:30 AM but don't trust the source), or an estimated range with high confidence (you know the event was sometime that afternoon).
You can also edit an event from its detail page at /events/[eventId] by clicking the Edit button in the header.
| Key | Action |
|---|---|
| J | Select next event |
| K | Select previous event |
| Enter | Expand/collapse selected event |
| [ | Jump to earliest event |
| ] | Jump to latest event |
| N | Create new event |
| Escape | Close any open dialog or deselect event |
Deleting an event is a soft delete. The data is archived and recoverable through the revision system. Claims attached to the event are preserved.
Each event has its own dedicated page at /events/[eventId]. This page shows the complete picture for a single event.
The event detail page shows:
What you'll see: If no location is set, the location card shows a placeholder message. If a location is set but has no coordinates, the name is shown with "(no coordinates)" and no map is rendered. To set or change the location, use the Edit Event dialog.
To remove a location, clear the location selection in the dialog and save.
Entities represent the people, organizations, and objects involved in an event.
You can also link entities from the context panel when an event is selected. The workflow is the same.
Click the X button on an entity badge. Confirm the removal in the dialog. This removes the association but does not delete the entity itself.
An event's status communicates its verification state to your team. Here is every status and when to use it:
| Status | Use When | Icon/Color Hint |
|---|---|---|
reported | A source mentions this event, but you haven't evaluated it yet | Neutral |
alleged | Someone claims this event occurred, but confirmation is pending | Caution |
confirmed | Multiple reliable sources verify this event | Green |
disputed | At least one credible source contradicts this event's details | Warning |
contradicted | Evidence shows this event did not happen or happened differently | Red |
inferred | The event is logically deduced from other confirmed events | Gray |
superseded | This event record has been replaced by a more accurate version | Muted |
retracted | Previously reported but since withdrawn by the source | Strike-through |
sealed | Restricted access — not publicly visible | Locked |
Statuses are progressive. A typical workflow:
reported→alleged→confirmed. Don't leave events atreportedindefinitely — that signals to your team that this event hasn't been vetted.
Events can be connected to each other via relationships. This captures causal chains, dependencies, and narrative connections.
Available relationship types:
supersedes — This event record replaces an older versioncaused_by — This event was caused by another eventrelated_to — General associationmerged_from — Created by merging duplicate event recordsreferences_event — References another event for contextEvent relationships are created through the API or the investigation tools. They appear when viewing an event's relationships graph.