PlantUML SystemContextDiagram Spec¶
This schema describes the SystemContextDiagram spec for the PlantUML backend.
Properties¶
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Type of the diagram. Must be exactly SystemContextDiagram. |
title |
string | null |
Optional diagram title. |
elements |
array[Element] |
Top-level elements. |
boundaries |
array[Boundary] |
Top-level boundaries. |
relationships |
array[PlantUMLRelationshipSchema] |
Top-level relationships. |
layouts |
array[LayoutSchema] |
PlantUML relative layout constraints between elements. |
render_options |
PlantUMLRenderOptionsSchema |
PlantUML-specific render options. |
backend(required) |
string |
JSON schema backend. Must be exactly plantuml. |
Examples
JSON source
{
"backend": "plantuml",
"type": "SystemContextDiagram",
"elements": [
{
"type": "Person",
"alias": "user",
"label": "User"
},
{
"type": "System",
"alias": "app",
"label": "My App"
}
],
"relationships": [
{
"type": "REL",
"from": "user",
"to": "app",
"label": "Uses",
"technology": "HTTPS"
}
]
}
Rendered PlantUML source
@startuml
' convert it with additional command line argument -DRELATIVE_INCLUDE="relative/absolute" to use locally
!if %variable_exists("RELATIVE_INCLUDE")
!include %get_variable_value("RELATIVE_INCLUDE")/C4_Context.puml
!else
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
!endif
Person(user, "User", $tags="")
System(app, "My App", $tags="")
Rel(user, app, "Uses", "HTTPS", $tags="")
@enduml
Rendered image
JSON source
{
"backend": "plantuml",
"type": "SystemContextDiagram",
"title": "Retail Platform",
"elements": [
{
"type": "Person",
"label": "Customer",
"alias": "customer",
"description": "Places orders through the storefront."
},
{
"type": "PersonExt",
"label": "Support Agent",
"alias": "support_agent",
"description": "Handles issues in an external CRM."
},
{
"type": "SystemExt",
"label": "Payment Gateway",
"alias": "payment_gateway",
"description": "Processes card payments."
},
{
"type": "SystemExt",
"label": "CRM Platform",
"alias": "crm_platform",
"description": "External CRM used by support agents."
}
],
"boundaries": [
{
"type": "EnterpriseBoundary",
"label": "Acme Corp",
"alias": "acme_enterprise",
"description": "Internal systems owned by Acme.",
"elements": [
{
"type": "System",
"label": "Retail Platform",
"alias": "retail_platform",
"description": "Core platform for catalog, checkout, and order management."
}
],
"boundaries": [],
"relationships": []
}
],
"relationships": [
{
"type": "REL",
"from": "customer",
"to": "retail_platform",
"label": "Browses and places orders",
"technology": "HTTPS"
},
{
"type": "REL",
"from": "retail_platform",
"to": "payment_gateway",
"label": "Charges card",
"technology": "REST API"
},
{
"type": "REL",
"from": "support_agent",
"to": "crm_platform",
"label": "Manages customer issues",
"technology": "Web UI"
}
]
}
Rendered PlantUML source
@startuml
' convert it with additional command line argument -DRELATIVE_INCLUDE="relative/absolute" to use locally
!if %variable_exists("RELATIVE_INCLUDE")
!include %get_variable_value("RELATIVE_INCLUDE")/C4_Context.puml
!else
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
!endif
title Retail Platform
Person(customer, "Customer", "Places orders through the storefront.", $tags="")
Person_Ext(support_agent, "Support Agent", "Handles issues in an external CRM.", $tags="")
System_Ext(payment_gateway, "Payment Gateway", "Processes card payments.", $tags="")
System_Ext(crm_platform, "CRM Platform", "External CRM used by support agents.", $tags="")
Enterprise_Boundary(acme_enterprise, "Acme Corp", $descr="Internal systems owned by Acme.") {
System(retail_platform, "Retail Platform", "Core platform for catalog, checkout, and order management.", $tags="")
}
Rel(customer, retail_platform, "Browses and places orders", "HTTPS", $tags="")
Rel(retail_platform, payment_gateway, "Charges card", "REST API", $tags="")
Rel(support_agent, crm_platform, "Manages customer issues", "Web UI", $tags="")
@enduml
Rendered image
Elements¶
- PlantUMLPersonSchema
- PlantUMLPersonExtSchema
- PlantUMLSystemSchema
- PlantUMLSystemExtSchema
- PlantUMLSystemDbSchema
- PlantUMLSystemDbExtSchema
- PlantUMLSystemQueueSchema
- PlantUMLSystemQueueExtSchema
Boundaries¶
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¶
Relationship dispatch keys used by relationship DSL classes.
REL is the portable core relationship type. The other values map to
backend-specific C4-PlantUML relationship macros and should normally be
used through c4.contrib.plantuml relationship classes.
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. |
DiagramElementPropertiesSchema¶
JSON schema for tabular diagram element properties.
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¶
JSON schema for a PlantUML relative layout constraint.
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). |
PlantUMLBoundarySchema¶
PlantUML JSON schema for a generic boundary.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly Boundary. |
elements |
array[Element] |
Elements nested inside this boundary. |
boundaries |
array[Boundary] |
Boundaries nested inside this boundary. |
relationships |
array[PlantUMLRelationshipSchema] |
Relationships declared inside this boundary. |
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 PlantUML URL associated with the boundary. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
stereotype |
string | null |
Optional PlantUML custom type/stereotype label. |
tags |
array[string] |
Optional PlantUML tags for styling or grouping. |
PlantUMLEnterpriseBoundarySchema¶
PlantUML JSON schema for an enterprise boundary.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly EnterpriseBoundary. |
elements |
array[Element] |
Elements nested inside this boundary. |
boundaries |
array[Boundary] |
Boundaries nested inside this boundary. |
relationships |
array[PlantUMLRelationshipSchema] |
Relationships declared inside this boundary. |
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 PlantUML URL associated with the boundary. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
stereotype |
string | null |
Optional PlantUML custom type/stereotype label. |
tags |
array[string] |
Optional PlantUML tags for styling or grouping. |
PlantUMLPersonExtSchema¶
PlantUML JSON schema for an external person.
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. |
base_shape |
string | null |
Optional PlantUML base shape override. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional PlantUML URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional PlantUML sprite/icon reference. |
stereotype |
string | null |
Optional PlantUML custom type/stereotype label. |
tags |
array[string] |
Optional PlantUML tags for styling or grouping. |
technology |
string | null |
Optional technology label where supported by the element. |
PlantUMLPersonSchema¶
PlantUML JSON schema for a person.
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. |
base_shape |
string | null |
Optional PlantUML base shape override. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional PlantUML URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional PlantUML sprite/icon reference. |
stereotype |
string | null |
Optional PlantUML custom type/stereotype label. |
tags |
array[string] |
Optional PlantUML tags for styling or grouping. |
technology |
string | null |
Optional technology label where supported by the element. |
PlantUMLRelationshipSchema¶
JSON schema for relationships supported by PlantUML C4 diagrams.
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). |
index |
string | null |
Optional PlantUML dynamic relationship index. |
label(required) |
string |
The label shown on the relationship edge. |
link |
string | null |
Optional PlantUML URL associated with the relationship. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional PlantUML sprite/icon for the relationship. |
tags |
array[string] |
Optional PlantUML relationship tags. |
technology |
string | null |
The technology used in the communication. |
to(required) |
string |
The destination element alias (or unique label). |
PlantUMLSystemBoundarySchema¶
PlantUML JSON schema for a system boundary.
Properties
| Field | Type | Description |
|---|---|---|
type(required) |
string |
Discriminator identifying the element type. Must be exactly SystemBoundary. |
elements |
array[Element] |
Elements nested inside this boundary. |
boundaries |
array[Boundary] |
Boundaries nested inside this boundary. |
relationships |
array[PlantUMLRelationshipSchema] |
Relationships declared inside this boundary. |
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 PlantUML URL associated with the boundary. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
stereotype |
string | null |
Optional PlantUML custom type/stereotype label. |
tags |
array[string] |
Optional PlantUML tags for styling or grouping. |
PlantUMLSystemDbExtSchema¶
PlantUML JSON schema for an external database-like system.
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. |
base_shape |
string | null |
Optional PlantUML base shape override. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional PlantUML URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional PlantUML sprite/icon reference. |
stereotype |
string | null |
Optional PlantUML custom type/stereotype label. |
tags |
array[string] |
Optional PlantUML tags for styling or grouping. |
technology |
string | null |
Optional technology label where supported by the element. |
PlantUMLSystemDbSchema¶
PlantUML JSON schema for a database-like system.
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. |
base_shape |
string | null |
Optional PlantUML base shape override. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional PlantUML URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional PlantUML sprite/icon reference. |
stereotype |
string | null |
Optional PlantUML custom type/stereotype label. |
tags |
array[string] |
Optional PlantUML tags for styling or grouping. |
technology |
string | null |
Optional technology label where supported by the element. |
PlantUMLSystemExtSchema¶
PlantUML JSON schema for an external software system.
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 PlantUML base shape override. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional PlantUML URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional PlantUML sprite/icon reference. |
stereotype |
string | null |
Optional PlantUML custom type/stereotype label. |
tags |
array[string] |
Optional PlantUML tags for styling or grouping. |
technology |
string | null |
Optional technology label where supported by the element. |
PlantUMLSystemQueueExtSchema¶
PlantUML JSON schema for an external queue-like system.
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. |
base_shape |
string | null |
Optional PlantUML base shape override. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional PlantUML URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional PlantUML sprite/icon reference. |
stereotype |
string | null |
Optional PlantUML custom type/stereotype label. |
tags |
array[string] |
Optional PlantUML tags for styling or grouping. |
technology |
string | null |
Optional technology label where supported by the element. |
PlantUMLSystemQueueSchema¶
PlantUML JSON schema for a queue-like system.
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. |
base_shape |
string | null |
Optional PlantUML base shape override. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional PlantUML URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional PlantUML sprite/icon reference. |
stereotype |
string | null |
Optional PlantUML custom type/stereotype label. |
tags |
array[string] |
Optional PlantUML tags for styling or grouping. |
technology |
string | null |
Optional technology label where supported by the element. |
PlantUMLSystemSchema¶
PlantUML JSON schema for a software system.
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 PlantUML base shape override. |
description |
string | null |
Optional description text. |
label(required) |
string |
Display name for the element. |
link |
string | null |
Optional PlantUML URL associated with the element. |
properties |
DiagramElementPropertiesSchema |
Optional property table metadata. |
sprite |
string | null |
Optional PlantUML sprite/icon reference. |
stereotype |
string | null |
Optional PlantUML custom type/stereotype label. |
tags |
array[string] |
Optional PlantUML tags for styling or grouping. |
technology |
string | null |
Optional technology label where supported by the element. |
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 |
string | null |
Boundary element type to style (e.g. 'enterprise', 'system', 'container'). |
font_color |
string | null |
Font/text color. |
legend_sprite |
string | null |
Legend sprite for this styled boundary. |
legend_text |
string | null |
Legend label for this styled boundary. |
shadowing |
boolean | null |
Shadow style/toggle. |
shape |
TagShape |
Shape macro used for rendering. |
sprite |
string | null |
Sprite icon applied to the boundary. |
stereotype |
string | null |
Optional custom type/stereotype label. |
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 boundary. |
border_color |
string | null |
Color of the boundary border. |
border_style |
LineStyle |
Boundary border line style macro. |
border_thickness |
string | null |
Thickness of the boundary border line. |
font_color |
string | null |
Font color used for boundary 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. |
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. |
font_color |
string | null |
Font/text color. |
legend_sprite |
string | null |
Legend sprite for this styled boundary. |
legend_text |
string | null |
Legend label for this styled boundary. |
shadowing |
boolean | null |
Shadow style/toggle. |
shape |
TagShape |
Shape macro used for rendering. |
sprite |
string | null |
Sprite icon applied to the boundary. |
stereotype |
string | null |
Optional custom type/stereotype label. |
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. |
font_color |
string | null |
Font/text color. |
legend_sprite |
string | null |
Legend sprite for this styled boundary. |
legend_text |
string | null |
Legend label for this styled boundary. |
shadowing |
boolean | null |
Shadow style/toggle. |
shape |
TagShape |
Shape macro used for rendering. |
sprite |
string | null |
Sprite icon applied to the boundary. |
stereotype |
string | null |
Optional custom type/stereotype label. |
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 node. |
border_color |
string | null |
Color of the node border. |
border_style |
LineStyle |
Node border line style macro. |
border_thickness |
string | null |
Thickness of the node border line. |
font_color |
string | null |
Font color used for node 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. |
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. |
font_color |
string | null |
Font/text color. |
legend_sprite |
string | null |
Legend sprite for this styled boundary. |
legend_text |
string | null |
Legend label for this styled boundary. |
shadowing |
boolean | null |
Shadow style/toggle. |
shape |
TagShape |
Shape macro used for rendering. |
sprite |
string | null |
Sprite icon applied to the boundary. |
stereotype |
string | null |
Optional custom type/stereotype label. |
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