DeploymentDiagram Spec¶
Source: deployment_diagram.json
This schema describes the DeploymentDiagram spec.
Properties¶
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Type of the diagram. Must be exactly DeploymentDiagram. |
title |
string | null |
Optional diagram title. |
elements |
array[Element] |
Top-level elements. |
boundaries |
array[Boundary] |
Top-level boundaries. |
relationships |
array[RelationshipSchema] |
Top-level relationships. |
layouts |
array[LayoutSchema] |
Relative layout constraints between elements. |
render_options |
RenderOptionsSchema |
Optional renderer-specific options |
Minimal example
{
"type": "DeploymentDiagram",
"title": "Web App Deployment",
"elements": [
{
"alias": "user",
"description": "Uses the web application.",
"label": "User",
"tags": [
"person"
],
"type": "Person"
}
],
"boundaries": [
{
"alias": "web_node",
"boundaries": [],
"description": "Hosts the frontend application.",
"elements": [
{
"alias": "web_app",
"description": "Customer-facing web application.",
"label": "Web App",
"tags": [
"frontend"
],
"technology": "Next.js",
"type": "Container"
}
],
"label": "Web Server",
"relationships": [],
"sprite": "server",
"stereotype": "Compute Node",
"tags": [
"runtime_node"
],
"type": "DeploymentNodeLeft"
},
{
"alias": "db_node",
"boundaries": [],
"description": "Hosts the application database.",
"elements": [
{
"alias": "app_db",
"description": "Stores application data.",
"label": "App Database",
"tags": [
"database"
],
"technology": "PostgreSQL",
"type": "ContainerDb"
}
],
"label": "Database Server",
"relationships": [],
"sprite": "database",
"stereotype": "Data Node",
"tags": [
"data_node"
],
"type": "DeploymentNodeRight"
}
],
"relationships": [
{
"from": "user",
"label": "Uses",
"tags": [
"encrypted_traffic"
],
"technology": "HTTPS",
"to": "web_node",
"type": "REL"
},
{
"from": "web_node",
"label": "Reads and writes",
"tags": [
"encrypted_traffic"
],
"technology": "TLS / SQL",
"to": "db_node",
"type": "REL"
}
],
"layouts": [
{
"from": "user",
"to": "web_node",
"type": "LAY_R"
},
{
"from": "web_node",
"to": "db_node",
"type": "LAY_R"
}
],
"render_options": {
"plantuml": {
"layout": "LAYOUT_LEFT_RIGHT",
"tags": [
{
"legend_text": "End user",
"sprite": "user",
"tag_stereo": "person",
"type": "PersonTag"
},
{
"legend_text": "Frontend container",
"sprite": "browser",
"tag_stereo": "frontend",
"type": "ContainerTag"
},
{
"legend_text": "Database container",
"sprite": "database",
"tag_stereo": "database",
"type": "ContainerTag"
},
{
"legend_text": "Runtime deployment node",
"shape": "RoundedBoxShape",
"sprite": "server",
"tag_stereo": "runtime_node",
"technology": "Runtime",
"type": "NodeTag"
},
{
"legend_text": "Data deployment node",
"shape": "RoundedBoxShape",
"sprite": "database",
"tag_stereo": "data_node",
"technology": "Data",
"type": "NodeTag"
},
{
"legend_text": "Encrypted communication",
"sprite": "lock",
"tag_stereo": "encrypted_traffic",
"technology": "TLS",
"type": "RelTag"
}
]
}
}
}
Advanced example
{
"type": "DeploymentDiagram",
"title": "Online Shop - Production Deployment",
"elements": [
{
"alias": "customer",
"description": "Uses the online shop through a browser.",
"label": "Customer",
"tags": [
"person"
],
"type": "Person"
},
{
"alias": "payment_gateway",
"description": "External service that processes card payments.",
"label": "Payment Gateway",
"tags": [
"external_service"
],
"technology": "HTTPS API",
"type": "ContainerExt"
}
],
"boundaries": [
{
"alias": "aws_prod",
"boundaries": [
{
"alias": "public_subnet",
"boundaries": [
{
"alias": "alb",
"boundaries": [],
"description": "Terminates TLS and routes requests to the web tier.",
"elements": [
{
"alias": "web_app",
"description": "Serves the storefront UI.",
"label": "Web Application",
"tags": [
"frontend"
],
"technology": "Next.js",
"type": "Container"
}
],
"label": "Application Load Balancer",
"relationships": [],
"sprite": "router",
"stereotype": "Ingress",
"tags": [
"edge_node"
],
"type": "DeploymentNodeLeft"
}
],
"description": "Internet-facing network segment.",
"elements": [],
"label": "Public Subnet",
"relationships": [],
"sprite": "network",
"stereotype": "Network Segment",
"tags": [
"public_network"
],
"type": "NodeLeft"
},
{
"alias": "private_subnet",
"boundaries": [
{
"alias": "app_cluster",
"boundaries": [],
"description": "Runs backend services and asynchronous workers.",
"elements": [
{
"alias": "backend_api",
"description": "Handles catalog, checkout, and order processing.",
"label": "Backend API",
"tags": [
"backend"
],
"technology": "Python / FastAPI",
"type": "Container"
},
{
"alias": "order_events",
"description": "Internal asynchronous event stream.",
"label": "Order Events",
"tags": [
"message_bus"
],
"technology": "Kafka",
"type": "ContainerQueue"
}
],
"label": "Kubernetes Cluster",
"properties": {
"properties": [
[
"Platform",
"EKS"
],
[
"Autoscaling",
"Enabled"
]
]
},
"relationships": [],
"sprite": "server",
"stereotype": "Runtime Environment",
"tags": [
"runtime_node"
],
"type": "DeploymentNode"
},
{
"alias": "db_service",
"boundaries": [],
"description": "Managed relational database service.",
"elements": [
{
"alias": "orders_db",
"description": "Stores orders, payments, and fulfillment data.",
"label": "Orders Database",
"tags": [
"database"
],
"technology": "PostgreSQL",
"type": "ContainerDb"
}
],
"label": "Managed PostgreSQL",
"properties": {
"properties": [
[
"Service",
"RDS"
],
[
"Mode",
"Multi-AZ"
]
]
},
"relationships": [],
"sprite": "database",
"stereotype": "Data Platform",
"tags": [
"data_node"
],
"type": "DeploymentNodeRight"
}
],
"description": "Internal network segment for application and data services.",
"elements": [],
"label": "Private Subnet",
"relationships": [],
"sprite": "network",
"stereotype": "Network Segment",
"tags": [
"private_network"
],
"type": "NodeRight"
}
],
"description": "Production cloud account for the online shop.",
"elements": [],
"label": "AWS Production Account",
"properties": {
"properties": [
[
"Environment",
"Production"
],
[
"Region",
"eu-central-1"
]
]
},
"relationships": [],
"sprite": "cloud",
"stereotype": "Cloud Account",
"tags": [
"cloud_account"
],
"type": "Node"
}
],
"relationships": [
{
"from": "customer",
"label": "Uses",
"tags": [
"encrypted_traffic"
],
"technology": "HTTPS",
"to": "alb",
"type": "REL"
},
{
"from": "alb",
"label": "Routes traffic to",
"tags": [
"encrypted_traffic"
],
"technology": "HTTPS",
"to": "app_cluster",
"type": "REL"
},
{
"from": "app_cluster",
"label": "Reads and writes",
"tags": [
"encrypted_traffic"
],
"technology": "TLS / SQL",
"to": "db_service",
"type": "REL"
},
{
"from": "app_cluster",
"label": "Calls",
"tags": [
"encrypted_traffic"
],
"technology": "HTTPS/JSON",
"to": "payment_gateway",
"type": "REL"
},
{
"from": "backend_api",
"label": "Publishes events to",
"tags": [
"async_flow"
],
"technology": "Kafka",
"to": "order_events",
"type": "REL"
}
],
"layouts": [
{
"from": "customer",
"to": "alb",
"type": "LAY_R"
},
{
"from": "alb",
"to": "app_cluster",
"type": "LAY_R"
},
{
"from": "app_cluster",
"to": "db_service",
"type": "LAY_D"
},
{
"from": "app_cluster",
"to": "payment_gateway",
"type": "LAY_R"
}
],
"render_options": {
"plantuml": {
"hide_person_sprite": false,
"hide_stereotype": false,
"layout": "LAYOUT_LEFT_RIGHT",
"layout_with_legend": true,
"legend_title": "Deployment Legend",
"show_legend": {
"details": "Normal",
"hide_stereotype": false
},
"show_person_outline": true,
"show_person_sprite": {
"alias": "person"
},
"styles": [
{
"line_color": "#546e7a",
"text_color": "#37474f",
"type": "RelStyle"
}
],
"tags": [
{
"bg_color": "#e8f5e9",
"border_color": "#66bb6a",
"border_style": "SolidLine",
"border_thickness": "2",
"font_color": "#1b5e20",
"legend_text": "End user",
"sprite": "user",
"tag_stereo": "person",
"type": "PersonTag"
},
{
"bg_color": "#f3e5f5",
"border_color": "#ab47bc",
"border_style": "DashedLine",
"border_thickness": "2",
"font_color": "#4a148c",
"legend_text": "External service",
"sprite": "cloud",
"tag_stereo": "external_service",
"type": "ExternalContainerTag"
},
{
"bg_color": "#e3f2fd",
"border_color": "#42a5f5",
"border_style": "SolidLine",
"border_thickness": "2",
"font_color": "#0d47a1",
"legend_text": "Frontend container",
"sprite": "browser",
"tag_stereo": "frontend",
"type": "ContainerTag"
},
{
"bg_color": "#ede7f6",
"border_color": "#7e57c2",
"border_style": "SolidLine",
"border_thickness": "2",
"font_color": "#311b92",
"legend_text": "Backend container",
"sprite": "server",
"tag_stereo": "backend",
"type": "ContainerTag"
},
{
"bg_color": "#fff3e0",
"border_color": "#fb8c00",
"border_style": "SolidLine",
"border_thickness": "2",
"font_color": "#e65100",
"legend_text": "Database container",
"sprite": "database",
"tag_stereo": "database",
"type": "ContainerTag"
},
{
"bg_color": "#fce4ec",
"border_color": "#ec407a",
"border_style": "SolidLine",
"border_thickness": "2",
"font_color": "#880e4f",
"legend_text": "Message queue / stream",
"sprite": "queue",
"tag_stereo": "message_bus",
"type": "ContainerTag"
},
{
"bg_color": "#eef6ff",
"border_color": "#64b5f6",
"border_style": "SolidLine",
"border_thickness": "2",
"font_color": "#0d47a1",
"legend_sprite": "cloud",
"legend_text": "Cloud account boundary",
"shadowing": true,
"shape": "RoundedBoxShape",
"sprite": "cloud",
"tag_stereo": "cloud_account",
"technology": "Infrastructure",
"type": "NodeTag"
},
{
"bg_color": "#f1f8e9",
"border_color": "#8bc34a",
"border_style": "SolidLine",
"border_thickness": "1",
"font_color": "#33691e",
"legend_sprite": "network",
"legend_text": "Public network zone",
"shape": "RoundedBoxShape",
"sprite": "network",
"tag_stereo": "public_network",
"technology": "DMZ",
"type": "NodeTag"
},
{
"bg_color": "#fbe9e7",
"border_color": "#ff8a65",
"border_style": "SolidLine",
"border_thickness": "1",
"font_color": "#bf360c",
"legend_sprite": "network",
"legend_text": "Private network zone",
"shape": "RoundedBoxShape",
"sprite": "network",
"tag_stereo": "private_network",
"technology": "Internal",
"type": "NodeTag"
},
{
"bg_color": "#e1f5fe",
"border_color": "#29b6f6",
"border_style": "BoldLine",
"border_thickness": "2",
"font_color": "#01579b",
"legend_sprite": "router",
"legend_text": "Ingress deployment node",
"shape": "RoundedBoxShape",
"sprite": "router",
"tag_stereo": "edge_node",
"technology": "Ingress",
"type": "NodeTag"
},
{
"bg_color": "#e8f5e9",
"border_color": "#66bb6a",
"border_style": "SolidLine",
"border_thickness": "2",
"font_color": "#1b5e20",
"legend_sprite": "server",
"legend_text": "Runtime deployment node",
"shadowing": true,
"shape": "RoundedBoxShape",
"sprite": "server",
"tag_stereo": "runtime_node",
"technology": "Runtime",
"type": "NodeTag"
},
{
"bg_color": "#fff8e1",
"border_color": "#ffb300",
"border_style": "SolidLine",
"border_thickness": "2",
"font_color": "#ff6f00",
"legend_sprite": "database",
"legend_text": "Data deployment node",
"shape": "RoundedBoxShape",
"sprite": "database",
"tag_stereo": "data_node",
"technology": "Data Platform",
"type": "NodeTag"
},
{
"legend_sprite": "lock",
"legend_text": "Encrypted communication",
"line_color": "#1976d2",
"line_style": "SolidLine",
"line_thickness": "2",
"sprite": "lock",
"tag_stereo": "encrypted_traffic",
"technology": "TLS",
"text_color": "#0d47a1",
"type": "RelTag"
},
{
"legend_sprite": "queue",
"legend_text": "Asynchronous event flow",
"line_color": "#8e24aa",
"line_style": "DashedLine",
"line_thickness": "2",
"sprite": "queue",
"tag_stereo": "async_flow",
"technology": "Kafka",
"text_color": "#4a148c",
"type": "RelTag"
}
]
}
}
}
Elements¶
- PersonSchema
- PersonExtSchema
- SystemSchema
- SystemExtSchema
- SystemDbSchema
- SystemDbExtSchema
- SystemQueueSchema
- SystemQueueExtSchema
- ContainerSchema
- ContainerExtSchema
- ContainerDbSchema
- ContainerDbExtSchema
- ContainerQueueSchema
- ContainerQueueExtSchema
Boundaries¶
- NodeSchema
- NodeLeftSchema
- NodeRightSchema
- DeploymentNodeSchema
- DeploymentNodeLeftSchema
- DeploymentNodeRightSchema
Relationships¶
Layouts¶
Definitions¶
About labels and aliases
label is a display name for the element.
alias is a unique identifier used for referencing elements
in relationships and layouts.
If omitted, it is generated automatically.
You can also use label for referencing elements in relationships and layouts, but each label must be unique within the diagram.
RelationshipType¶
Enum representing different types of relationships between diagram elements.
Items
| Type | Description |
|---|---|
BI_REL |
A bidirectional relationship between two elements. |
BI_REL_D |
A bidirectional downward relationship. Shorthand for BI_REL_DOWN. |
BI_REL_DOWN |
A bidirectional downward relationship. |
BI_REL_L |
A bidirectional leftward relationship. Shorthand for BI_REL_LEFT. |
BI_REL_LEFT |
A bidirectional leftward relationship. |
BI_REL_NEIGHBOR |
A bidirectional neighboring relationship between two elements. |
BI_REL_R |
A bidirectional rightward relationship. Shorthand for BI_REL_RIGHT. |
BI_REL_RIGHT |
A bidirectional rightward relationship. |
BI_REL_U |
A bidirectional upward relationship. Shorthand for BI_REL_UP. |
BI_REL_UP |
A bidirectional upward relationship. |
REL |
A unidirectional relationship between two elements. |
REL_BACK |
A unidirectional relationship pointing backward. |
REL_BACK_NEIGHBOR |
A unidirectional relationship combining backward and neighboring semantics. |
REL_D |
A unidirectional downward relationship. Shorthand for REL_DOWN. |
REL_DOWN |
A unidirectional downward relationship. |
REL_L |
A unidirectional leftward relationship. Shorthand for REL_LEFT. |
REL_LEFT |
A unidirectional leftward relationship. |
REL_NEIGHBOR |
A unidirectional relationship representing a lateral or neighboring interaction. |
REL_R |
A unidirectional rightward relationship. Shorthand for REL_RIGHT. |
REL_RIGHT |
A unidirectional rightward relationship. |
REL_U |
A unidirectional upward relationship. Shorthand for REL_UP. |
REL_UP |
A unidirectional upward relationship. |
LayoutType¶
Enum representing layout modifiers for diagram elements.
Items
| Type | Description |
|---|---|
LAY_D |
Positions from element below to element. Shorthand for LAY_DOWN layout. |
LAY_DOWN |
Positions from element below to element. |
LAY_L |
Positions from element to the left of to element. Shorthand for LAY_LEFT layout. |
LAY_LEFT |
Positions from element to the left of to element. |
LAY_R |
Positions from element to the right of to element. Shorthand for LAY_RIGHT layout. |
LAY_RIGHT |
Positions from element to the right of to element. |
LAY_U |
Positions from element above to element. Shorthand for LAY_UP layout. |
LAY_UP |
Positions from element above to element. |
ContainerDbExtSchema¶
This schema describes the
ContainerDbExt
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly ContainerDbExt. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite/icon reference. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
technology |
string | null |
Optional technology. |
ContainerDbSchema¶
This schema describes the
ContainerDb
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly ContainerDb. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite/icon reference. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
technology |
string | null |
Optional technology. |
ContainerExtSchema¶
This schema describes the
ContainerExt
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly ContainerExt. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
base_shape |
string | null |
Optional base shape override (supported by some element classes). |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite/icon reference. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
technology |
string | null |
Optional technology. |
ContainerQueueExtSchema¶
This schema describes the
ContainerQueueExt
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly ContainerQueueExt. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite/icon reference. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
technology |
string | null |
Optional technology. |
ContainerQueueSchema¶
This schema describes the
ContainerQueue
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly ContainerQueue. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite/icon reference. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
technology |
string | null |
Optional technology. |
ContainerSchema¶
This schema describes the
Container
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly Container. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
base_shape |
string | null |
Optional base shape override (supported by some element classes). |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite/icon reference. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
technology |
string | null |
Optional technology. |
DeploymentNodeLeftSchema¶
This schema describes the
DeploymentNodeLeft
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly DeploymentNodeLeft. |
elements |
array[Element] |
Top-level elements. |
boundaries |
array[Boundary] |
Top-level boundaries. |
relationships |
array[RelationshipSchema] |
Top-level relationships. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite name to visually represent the node. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
DeploymentNodeRightSchema¶
This schema describes the
DeploymentNodeRight
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly DeploymentNodeRight. |
elements |
array[Element] |
Top-level elements. |
boundaries |
array[Boundary] |
Top-level boundaries. |
relationships |
array[RelationshipSchema] |
Top-level relationships. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite name to visually represent the node. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
DeploymentNodeSchema¶
This schema describes the
DeploymentNode
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly DeploymentNode. |
elements |
array[Element] |
Top-level elements. |
boundaries |
array[Boundary] |
Top-level boundaries. |
relationships |
array[RelationshipSchema] |
Top-level relationships. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite name to visually represent the node. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
DiagramElementPropertiesSchema¶
Properties
| Field | Type | Description |
|---|---|---|
header |
array[string] |
Header columns. Default: ["Property", "Value"]. |
properties(required) |
array[array[string]] |
List of rows (each row is a list of string values). |
show_header |
boolean |
Whether to display the header row. Default: true. |
LayoutSchema¶
This schema describes the Layout
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
LayoutType |
Type of the layout. |
from(required) |
string |
The source element alias (or unique label). |
to(required) |
string |
The destination element alias (or unique label). |
NodeLeftSchema¶
This schema describes the
NodeLeft
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly NodeLeft. |
elements |
array[Element] |
Top-level elements. |
boundaries |
array[Boundary] |
Top-level boundaries. |
relationships |
array[RelationshipSchema] |
Top-level relationships. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite name to visually represent the node. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
NodeRightSchema¶
This schema describes the
NodeRight
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly NodeRight. |
elements |
array[Element] |
Top-level elements. |
boundaries |
array[Boundary] |
Top-level boundaries. |
relationships |
array[RelationshipSchema] |
Top-level relationships. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite name to visually represent the node. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
NodeSchema¶
This schema describes the
Node
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly Node. |
elements |
array[Element] |
Top-level elements. |
boundaries |
array[Boundary] |
Top-level boundaries. |
relationships |
array[RelationshipSchema] |
Top-level relationships. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite name to visually represent the node. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
PersonExtSchema¶
This schema describes the
PersonExt diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly PersonExt. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite/icon reference. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
PersonSchema¶
This schema describes the Person
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly Person. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite/icon reference. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
RelationshipSchema¶
This schema describes the Relationship
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
RelationshipType |
Type of the relationship. |
description |
string | null |
Additional details about the relationship. |
from(required) |
string |
The source element alias (or unique label). |
label(required) |
string |
The label shown on the relationship edge. |
link |
string | null |
Optional URL link associated with the relationship. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite/icon to represent the relationship. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
technology |
string | null |
The technology used in the communication. |
to(required) |
string |
The destination element alias (or unique label). |
SystemDbExtSchema¶
This schema describes the
SystemDbExt
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly SystemDbExt. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite/icon reference. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
SystemDbSchema¶
This schema describes the
SystemDb
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly SystemDb. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite/icon reference. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
SystemExtSchema¶
This schema describes the
SystemExt diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly SystemExt. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
base_shape |
string | null |
Optional base shape override (supported by some element classes). |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite/icon reference. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
SystemQueueExtSchema¶
This schema describes the
SystemQueueExt
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly SystemQueueExt. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite/icon reference. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
SystemQueueSchema¶
This schema describes the
SystemQueue
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly SystemQueue. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite/icon reference. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
SystemSchema¶
This schema describes the
System diagram component.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly System. |
alias |
string | null |
Unique identifier for the element. If not provided, it is autogenerated from the label. |
base_shape |
string | null |
Optional base shape override (supported by some element classes). |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional sprite/icon reference. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tags |
array[string] |
Optional tags for grouping/styling. These tags can be referenced by tag_stereo in tag definitions. |
RenderOptionsSchema¶
This schema describes the
RenderOptions
diagram component.
Properties
| Field | Type | Description |
|---|---|---|
mermaid |
MermaidRenderOptionsSchema |
Mermaid-specific render options. |
plantuml |
PlantUMLRenderOptionsSchema |
PlantUML-specific render options. |
PlantUML Render Options¶
PlantUMLRenderOptionsSchema¶
Final layout configuration for rendering a C4-PlantUML diagram.
Encapsulates layout directives, macros, tag definitions, and visual styles applied at render time.
Properties
| Field | Type | Description |
|---|---|---|
hide_person_sprite |
boolean |
Whether to hide person sprites globally. Default: false. |
hide_stereotype |
boolean |
Whether to hide stereotype labels globally. Default: false. |
includes |
array[string] |
A list of PlantUML !include directives to be injected at the beginning of the diagram. |
layout |
DiagramLayout |
Layout direction. |
layout_as_sketch |
boolean |
Whether to apply the LAYOUT_AS_SKETCH macro. Default: false. |
layout_with_legend |
boolean |
Whether to apply the LAYOUT_WITH_LEGEND macro. Default: false. |
legend_title |
string | null |
Optional title displayed above the legend. |
set_sketch_style |
SetSketchStyleSchema |
Optional sketch-style visual customization. |
show_floating_legend |
ShowFloatingLegendSchema |
Configuration for the SHOW_FLOATING_LEGEND macro. |
show_legend |
ShowLegendSchema |
Configuration for the SHOW_LEGEND macro. |
show_person_outline |
boolean |
Whether to enable person outlines. Default: false. |
show_person_portrait |
boolean |
Whether to enable person portraits. Default: false. |
show_person_sprite |
ShowPersonSpriteSchema |
Configuration for the SHOW_PERSON_SPRITE macro. |
styles |
array[ |
List of style update macro configurations. |
tags |
array[ |
List of tag macro configurations. |
without_property_header |
boolean |
If true, omit the header row and render the second column in bold. Default: false. |
DiagramLayout¶
Defines layout direction options for a PlantUML diagram.
This enum controls how diagram elements are arranged visually using predefined PlantUML layout macros.
LAYOUT_LANDSCAPELAYOUT_LEFT_RIGHTLAYOUT_TOP_DOWN
BoundaryStyleSchema¶
Style update for a boundary element (container/system/enterprise boundary).
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly BoundaryStyle. |
bg_color |
string | null |
Background color. |
border_color |
string | null |
Border line color. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the border line. |
element_name(required) |
string |
C4 element type to style (e.g. 'person', 'system', 'container'). This applies to all elements of the given type, not a specific instance. |
font_color |
string | null |
Font/text color. |
legend_sprite |
string | null |
Legend sprite for this styled element. |
legend_text |
string | null |
Legend label for this styled element. |
shadowing |
boolean | null |
Shadow style/toggle. |
shape |
TagShape |
Shape macro used for rendering. |
sprite |
string | null |
Sprite icon applied to the element. |
stereotype |
string | null |
Optional custom type/stereotype label. |
technology |
string | null |
Technology label shown on the element. |
BoundaryTagSchema¶
Tag for diagram boundaries (containers/systems).
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly BoundaryTag. |
bg_color |
string | null |
Background color of the element. |
border_color |
string | null |
Color of the element border. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the element border line. |
font_color |
string | null |
Font color used for labels. |
legend_sprite |
string | null |
Sprite displayed in the legend for this tag. |
legend_text |
string | null |
Text shown in the diagram legend for this tag. |
shadowing |
boolean | null |
Shadow style/toggle. Default: false. |
shape |
TagShape |
Optional shape macro used for rendering. |
sprite |
string | null |
Sprite icon associated with the element or relationship. |
tag_stereo(required) |
string |
Stereotype name of the tag. Must match one of the tags declared in the tags field of a diagram component. |
technology |
string | null |
Technology label shown on the element. |
ComponentTagSchema¶
Tag for internal software components.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly ComponentTag. |
bg_color |
string | null |
Background color of the element. |
border_color |
string | null |
Color of the element border. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the element border line. |
font_color |
string | null |
Font color used for labels. |
legend_sprite |
string | null |
Sprite displayed in the legend for this tag. |
legend_text |
string | null |
Text shown in the diagram legend for this tag. |
shadowing |
boolean | null |
Shadow style/toggle. Default: false. |
shape |
TagShape |
Optional shape macro used for rendering. |
sprite |
string | null |
Sprite icon associated with the element or relationship. |
tag_stereo(required) |
string |
Stereotype name of the tag. Must match one of the tags declared in the tags field of a diagram component. |
technology |
string | null |
Technology label shown on the element. |
ContainerBoundaryStyleSchema¶
Style update for container boundaries.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly ContainerBoundaryStyle. |
bg_color |
string | null |
Background color. |
border_color |
string | null |
Border line color. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the border line. |
element_name(required) |
string |
C4 element type to style (e.g. 'person', 'system', 'container'). This applies to all elements of the given type, not a specific instance. |
font_color |
string | null |
Font/text color. |
legend_sprite |
string | null |
Legend sprite for this styled element. |
legend_text |
string | null |
Legend label for this styled element. |
shadowing |
boolean | null |
Shadow style/toggle. |
shape |
TagShape |
Shape macro used for rendering. |
sprite |
string | null |
Sprite icon applied to the element. |
stereotype |
string | null |
Optional custom type/stereotype label. |
technology |
string | null |
Technology label shown on the element. |
ContainerTagSchema¶
Tag for internal containers (microservices, databases, etc.).
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly ContainerTag. |
bg_color |
string | null |
Background color of the element. |
border_color |
string | null |
Color of the element border. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the element border line. |
font_color |
string | null |
Font color used for labels. |
legend_sprite |
string | null |
Sprite displayed in the legend for this tag. |
legend_text |
string | null |
Text shown in the diagram legend for this tag. |
shadowing |
boolean | null |
Shadow style/toggle. Default: false. |
shape |
TagShape |
Optional shape macro used for rendering. |
sprite |
string | null |
Sprite icon associated with the element or relationship. |
tag_stereo(required) |
string |
Stereotype name of the tag. Must match one of the tags declared in the tags field of a diagram component. |
technology |
string | null |
Technology label shown on the element. |
Details¶
Defines PlantUML legend details.
NoneNormalSmall
ElementStyleSchema¶
Style update for an individual diagram element.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly ElementStyle. |
bg_color |
string | null |
Background color. |
border_color |
string | null |
Border line color. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the border line. |
element_name(required) |
string |
C4 element type to style (e.g. 'person', 'system', 'container'). This applies to all elements of the given type, not a specific instance. |
font_color |
string | null |
Font/text color. |
legend_sprite |
string | null |
Legend sprite for this styled element. |
legend_text |
string | null |
Legend label for this styled element. |
shadowing |
boolean | null |
Shadow style/toggle. |
shape |
TagShape |
Shape macro used for rendering. |
sprite |
string | null |
Sprite icon applied to the element. |
technology |
string | null |
Technology label shown on the element. |
ElementTagSchema¶
Represents a tag for general diagram elements (containers, nodes, components).
Defines color, border, shape, and optional technology metadata.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly ElementTag. |
bg_color |
string | null |
Background color of the element. |
border_color |
string | null |
Color of the element border. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the element border line. |
font_color |
string | null |
Font color used for labels. |
legend_sprite |
string | null |
Sprite displayed in the legend for this tag. |
legend_text |
string | null |
Text shown in the diagram legend for this tag. |
shadowing |
boolean | null |
Shadow style/toggle. Default: false. |
shape |
TagShape |
Optional shape macro used for rendering. |
sprite |
string | null |
Sprite icon associated with the element or relationship. |
tag_stereo(required) |
string |
Stereotype name of the tag. Must match one of the tags declared in the tags field of a diagram component. |
technology |
string | null |
Technology label shown on the element. |
EnterpriseBoundaryStyleSchema¶
Style update for enterprise boundaries.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly EnterpriseBoundaryStyle. |
bg_color |
string | null |
Background color. |
border_color |
string | null |
Border line color. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the border line. |
element_name(required) |
string |
C4 element type to style (e.g. 'person', 'system', 'container'). This applies to all elements of the given type, not a specific instance. |
font_color |
string | null |
Font/text color. |
legend_sprite |
string | null |
Legend sprite for this styled element. |
legend_text |
string | null |
Legend label for this styled element. |
shadowing |
boolean | null |
Shadow style/toggle. |
shape |
TagShape |
Shape macro used for rendering. |
sprite |
string | null |
Sprite icon applied to the element. |
stereotype |
string | null |
Optional custom type/stereotype label. |
technology |
string | null |
Technology label shown on the element. |
ExternalComponentTagSchema¶
Tag for external software components.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly ExternalComponentTag. |
bg_color |
string | null |
Background color of the element. |
border_color |
string | null |
Color of the element border. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the element border line. |
font_color |
string | null |
Font color used for labels. |
legend_sprite |
string | null |
Sprite displayed in the legend for this tag. |
legend_text |
string | null |
Text shown in the diagram legend for this tag. |
shadowing |
boolean | null |
Shadow style/toggle. Default: false. |
shape |
TagShape |
Optional shape macro used for rendering. |
sprite |
string | null |
Sprite icon associated with the element or relationship. |
tag_stereo(required) |
string |
Stereotype name of the tag. Must match one of the tags declared in the tags field of a diagram component. |
technology |
string | null |
Technology label shown on the element. |
ExternalContainerTagSchema¶
Tag for external containers.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly ExternalContainerTag. |
bg_color |
string | null |
Background color of the element. |
border_color |
string | null |
Color of the element border. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the element border line. |
font_color |
string | null |
Font color used for labels. |
legend_sprite |
string | null |
Sprite displayed in the legend for this tag. |
legend_text |
string | null |
Text shown in the diagram legend for this tag. |
shadowing |
boolean | null |
Shadow style/toggle. Default: false. |
shape |
TagShape |
Optional shape macro used for rendering. |
sprite |
string | null |
Sprite icon associated with the element or relationship. |
tag_stereo(required) |
string |
Stereotype name of the tag. Must match one of the tags declared in the tags field of a diagram component. |
technology |
string | null |
Technology label shown on the element. |
ExternalPersonTagSchema¶
Tag for external people (outside the system boundary).
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly ExternalPersonTag. |
bg_color |
string | null |
Background color of the person symbol. |
border_color |
string | null |
Border color of the person symbol. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the person border line. |
font_color |
string | null |
Font color used in the label. |
legend_sprite |
string | null |
Sprite displayed in the legend for this tag. |
legend_text |
string | null |
Text shown in the diagram legend for this tag. |
shadowing |
boolean | null |
Shadow style/toggle. Default: false. |
shape |
TagShape |
Optional shape macro used for rendering. |
sprite |
string | null |
Sprite icon associated with the element or relationship. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tag_stereo(required) |
string |
Stereotype name of the tag. Must match one of the tags declared in the tags field of a diagram component. |
ExternalSystemTagSchema¶
Tag for external software systems.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly ExternalSystemTag. |
bg_color |
string | null |
Background color of the system element. |
border_color |
string | null |
Border color of the system element. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the system border line. |
font_color |
string | null |
Font color used in system labels. |
legend_sprite |
string | null |
Sprite displayed in the legend for this tag. |
legend_text |
string | null |
Text shown in the diagram legend for this tag. |
shadowing |
boolean | null |
Shadow style/toggle. Default: false. |
shape |
TagShape |
Optional shape macro used for rendering. |
sprite |
string | null |
Sprite icon associated with the element or relationship. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tag_stereo(required) |
string |
Stereotype name of the tag. Must match one of the tags declared in the tags field of a diagram component. |
LineStyle¶
Defines PlantUML line style.
BoldLineDashedLineDottedLineSolidLine
NodeTagSchema¶
Tag for nodes (typically infrastructure elements).
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly NodeTag. |
bg_color |
string | null |
Background color of the element. |
border_color |
string | null |
Color of the element border. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the element border line. |
font_color |
string | null |
Font color used for labels. |
legend_sprite |
string | null |
Sprite displayed in the legend for this tag. |
legend_text |
string | null |
Text shown in the diagram legend for this tag. |
shadowing |
boolean | null |
Shadow style/toggle. Default: false. |
shape |
TagShape |
Optional shape macro used for rendering. |
sprite |
string | null |
Sprite icon associated with the element or relationship. |
tag_stereo(required) |
string |
Stereotype name of the tag. Must match one of the tags declared in the tags field of a diagram component. |
technology |
string | null |
Technology label shown on the element. |
PersonTagSchema¶
Tag for internal Person elements (actors, users, roles).
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly PersonTag. |
bg_color |
string | null |
Background color of the person symbol. |
border_color |
string | null |
Border color of the person symbol. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the person border line. |
font_color |
string | null |
Font color used in the label. |
legend_sprite |
string | null |
Sprite displayed in the legend for this tag. |
legend_text |
string | null |
Text shown in the diagram legend for this tag. |
shadowing |
boolean | null |
Shadow style/toggle. Default: false. |
shape |
TagShape |
Optional shape macro used for rendering. |
sprite |
string | null |
Sprite icon associated with the element or relationship. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tag_stereo(required) |
string |
Stereotype name of the tag. Must match one of the tags declared in the tags field of a diagram component. |
RelStyleSchema¶
Style update for relationship lines.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly RelStyle. |
line_color |
string | null |
Color of the relationship line. |
text_color |
string | null |
Color of the relationship label text. |
RelTagSchema¶
Represents a tag for relationship styling in the diagram.
Includes text and line formatting, plus optional technology and sprite metadata.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly RelTag. |
legend_sprite |
string | null |
Sprite displayed in the legend for this tag. |
legend_text |
string | null |
Text shown in the diagram legend for this tag. |
line_color |
string | null |
Color of the relationship line. |
line_style |
LineStyle |
Relationship line style macro. |
line_thickness |
string | null |
Thickness of the relationship line. |
sprite |
string | null |
Sprite icon associated with the element or relationship. |
tag_stereo(required) |
string |
Stereotype name of the tag. Must match one of the tags declared in the tags field of a diagram component. |
technology |
string | null |
Technology label associated with the relationship. |
text_color |
string | null |
Color of the relationship label text. |
SetSketchStyleSchema¶
Configuration for the SET_SKETCH_STYLE macro.
Properties
| Field | Type | Description |
|---|---|---|
bg_color |
string | null |
Background color of the diagram. |
font_color |
string | null |
Font color for all diagram text. |
font_name |
string | null |
Font family name to use. |
footer_text |
string | null |
Optional footer text message. |
footer_warning |
string | null |
Optional warning message shown in the footer. |
warning_color |
string | null |
Color used for warning messages in the footer. |
ShowFloatingLegendSchema¶
Configuration for the SHOW_FLOATING_LEGEND macro.
Properties
| Field | Type | Description |
|---|---|---|
alias |
string | null |
Optional alias for the floating legend box. |
details |
Details |
Legend detail level. Default: Small. |
hide_stereotype |
boolean | null |
Whether to hide stereotype labels in the legend. |
ShowLegendSchema¶
Configuration for the SHOW_LEGEND macro in PlantUML.
Properties
| Field | Type | Description |
|---|---|---|
details |
Details |
Legend detail level. Default: Small. |
hide_stereotype |
boolean | null |
Whether to hide stereotype labels in the legend. |
ShowPersonSpriteSchema¶
Configuration for the SHOW_PERSON_SPRITE macro.
Properties
| Field | Type | Description |
|---|---|---|
alias |
string | null |
Optional sprite alias used for the person icon. |
SystemBoundaryStyleSchema¶
Style update for system boundaries.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly SystemBoundaryStyle. |
bg_color |
string | null |
Background color. |
border_color |
string | null |
Border line color. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the border line. |
element_name(required) |
string |
C4 element type to style (e.g. 'person', 'system', 'container'). This applies to all elements of the given type, not a specific instance. |
font_color |
string | null |
Font/text color. |
legend_sprite |
string | null |
Legend sprite for this styled element. |
legend_text |
string | null |
Legend label for this styled element. |
shadowing |
boolean | null |
Shadow style/toggle. |
shape |
TagShape |
Shape macro used for rendering. |
sprite |
string | null |
Sprite icon applied to the element. |
stereotype |
string | null |
Optional custom type/stereotype label. |
technology |
string | null |
Technology label shown on the element. |
SystemTagSchema¶
Tag for internal software systems.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly SystemTag. |
bg_color |
string | null |
Background color of the system element. |
border_color |
string | null |
Border color of the system element. |
border_style |
LineStyle |
Border line style macro. |
border_thickness |
string | null |
Thickness of the system border line. |
font_color |
string | null |
Font color used in system labels. |
legend_sprite |
string | null |
Sprite displayed in the legend for this tag. |
legend_text |
string | null |
Text shown in the diagram legend for this tag. |
shadowing |
boolean | null |
Shadow style/toggle. Default: false. |
shape |
TagShape |
Optional shape macro used for rendering. |
sprite |
string | null |
Sprite icon associated with the element or relationship. |
stereotype |
string | null |
Optional custom type/stereotype label. |
tag_stereo(required) |
string |
Stereotype name of the tag. Must match one of the tags declared in the tags field of a diagram component. |
TagShape¶
Defines PlantUML tag shape.
EightSidedShapeRoundedBoxShape
Mermaid Render Options¶
MermaidRenderOptionsSchema¶
Final layout configuration for rendering a Mermaid C4 diagram.
Encapsulates layout directives, macros, tag definitions, and visual styles applied at render time.
Properties
| Field | Type | Description |
|---|---|---|
styles |
array[ |
List of style update macro configurations. |
update_layout_config |
UpdateLayoutConfigSchema |
Configuration for updating default layout behavior. |
MermaidElementStyleSchema¶
Style update for an individual diagram element.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly ElementStyle. |
bg_color |
string | null |
Background color. |
border_color |
string | null |
Border line color. |
element(required) |
string |
Alias of the element to style. |
font_color |
string | null |
Font/text color. |
MermaidRelStyleSchema¶
Style update for relationship lines.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly RelStyle. |
from_element(required) |
string |
Alias of the source element to style. |
line_color |
string | null |
Color of the relationship line. |
offset_x |
integer | null |
Optional horizontal offset for the label position. |
offset_y |
integer | null |
Optional horizontal offset for the label position. |
text_color |
string | null |
Color of the relationship label text. |
to_element(required) |
string |
Alias of the target element to style. |
UpdateLayoutConfigSchema¶
Configuration for updating default layout behavior in Mermaid C4 diagrams.
Properties
| Field | Type | Description |
|---|---|---|
c4_boundary_in_row |
integer | null |
Maximum number of boundaries per row. |
c4_shape_in_row |
integer | null |
Maximum number of non-boundary elements (e.g. systems, containers, components) per row. |