Bi-temporal triple-shaped assertions — list + timeline.
Facts
Facts are triple-shaped, fully bi-temporal assertions: (subject, predicate, object) with valid_from / valid_to / recorded_from / recorded_to. Newer facts about the same (subject, predicate) supersede older ones.
GET /v1/facts
Capability: scope.read.local + traversal as appropriate.
GET /v1/facts
?scope=org:acme/dept:eng/user:alice
&view=local
&subject=ent_acme_corp
&predicate=deal_stage
&as_of=2026-04-15T00:00:00Z
&min_confidence=0.6
&include_superseded=false
&limit=50
&cursor=...
| Query param | Notes |
|---|---|
| subject | Filter by entity/actor ID |
| predicate | Filter by predicate name |
| object | Match object value (literal or entity ID) |
| as_of | Returns facts where recorded_* ≤ as_of AND valid_from ≤ as_of < valid_to |
| min_confidence | Default 0.0 |
| include_superseded | Default false. When true, returns historical versions whose recorded_to ≤ as_of too. |
as_ofandinclude_supersededapply conjunctively —as_ofclips both axes.
Response
{
"items": [
{
"fact_id": "fact_01HX...",
"scope": "org:acme/dept:eng",
"subject": { "id": "ent_acme_corp", "name": "Acme Corp" },
"predicate": "deal_stage",
"object": { "datatype": "string", "value": "signed" },
"confidence": 0.93,
"valid_from": "2026-05-13T00:00:00Z",
"valid_to": null,
"recorded_from": "2026-05-13T15:42:00Z",
"recorded_to": null,
"supports": ["evt_01HX...", "evt_01HY..."],
"extracted_at": "2026-05-13T15:42:09Z"
}
],
"next_cursor": null,
"has_more": false
}
GET /v1/facts/timeline
Returns the supersession chain for a (subject, predicate) pair — every historical value with its valid_from / valid_to window.
GET /v1/facts/timeline
?scope=org:acme/dept:eng
&subject=ent_acme_corp
&predicate=deal_stage
Response
{
"subject": { "id": "ent_acme_corp", "name": "Acme Corp" },
"predicate": "deal_stage",
"timeline": [
{ "fact_id": "fact_01HV...", "value": "poc", "valid_from": "...", "valid_to": "2026-04-10T..." },
{ "fact_id": "fact_01HW...", "value": "close", "valid_from": "2026-04-10T...", "valid_to": "2026-05-13T..." },
{ "fact_id": "fact_01HX...", "value": "signed", "valid_from": "2026-05-13T...", "valid_to": null }
]
}