UML · Schema

UML Diagram

Schema representing a UML diagram definition, including its type, source text, and rendered output metadata.

UMLModelingDiagramsSoftware ArchitectureDesignStandards

Properties

Name Type Description
id string Unique identifier for the diagram
title string Human-readable title for the diagram
description string Description of what the diagram represents
diagramType string The type of UML or other diagram
source string The plain-text source of the diagram (e.g., PlantUML or Mermaid syntax)
format string The markup language used for the diagram source
encodedSource string Deflate + base64url encoded version of the source for use with PlantUML/Kroki GET APIs
outputUrl string URL to the rendered diagram image (PNG, SVG, etc.)
outputFormat string The output format of the rendered diagram
tags array Tags categorizing the diagram content
created string ISO 8601 timestamp when the diagram was created
modified string ISO 8601 timestamp when the diagram was last modified
View JSON Schema on GitHub

JSON Schema

uml-diagram-schema.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://github.com/api-evangelist/uml/blob/main/json-schema/uml-diagram-schema.json",
  "title": "UML Diagram",
  "description": "Schema representing a UML diagram definition, including its type, source text, and rendered output metadata.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the diagram"
    },
    "title": {
      "type": "string",
      "description": "Human-readable title for the diagram"
    },
    "description": {
      "type": "string",
      "description": "Description of what the diagram represents"
    },
    "diagramType": {
      "type": "string",
      "description": "The type of UML or other diagram",
      "enum": [
        "class",
        "sequence",
        "activity",
        "usecase",
        "state",
        "component",
        "deployment",
        "object",
        "package",
        "timing",
        "interaction",
        "collaboration",
        "entity-relationship",
        "flowchart",
        "mindmap",
        "gantt",
        "other"
      ]
    },
    "source": {
      "type": "string",
      "description": "The plain-text source of the diagram (e.g., PlantUML or Mermaid syntax)"
    },
    "format": {
      "type": "string",
      "description": "The markup language used for the diagram source",
      "enum": [
        "plantuml",
        "mermaid",
        "graphviz",
        "d2",
        "structurizr",
        "nomnoml",
        "excalidraw",
        "other"
      ]
    },
    "encodedSource": {
      "type": "string",
      "description": "Deflate + base64url encoded version of the source for use with PlantUML/Kroki GET APIs"
    },
    "outputUrl": {
      "type": "string",
      "format": "uri",
      "description": "URL to the rendered diagram image (PNG, SVG, etc.)"
    },
    "outputFormat": {
      "type": "string",
      "description": "The output format of the rendered diagram",
      "enum": ["svg", "png", "jpeg", "pdf", "ascii"]
    },
    "tags": {
      "type": "array",
      "description": "Tags categorizing the diagram content",
      "items": {
        "type": "string"
      }
    },
    "created": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp when the diagram was created"
    },
    "modified": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp when the diagram was last modified"
    }
  },
  "required": ["diagramType", "source", "format"]
}