Concepts

Versions & releases

Canonical version ids, aliases, status, and what "release" means for DTPR.

Versions & releases

Version ids are canonical. Aliases are conveniences. Pin on the canonical id for reproducibility.

Canonical form

<datachain_type>@<YYYY-MM-DD>[-<suffix>]
  • datachain_type — e.g. ai (today the only shipped type).
  • YYYY-MM-DD — the release's authorship date.
  • optional -suffix-beta during authoring. Stable releases drop the suffix.

Examples: ai@2026-04-16, ai@2026-04-16-beta.

Status

Every version has a status:

StatusMeaningCache-Control
stableImmutable. Content is frozen.public, max-age=86400, immutable
betaIn-progress authoring. Content may change.no-store

Beta versions are served without caching so authoring iterations land immediately. Stable versions are aggressively cached.

Aliases

schemas/index.json ships human-friendly aliases like ai@latest that resolve to whichever canonical id is currently the "latest." Aliases are handy for exploration; they are not guaranteed stable. For production integrations, discover the canonical id via list_schema_versions and pin on it.

Release flow

beta authoring ──► beta preview ──► stable promotion
ai@2026-XX-YY-beta                 ai@2026-XX-YY
   (no-store)                        (immutable)

Once a version is promoted to stable, its content_hash stops changing. The content hash is the deterministic handle you can use to detect drift.

URL encoding

The canonical form contains an @ which should not require URL encoding, but the API accepts both the raw ai@2026-04-16-beta and the %40-encoded form:

/api/v2/schemas/ai@2026-04-16-beta/manifest
/api/v2/schemas/ai%402026-04-16-beta/manifest

Both resolve to the same version.

See also

Copyright © 2026