c4

Get C4 Structurizr

Structurizr DSL for this snapshot, ready to open in Structurizr Lite.

By default this is the contents of a model block, meant to be included from the caller's own workspace.dsl so their views and styles survive regeneration. standalone=true returns a workspace that renders on its own.

Unlike OSS, which builds the model from a live session per request, hosted rebuilds it from the c4.json the indexer already produced. That is what makes this work on every existing snapshot with no re-index, and it is also why the export carries no health/ownership tags and no reading order: neither survives into the artifact. See app.services.c4_model_adapter.

components=true is best-effort here for the same reason: the artifact stores per-container L3 views, which cannot express a component edge that crosses a container boundary.

Rate-limited harder than its siblings (30/min against 120) because it is a download rather than a view fetch, and emitting the DSL is real CPU over the whole model rather than a dict lookup into it.

get/snapshots/{snapshot_id}/c4/structurizr

Path parameters

snapshot_idstring required

Query parameters

standaloneboolean

Emit a complete runnable workspace instead of a model fragment

Emit a complete runnable workspace instead of a model fragment

componentsboolean

Include the component (L3) level

Include the component (L3) level

externalsboolean

Include third-party dependencies

Include third-party dependencies

Response

Successful Response

Changes