Skip to content

Technical Documentation

This section contains technical specifications and implementation details for GNS3 Copilot.

Available Documentation

GNS3 Drawing SVG Format

Technical Overview

GNS3 Drawing Format

GNS3 uses SVG (Scalable Vector Graphics) for rendering network topology diagrams. Understanding the SVG format is essential for:

  • Automatic Topology Generation: Programmatically creating visual representations of network topologies
  • Drawing Area Management: Creating visual areas for organizing topology components (e.g., OSPF area circles)
  • Topology Visualization: Rendering network diagrams in the GNS3 Web UI

SVG Drawing Components

GNS3 drawings support the following SVG elements:

Element Usage
<rect> Rectangular areas and zones
<circle> Circular areas (e.g., OSPF areas)
<line> Connection lines and annotations
<path> Complex shapes and routes
<text> Labels and annotations

GNS3 Drawing API

GNS3 provides REST API endpoints for managing drawings:

  • Create Drawing: POST /v2/projects/{project_id}/drawings
  • Update Drawing: PUT /v2/projects/{project_id}/drawings/{drawing_id}
  • Delete Drawing: DELETE /v2/projects/{project_id}/drawings/{drawing_id}
  • Get Drawings: GET /v2/projects/{project_id}/drawings

Example: Creating a Circle Drawing

{
  "type": "ellipse",
  "x": 100,
  "y": 100,
  "width": 200,
  "height": 200,
  "rotation": 0,
  "svg": "<svg width='200' height='200'><ellipse cx='100' cy='100' rx='100' ry='100' style='fill:none;stroke:#ff0000;stroke-width:2'/></svg>"
}