What a domain contains
- Variables — the named values in the domain, each with a type, an optional default, and units. See Variables.
- Activities — the equations that define how variables relate. Depending on which values are known, an activity can solve for different variables. See Activities.
Identity and versions
A domain is identified by a stable UUID — thedomain_id you pass to the
API — and carries a title and description. The description is written for
both people and machines; clear, precise descriptions improve natural-language and agent
results. The UUID is what you use to reference a domain.
A domain also carries a stable key that TrueMath assigns when the domain is created.
Where the UUID identifies a domain within the account it lives in, the key is how TrueMath
recognizes the same domain across accounts: when you
copy a domain to another account, the
copy shares the source’s key but takes its own UUID, so copying it again later updates that
copy in place rather than creating a duplicate. The key is assigned, not chosen, and it does
not appear in a domain’s exported definition — an
import overrides the domain you import
it into, which you select; it is not matched by a key in the JSON. See
Creating a domain.
A domain moves through a version lifecycle: you edit a draft,
then publish it. Calculations always run against the published version, and only
published domains are available through the API and the
Playground.
Where domains come from
- The domain library — TrueMath ships pre-built, role-based domains across several professional verticals. See the Domain library.
- Your own domains — author a domain from scratch, or customize a library domain to match your conventions and business logic. See Authoring overview.
To list the published domains available to your account, use
GET /v1/domains.Browse the domain library
See what’s available out of the box.

