Shows what's in an archive file: metadata, observation timeline, and file statistics.
json-archive info file.archive
json-archive info --output json file.archiveThe command reads the entire archive file to collect observation data, so expect memory usage proportional to file size.
json-archive info docs/demo/v1.json.archiveArchive: docs/demo/v1.json.archive
Created: Sun 15:23:40 28-Sep-2025
3 observations from Sun 15:23:40 28-Sep-2025 to Sun 15:23:40 28-Sep-2025
# Observation ID Date & Time Changes JSON Size
────────────────────────────────────────────────────────────────────────────────────────
0 (initial) Sun 15:23:40 28-Sep-2025 - 52 bytes
1 obs-c4636428-1400-44... Sun 15:23:40 28-Sep-2025 3 86 bytes
2 obs-389b4a7c-4d78-42... Sun 15:23:40 28-Sep-2025 7 94 bytes
Total archive size: 1.1 KB (0 snapshots)
To get the JSON value at a specific observation:
json-archive state --index <#> docs/demo/v1.json.archive
json-archive state --id <observation-id> docs/demo/v1.json.archive
Examples:
json-archive state --index 0 docs/demo/v1.json.archive # Get initial state
json-archive state --index 2 docs/demo/v1.json.archive # Get state after observation 2
Use this mode when you want to quickly understand what's in an archive or debug observation timelines.
Use JSON output for scripting, monitoring, or feeding data into other tools.
json-archive info --output json docs/demo/v1.json.archive{
"archive": "docs/demo/v1.json.archive",
"created": "2025-09-28T15:23:40.633960+00:00",
"file_size": 1096,
"snapshot_count": 0,
"observations": [
{
"index": 0,
"id": "initial",
"timestamp": "2025-09-28T15:23:40.633960+00:00",
"changes": 0,
"json_size": 52
},
{
"index": 1,
"id": "obs-c4636428-1400-44d7-b30f-1c080c608e3c",
"timestamp": "2025-09-28T15:23:40.634520+00:00",
"changes": 3,
"json_size": 86
}
]
}- #: Index number (0-indexed) for use with
--indexflag - Observation ID: Unique identifier for use with
--idflag - Date & Time: When the observation was recorded
- Changes: Number of fields modified (dash for initial state)
- JSON Size: Size in bytes of the reconstructed JSON at this observation
- archive: File path
- created: Archive creation timestamp (ISO-8601)
- file_size: Archive file size in bytes
- snapshot_count: Number of snapshots for seeking optimization
- observations[]: Array of observation metadata
- index: 0-based position for
--indexaccess - id: Unique ID for
--idaccess ("initial" for index 0) - timestamp: ISO-8601 timestamp
- changes: Change count (0 for initial)
- json_size: Reconstructed JSON size in bytes
- index: 0-based position for
# Archive size and observation count
json-archive info --output json data.json.archive | jq '{file_size, observation_count: (.observations | length)}'# Observations with JSON size > 1KB
json-archive info --output json data.json.archive | jq '.observations[] | select(.json_size > 1024)'- Memory usage: Loads entire archive into memory to reconstruct states
- I/O pattern: Single full file read, no seeking
- CPU usage: Minimal - mostly JSON parsing and formatting
For archives larger than available RAM, consider using json-archive state with specific observation IDs instead of getting full timeline info.
$ json-archive info nonexistent.archive
error E051: Path not found
I couldn't find the archive file: nonexistent.archive
Make sure the file path is correct and the file exists.
Check for typos in the filename.$ json-archive info corrupted.archive
error E003: Missing header
I couldn't parse the header: unexpected character at line 1
The archive file appears to be corrupted or not a valid json-archive file.$ json-archive info --output xml data.json.archive
# Silently falls back to human-readable format
# (no validation on output parameter)Command reference bug: The human-readable output currently shows json-archive get commands in the usage examples, but the correct command is json-archive state. This is a display bug - the actual functionality is unaffected.
json-archive state- Retrieve JSON data at specific observations- File Format Specification - Archive format details
- Getting Started Guide - Basic usage examples