Skip to main content
Every domain is versioned. Calculation logic does not change silently underneath you: a domain moves through an explicit lifecycle, and calculations run against a published version.

The lifecycle

  • Draft — your working copy of the domain. Editing a domain’s variables or activities updates its draft. Drafts are not used for calculations through the API.
  • Published — the live version. Publishing promotes the draft so it becomes the version calculations run against.
  • Archived — a domain that has been retired and hidden from use.
Only published domains are returned by the API and available for calculation.

Why it matters

Versioning makes the rules behind a result explicit. When business logic changes — a revised methodology, a new product definition — you update the draft and publish a new version deliberately, rather than altering live behavior in place. Combined with provenance, this is what lets a result be tied to the specific logic that produced it.
You publish a domain from the builder after testing its activities. See Testing and publishing.