Corpus documentation
Public, read-only files for storage definitions, relationships and derived datasets. Published by Hesela team.
Files and entry points
- /data/index.json
- Current term slugs, count and schemaVersion (1). Start here; do not invent slugs from display names.
- /data/terms/<slug>.json
- A single term. Its human-readable page is /terms/<slug>/.
- /data/timeline.json
- Historical events and their references.
- /datasets/
- Dataset landing pages link to CSV files, metadata, methods and any separately available calculation code.
- /llms.txt and /llms-full.txt
- Agent-oriented navigation and a combined textual view. These are not API credentials or a separate license grant.
Term schema, version 1
- slug, term, aliases
- Stable record identifier, canonical display name and alternative names. Use slug for joins, not the display text.
- definition, note, status
- Definition, explanatory context and one of shipping, limited, eol, cancelled, research or unknown. Technology status is not a confidence score.
- advantages, limitations
- Arrays whose entries may be strings or objects with text and citationIds. Support both representations.
- related, supersedes, supersededBy
- Arrays of term slugs. A relationship is not a product recommendation.
- firstSeen, lastSeen
- A historical date object with date and citationIds, or null. These are not publication dates.
- citations
- Source records with id, title, url and accessed. Citation IDs are local to their term; an access date is not the source's publication date.
- provenance (optional)
- An array of short source and scope caveats. Citation markers refer to the same record-local citations as the note. The HTML page presents these under Sources & caveats.
- updated (optional)
- A YYYY-MM-DD substantive editorial update date when recorded. Absence does not mean the record has never changed.
Consumers should tolerate additional fields, preserve unknown values and distinguish missing data from zero or an empty measurement. Resolve citationIds within the record and relation slugs against the index.
Minimal examples
Python 3, standard library
import json
from urllib.request import urlopen
base = "https://hesela.dev"
with urlopen(base + "/data/index.json", timeout=20) as response:
index = json.load(response)
if index["schemaVersion"] != 1:
raise ValueError("Review the schema before importing this version")
if "cmr" not in index["slugs"]:
raise ValueError("Requested term is not in this snapshot")
with urlopen(base + "/data/terms/cmr.json", timeout=20) as response:
term = json.load(response)
print(term["term"], term["definition"])
JavaScript, Node.js 22 or later
const base = "https://hesela.dev";
async function readJson(path) {
const response = await fetch(base + path, {
signal: AbortSignal.timeout(20000)
});
if (!response.ok) throw new Error("HTTP " + response.status);
return response.json();
}
const index = await readJson("/data/index.json");
if (index.schemaVersion !== 1) throw new Error("Unsupported schema");
const term = await readJson("/data/terms/cmr.json");
console.log(term.term, term.definition);
Examples fetch the current public files. Network failures, rate limits and malformed responses must be handled by the consuming application. Cache completed downloads and avoid fetching the whole corpus on every page view.
Versions and reproducibility
schemaVersion identifies the record format, not an immutable release of every definition. The current URLs can change. A generatedAt timestamp records a data-generation event, not an editorial review.
For reproducible work, retain the files you used where their licenses permit it, together with their URLs, access time, schemaVersion and cryptographic hashes. Do not assume an earlier snapshot remains available at the live URL. Follow recorded term updates or RSS.
Dataset checks
Read the landing page and JSON metadata before interpreting a CSV. Check column meanings, units, population, time window, missing-value conventions, method, limitations and rights. A table of extracted paper results is not the paper's raw observations. Synthetic records are not measurements.
Some artifacts include generators, tests, input assumptions and hashes. Reproducing deterministic arithmetic does not independently validate a study or model. Do not automatically execute downloaded code; inspect its dependencies and resource requirements first.
Rights and corrections
Follow each artifact's explicit license; no blanket permission is implied by this endpoint documentation. See citation and reuse guidance. Send data or documentation corrections to support@hesela.com.