Hanzo
OpenapiDataset

Show where a version's rows came from, and whether that can still be…

Shows where a version's rows came from and whether that can still be demonstrated.

GET /v1/dataset/{name}/lineage

Addresshttps://api.hanzo.ai/v1/dataset/{name}/lineage
MethodGET
OperationriskDatasetLineage
AuthAuthorization: Bearer $HANZO_API_KEY

Shows where a version's rows came from and whether that can still be demonstrated.

The answer is MEASURED, not recalled: the plane asks the source the same bounded question again and compares it to the fingerprint taken when the version was built. Anything but exact agreement is reported as drift — the source is fed by a rollup that runs behind the events, so "it holds more now" is the ordinary case and it means re-running the spec would not reproduce this version. An admitted gap is actionable; an unfalsifiable claim is not.

IT IS A PRICED, BOUNDED READ, because it is the same statement a materialisation is charged for: an exact distinct-count over up to 400 days of this org's feature surface. It takes the org's ONE source-scan slot, so a tenant looping it spends one scan and not a thousand; it counts against the plane's ceiling, so the fleet's warehouse is bounded too; and it runs under this plane's own deadline rather than the caller's patience.

Request

2 fields.

FieldInTypeRequiredDescription
namepathstringyesName is the dataset, from the path.
versionqueryintegerVersion is the version to trace.

Response

StatusBodyMeaning
200riskLineageok

200 body — 14 fields.

FieldInTypeAlwaysDescription
datasetbodystringDataset is the dataset traced.
digestbodystringDigest is the version's fingerprint, repeated here so a lineage answer is self-contained.
frombodystringFrom is where the window actually read opens, RFC 3339.
holdsbodyintegerHolds is what the source holds for the same window NOW.
oversizebodyintegerOversize is how many subjects the window held that were too large to represent when this version was built.
refusalbodystringRefusal says which way it failed — the window expired, or the source now holds a different count.
reproduciblebodybooleanReproducible is true when the source still holds what this version was built from — measured by asking it again, not recalled.
retentionbodystringRetention is the source's own expiry rule as the store reports it, read at materialisation time rather than assumed.
rowsbodyintegerRows is how many rows the source held for that window at materialisation time.
sharebodyintegerShare is the fraction of subjects admitted, in thousandths.
sourcebodystringSource is the plane the rows were derived from.
subjectsbodyintegerSubjects is how many distinct subjects those rows belonged to.
tobodystringTo is where it ends: the spec's own end pulled BACK by the maturity horizon, so it is usually earlier than the spec says.
versionbodyintegerVersion is the version traced — the one asked for, or the newest published one when the request named none.

Failure carries the platform error shape — see Errors.

Examples

hanzo has no subcommand for this operation — the CLI serves only what cloud's live route table confirms. Use HTTP or an SDK.


Dataset API · All Hanzo APIs · Interactive reference

How is this guide?

On this page