The API is the self-describing engine: everything below — docs, auth,
discovery metadata, and the agent skills — lives on this same origin. This page is plain
HTML with every link inline, readable in a single request. Paths shown in prose are
relative to this API's base URL (the address of this page, without the trailing
/help). Everything lives under a tenant:
/v1/tenants/<tenant>/…. A <version> is
working (the mutable head) or a snapshot label.
Agents & automation — load in one request, straight to the API:
multipart body = manifest.json + the structure CSVs, with Authorization: Bearer <token> (see the auth guide below). The API loads it atomically into the working line — no separate upload step. A JSON bundle can be posted to …/ingest.
People use the Console's Load from store instead: get a one-time upload link, drop the bundle, then load it (curation — this replaced emailing zips). That landing zone is for the human flow and for very large / remote estates; agents don't need it.
Model top-down. Conceptual = business concepts + named relationships (M:N allowed). Logical = normalized entities with domain-typed attributes, keys, and cardinality-bearing relationships (resolve M:N into an associative entity). Physical = tables / columns / foreign keys. A foreign key is the physical realization of a logical relationship — the vertical thread is Concept → LogicalEntity → Table.
Author — address everything by natural key; write to the working line (snapshots are immutable):
Delete is RESTRICT by default (refused with DD030 + the dependent list); pass ?on_delete=cascade to remove the closure. Snapshots are sealed — writes to a snapshot label are refused (DD010).
Explore:
Relationships use Barker per-end cardinality (one|many) + optionality (mandatory|optional); layer and kind are inferred from the two endpoints. Full agent skill — DAMA framing, exact request bodies, a Barker cheat-sheet, and an end-to-end worked example — is served at /skills/data-modeling/SKILL.md (see “Agent skills” below).
Agents fetch a token headlessly via OAuth2 client_credentials (a plain HTTPS POST); humans get one through the Console (MSAL) or the CLI. The exact flows, endpoints, and scope are in the auth guide above.
Served by the Data Dictionary API. The web Console is one client of this API; it links here for help rather than hosting its own copy.