Prefer an exported file as your starting point
A Revelation JSON model contains model metadata, a systems array and an interactions array. It can also carry views, saved layout information, colour mappings and palettes. Preserve fields you do not intend to change.
{
"model": {
"TITLE": {"value": "Example"},
"MODELTYPE": {"value": "C4", "inputType": "select", "refData": "MODELTYPE"},
"LAYOUT": {"value": "Drag&Drop", "inputType": "select", "refData": "LAYOUTTYPE"}
},
"systems": [
{"ID": "a", "TEXT": "Service A", "TYPE": "SYSTEM"},
{"ID": "b", "TEXT": "Service B", "TYPE": "SYSTEM"}
],
"interactions": [
{"ID": "r1", "FROMID": "a", "TOID": "b", "TYPE": "->", "TEXT": "Uses"}
]
}Stable identities and endpoints
Give records unique stable IDs. An ordinary relationship's FROMID and TOID must refer to actual elements; Parent must refer to another element without a cycle. Sequence fragment markers are an exception: they have no endpoints. Keep interaction order when editing a sequence model.
A focused view without geometry
Add a view such as the following to a model whose element IDs include portal and records:
{
"key": "services",
"title": "Application services",
"kind": "all",
"include": ["portal", "records"],
"layout": "Drag&Drop"
}This is a view entry, not a complete model. It omits positions deliberately, allowing the layout to assign positions and default dimensions. A view's positions map can later contain x, y, width and height per element. Use complete positive dimensions; inspect the result rather than assuming partial geometry will be retained.
Specialised views and imports
Structurizr imports can produce scoped C4 views and relationships derived for their level of detail. Preserve their view kind, scope and membership when editing the file. An ordinary all-kind view with explicit membership is the simplest starting point for a hand-authored subset.
Validate before replacing a working model
Keep a backup, check JSON syntax, open the file in a separate session and inspect the Health report and each view. Structural validation does not prove the business meaning of a model or complete notation conformance.