{
  "title": "Random",
  "description": "Hello",
  "type": "custom",
  "data": {
    "nodes": [
      {
        "id": "service-mfBUT",
        "type": "service",
        "position": {
          "x": 362.28317733155177,
          "y": 105.23573712018478
        },
        "data": {
          "mode": "full",
          "service": {
            "id": "1",
            "name": "New Service",
            "owners": [],
            "sends": [],
            "receives": [],
            "version": "0.0.1",
            "summary": "New service. Click edit to change the details."
          },
          "editor": {
            "title": "Service",
            "subtitle": "Edit the details of the service",
            "schema": {
              "type": "object",
              "required": [
                "service",
                "mode"
              ],
              "properties": {
                "service": {
                  "type": "object",
                  "required": [
                    "name",
                    "version"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "title": "Name",
                      "default": "Random value",
                      "description": "The name of the service"
                    },
                    "version": {
                      "type": "string",
                      "title": "Version",
                      "default": "1.0.0",
                      "description": "The version number (e.g., 1.0.0)",
                      "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[\\w.-]+)?(?:\\+[\\w.-]+)?$"
                    },
                    "summary": {
                      "type": "string",
                      "title": "Summary",
                      "default": "",
                      "description": "A brief summary of the service"
                    }
                  }
                }
              }
            }
          }
        },
        "measured": {
          "width": 262,
          "height": 98
        },
        "selected": false,
        "dragging": false
      },
      {
        "id": "query-97SFb",
        "type": "query",
        "position": {
          "x": 724.922228601825,
          "y": 101.2064143282928
        },
        "data": {
          "mode": "full",
          "message": {
            "id": "1",
            "name": "New Query",
            "version": "0.0.1",
            "summary": "New query. Click edit to change the details."
          },
          "editor": {
            "title": "Query",
            "subtitle": "Edit the details of the query",
            "schema": {
              "type": "object",
              "required": [
                "message",
                "mode"
              ],
              "properties": {
                "message": {
                  "type": "object",
                  "required": [
                    "name",
                    "version"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "title": "Name",
                      "default": "Random value",
                      "description": "The name of the service"
                    },
                    "version": {
                      "type": "string",
                      "title": "Version",
                      "default": "1.0.0",
                      "description": "The version number (e.g., 1.0.0)",
                      "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[\\w.-]+)?(?:\\+[\\w.-]+)?$"
                    },
                    "summary": {
                      "type": "string",
                      "title": "Summary",
                      "default": "",
                      "description": "A brief summary of the service"
                    }
                  }
                }
              }
            }
          }
        },
        "measured": {
          "width": 262,
          "height": 98
        },
        "selected": false,
        "dragging": false
      },
      {
        "id": "command-0Sz5b",
        "type": "command",
        "position": {
          "x": 1387.0742740693986,
          "y": 424.89534527694434
        },
        "data": {
          "message": {
            "id": "1",
            "name": "New Command",
            "version": "0.0.1",
            "summary": "New command. Click edit to change the details."
          },
          "mode": "full",
          "editor": {
            "title": "Command",
            "subtitle": "Edit the details of the command",
            "schema": {
              "type": "object",
              "required": [
                "message",
                "mode"
              ],
              "properties": {
                "message": {
                  "type": "object",
                  "required": [
                    "name",
                    "version"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "title": "Name",
                      "default": "Random value",
                      "description": "The name of the command"
                    },
                    "version": {
                      "type": "string",
                      "title": "Version",
                      "default": "1.0.0",
                      "description": "The version number (e.g., 1.0.0)",
                      "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[\\w.-]+)?(?:\\+[\\w.-]+)?$"
                    },
                    "summary": {
                      "type": "string",
                      "title": "Summary",
                      "default": "",
                      "description": "A brief summary of the command"
                    }
                  }
                }
              }
            }
          }
        },
        "measured": {
          "width": 262,
          "height": 98
        },
        "selected": false,
        "dragging": false
      },
      {
        "id": "channel-bGBHx",
        "type": "channel",
        "position": {
          "x": 1207.0978560315589,
          "y": 246.26203483640222
        },
        "data": {
          "mode": "full",
          "channel": {
            "id": "1",
            "name": "New Channel",
            "version": "0.0.1",
            "summary": "New channel. Click edit to change the details."
          },
          "editor": {
            "title": "Channel",
            "subtitle": "Edit the details of the channel",
            "schema": {
              "type": "object",
              "required": [
                "channel",
                "mode"
              ],
              "properties": {
                "channel": {
                  "type": "object",
                  "required": [
                    "name",
                    "version"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "title": "Name",
                      "default": "Random value",
                      "description": "The name of the channel"
                    },
                    "version": {
                      "type": "string",
                      "title": "Version",
                      "default": "1.0.0",
                      "description": "The version number (e.g., 1.0.0)",
                      "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[\\w.-]+)?(?:\\+[\\w.-]+)?$"
                    },
                    "summary": {
                      "type": "string",
                      "title": "Summary",
                      "default": "",
                      "description": "A brief summary of the channel"
                    }
                  }
                }
              }
            }
          }
        },
        "measured": {
          "width": 262,
          "height": 100
        },
        "selected": false,
        "dragging": false
      },
      {
        "id": "external-system-tqwaY",
        "type": "external-system",
        "position": {
          "x": 761.1861337288525,
          "y": 306.7018767147811
        },
        "data": {
          "mode": "full",
          "externalSystem": {
            "id": "1",
            "name": "New External System",
            "version": "0.0.1",
            "summary": "New external system. Click edit to change the details."
          },
          "editor": {
            "title": "External System",
            "subtitle": "Edit the details of the external system",
            "schema": {
              "type": "object",
              "required": [
                "externalSystem",
                "mode"
              ],
              "properties": {
                "externalSystem": {
                  "type": "object",
                  "required": [
                    "name",
                    "version"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "title": "Name",
                      "default": "Random value",
                      "description": "The name of the external system"
                    },
                    "version": {
                      "type": "string",
                      "title": "Version",
                      "default": "1.0.0",
                      "description": "The version number (e.g., 1.0.0)",
                      "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[\\w.-]+)?(?:\\+[\\w.-]+)?$"
                    },
                    "summary": {
                      "type": "string",
                      "title": "Summary",
                      "default": "",
                      "description": "A brief summary of the external system"
                    }
                  }
                }
              }
            }
          }
        },
        "measured": {
          "width": 262,
          "height": 100
        },
        "selected": false,
        "dragging": false
      }
    ],
    "edges": [
      {
        "source": "external-client",
        "target": "service-api-gateway",
        "label": "API Requests",
        "markerEnd": {
          "type": "arrowclosed",
          "color": "#000000"
        },
        "animated": false,
        "type": "default",
        "id": "xy-edge__external-client-service-api-gateway"
      },
      {
        "source": "query-get-dashboard",
        "target": "service-api-gateway",
        "label": "Aggregated Request",
        "markerEnd": {
          "type": "arrowclosed",
          "color": "#000000"
        },
        "animated": false,
        "type": "default",
        "id": "xy-edge__query-get-dashboard-service-api-gateway"
      },
      {
        "source": "service-api-gateway",
        "target": "data-cache",
        "label": "Cache Check",
        "markerEnd": {
          "type": "arrowclosed",
          "color": "#000000"
        },
        "animated": false,
        "type": "default",
        "id": "xy-edge__service-api-gateway-data-cache"
      },
      {
        "source": "service-api-gateway",
        "target": "service-auth",
        "label": "Validate Token",
        "markerEnd": {
          "type": "arrowclosed",
          "color": "#000000"
        },
        "animated": false,
        "type": "default",
        "id": "xy-edge__service-api-gateway-service-auth"
      },
      {
        "source": "service-api-gateway",
        "target": "service-user",
        "label": "Route Request",
        "markerEnd": {
          "type": "arrowclosed",
          "color": "#000000"
        },
        "animated": true,
        "type": "animatedMessage",
        "id": "xy-edge__service-api-gateway-service-user"
      },
      {
        "source": "service-api-gateway",
        "target": "service-order",
        "label": "Route Request",
        "markerEnd": {
          "type": "arrowclosed",
          "color": "#000000"
        },
        "animated": true,
        "type": "animatedMessage",
        "id": "xy-edge__service-api-gateway-service-order"
      },
      {
        "source": "service-api-gateway",
        "target": "service-payment",
        "label": "Route Request",
        "markerEnd": {
          "type": "arrowclosed",
          "color": "#000000"
        },
        "animated": true,
        "type": "animatedMessage",
        "id": "xy-edge__service-api-gateway-service-payment"
      },
      {
        "source": "service-mfBUT",
        "target": "query-97SFb",
        "label": "Publishes",
        "markerEnd": {
          "type": "arrowclosed",
          "color": "#000000"
        },
        "animated": true,
        "type": "animatedMessage",
        "data": {
          "source": "service",
          "target": "query",
          "message": {
            "collection": "events",
            "opacity": 1
          }
        },
        "id": "xy-edge__service-mfBUT-query-97SFb"
      },
      {
        "source": "service-mfBUT",
        "target": "external-system-tqwaY",
        "label": "Publishes",
        "markerEnd": {
          "type": "arrowclosed",
          "color": "#000000"
        },
        "animated": true,
        "type": "animatedMessage",
        "data": {
          "source": "service",
          "target": "external-system",
          "message": {
            "collection": "events",
            "opacity": 1
          }
        },
        "id": "xy-edge__service-mfBUT-external-system-tqwaY"
      },
      {
        "source": "external-system-tqwaY",
        "target": "channel-bGBHx",
        "label": "Connects",
        "markerEnd": {
          "type": "arrowclosed",
          "color": "#000000"
        },
        "animated": true,
        "type": "animatedMessage",
        "data": {
          "source": "external-system",
          "target": "channel",
          "message": {
            "collection": "events",
            "opacity": 1
          }
        },
        "id": "xy-edge__external-system-tqwaY-channel-bGBHx"
      },
      {
        "source": "channel-bGBHx",
        "target": "command-0Sz5b",
        "label": "Delivers",
        "markerEnd": {
          "type": "arrowclosed",
          "color": "#000000"
        },
        "animated": true,
        "type": "animatedMessage",
        "data": {
          "source": "channel",
          "target": "command",
          "message": {
            "collection": "events",
            "opacity": 1
          }
        },
        "id": "xy-edge__channel-bGBHx-command-0Sz5b"
      }
    ],
    "viewport": {
      "x": 205.26496308965716,
      "y": 52.64757512209212,
      "zoom": 0.7445419875609868
    },
    "creationDate": "2025-08-13T13:26:34.035Z",
    "name": "API Gateway Pattern",
    "version": "1.0",
    "source": "https://app.eventcatalog.dev",
    "appState": {},
    "id": "api-gateway-pattern"
  },
  "usecase": "Hello",
  "mermaid": "flowchart TD\n    New_Service[New_Service]\n    New_Query{New_Query}\n    New_Command>New_Command]\n    channel_GBHx[channel_GBHx]\n    external_system_qwaY[[external_system_qwaY]]\n    New_Service -->|events| New_Query\n    New_Service -->|events| external_system_qwaY\n    external_system_qwaY -->|events| channel_GBHx\n    channel_GBHx -->|events| New_Command\n\n    %% Styling\n    classDef service fill:#ff9999\n    classDef event fill:#99ccff\n    classDef command fill:#99ff99\n    classDef query fill:#ffcc99\n    classDef domain fill:#e6ccff\n    classDef external fill:#ffff99\n    classDef data fill:#ccffcc\n    class New_Service service\n    class New_Query query\n    class New_Command command\n    class external_system_qwaY external\n",
  "tags": []
}