- 0 minutes to read

L1 System Context Diagram Example

The L1 Context diagram shows one central system, its actors (people), and the external systems it depends on. It is the highest-level diagram in the C4 zoom hierarchy and the most accessible for non-technical audiences.

See Example C4 Diagrams for an overview of all diagram types and when to use each.

When to Use

  • Onboarding stakeholders — executives, business analysts, board members
  • Establishing the system boundary before zooming into L2
  • Documenting high-level integrations without technical detail
  • Avoids databases, APIs, or protocols — those belong in L2

Example: Order Management System

Preview Mermaid Code
C4Context title Order Management System - L1 Context Diagram Person(customer, "Customer", "Places orders for products") Person(support_agent, "Support Agent", "Handles customer inquiries and returns") Person(warehouse_staff, "Warehouse Staff", "Picks and ships orders") System(order_system, "Order Management System", "Manages orders, inventory, and fulfillment") System_Ext(payment_gateway, "Payment Gateway", "Processes credit card payments") System_Ext(email_service, "Email Service", "Sends order confirmations and updates") System_Ext(warehouse_erp, "Warehouse ERP", "Manages physical inventory and shipping") Rel(customer, order_system, "Places orders", "Web/Mobile") Rel(support_agent, order_system, "Manages returns", "Web") Rel(warehouse_staff, warehouse_erp, "Checks order fulfillment", "Web") Rel(order_system, payment_gateway, "Processes payments", "REST API") Rel(order_system, email_service, "Sends notifications", "SMTP") Rel(order_system, warehouse_erp, "Sends fulfillment requests", "REST API")
C4Context
    title Order Management System - L1 Context Diagram

    Person(customer, "Customer", "Places orders for products")
    Person(support_agent, "Support Agent", "Handles customer inquiries and returns")
    Person(warehouse_staff, "Warehouse Staff", "Picks and ships orders")

    System(order_system, "Order Management System", "Manages orders, inventory, and fulfillment")

    System_Ext(payment_gateway, "Payment Gateway", "Processes credit card payments")
    System_Ext(email_service, "Email Service", "Sends order confirmations and updates")
    System_Ext(warehouse_erp, "Warehouse ERP", "Manages physical inventory and shipping")

    Rel(customer, order_system, "Places orders", "Web/Mobile")
    Rel(support_agent, order_system, "Manages returns", "Web")
    Rel(warehouse_staff, warehouse_erp, "Checks order fulfillment", "Web")

    Rel(order_system, payment_gateway, "Processes payments", "REST API")
    Rel(order_system, email_service, "Sends notifications", "SMTP")
    Rel(order_system, warehouse_erp, "Sends fulfillment requests", "REST API")

Test Data Setup

To recreate this diagram in Nodinite, create the following entities.

Systems:

  • Customer (C4Type: Person)
  • Support Agent (C4Type: Person)
  • Warehouse Staff (C4Type: Person)
  • Order Management System (C4Type: InternalSystem)
  • Payment Gateway (C4Type: ExternalSystem)
  • Email Service (C4Type: ExternalSystem)
  • Warehouse ERP (C4Type: ExternalSystem)

Next Step

Zoom into the Order Management System with the L2: Container Diagram Example to see its internal structure.