---
title: "Read the Ledger at a Point in Time"
description: "Select when claims were recorded and when they applied."
canonical: https://y2.dev/docs/ontology/how-to/read-at-a-point-in-time/
---

Ontology & Fusion

# Read the Ledger at a Point in Time

Select when claims were recorded and when they applied.

| Cursor      | Parameter    | Meaning                               |
| ----------- | ------------ | ------------------------------------- |
| Record time | `recordedAt` | Include records written by this time  |
| Valid time  | `validAt`    | Select claims that apply at this time |

API requests require a workspace-bound key with `ledger:read`. Set `Y2_API_KEY` to that key and `Y2_SUBJECT_ID` to your subject ID. Replace the example dates with the times you need.

## See what holds on a date

In the app, set **Valid on** in the ledger panel. Excluded designations move to **Outside the valid interval**. They remain in the ledger.

For API access:

```
curl --fail --silent --show-error --get \
  "https://api.y2.dev/api/v2/ledger/subjects/$Y2_SUBJECT_ID" \
  --header "Authorization: Bearer $Y2_API_KEY" \
  --data-urlencode "validAt=2026-05-01T00:00:00Z"
```

## See what you believed before a correction

Set `recordedAt` to a time before the correction was recorded:

```
curl --fail --silent --show-error --get \
  "https://api.y2.dev/api/v2/ledger/subjects/$Y2_SUBJECT_ID" \
  --header "Authorization: Bearer $Y2_API_KEY" \
  --data-urlencode "recordedAt=2026-03-05T12:00:05Z"
```

The result uses only records available at that time. A later correction or retraction does not affect this view.

## Combine both

This request asks what was recorded by March 20 about April 10:

```
curl --fail --silent --show-error --get \
  "https://api.y2.dev/api/v2/ledger/subjects/$Y2_SUBJECT_ID" \
  --header "Authorization: Bearer $Y2_API_KEY" \
  --data-urlencode "recordedAt=2026-03-20T00:00:00Z" \
  --data-urlencode "validAt=2026-04-10T00:00:00Z"
```

Record time selects the available history. Valid time filters the resulting current claims. It does not restore an older version of a claim.

## Export the same view

Use the same parameters with the STIX endpoint:

```
curl --fail --silent --show-error --get \
  "https://api.y2.dev/api/v2/ledger/subjects/$Y2_SUBJECT_ID/stix" \
  --header "Authorization: Bearer $Y2_API_KEY" \
  --data-urlencode "recordedAt=2026-03-20T00:00:00Z" \
  --data-urlencode "validAt=2026-04-10T00:00:00Z"
```

The HTTP API accepts ISO 8601 instants and normalizes them to UTC milliseconds. The local CLI requires UTC timestamps with milliseconds, such as `2026-03-20T00:00:00.000Z`.
