{
  "schemaVersion": "0.1",
  "errorPolicy": "allOrNothing",
  "revisionMessage": "Initial API dependency map: clients, gateway, internal APIs, external systems",
  "ops": [
    {
      "op": "createNode",
      "id": "web",
      "nodeType": "service",
      "shape": "roundedRect",
      "label": "Web App",
      "icon": "lucide:monitor"
    },
    {
      "op": "createNode",
      "id": "mobile",
      "nodeType": "service",
      "shape": "roundedRect",
      "label": "Mobile App",
      "icon": "lucide:smartphone"
    },
    {
      "op": "createNode",
      "id": "gateway",
      "nodeType": "service",
      "shape": "roundedRect",
      "label": "API Gateway",
      "icon": "lucide:network"
    },
    {
      "op": "createNode",
      "id": "auth_api",
      "nodeType": "service",
      "shape": "roundedRect",
      "label": "Auth API",
      "icon": "lucide:lock"
    },
    {
      "op": "createNode",
      "id": "users_api",
      "nodeType": "service",
      "shape": "roundedRect",
      "label": "Users API",
      "icon": "lucide:users"
    },
    {
      "op": "createNode",
      "id": "orders_api",
      "nodeType": "service",
      "shape": "roundedRect",
      "label": "Orders API",
      "icon": "lucide:package"
    },
    {
      "op": "createNode",
      "id": "catalog_api",
      "nodeType": "service",
      "shape": "roundedRect",
      "label": "Catalog API",
      "icon": "lucide:boxes"
    },
    {
      "op": "createNode",
      "id": "billing_api",
      "nodeType": "service",
      "shape": "roundedRect",
      "label": "Billing API",
      "icon": "lucide:credit-card"
    },
    {
      "op": "createNode",
      "id": "search_api",
      "nodeType": "service",
      "shape": "roundedRect",
      "label": "Search API",
      "icon": "lucide:search"
    },
    {
      "op": "createNode",
      "id": "stripe",
      "nodeType": "externalSystem",
      "shape": "roundedRect",
      "label": "Stripe",
      "icon": "lucide:external-link"
    },
    {
      "op": "createNode",
      "id": "sendgrid",
      "nodeType": "externalSystem",
      "shape": "roundedRect",
      "label": "SendGrid",
      "icon": "lucide:mail"
    },
    {
      "op": "createEdge",
      "id": "e_web_gw",
      "from": {
        "elementId": "web"
      },
      "to": {
        "elementId": "gateway"
      },
      "label": "REST",
      "router": "orthogonal"
    },
    {
      "op": "createEdge",
      "id": "e_mob_gw",
      "from": {
        "elementId": "mobile"
      },
      "to": {
        "elementId": "gateway"
      },
      "label": "REST",
      "router": "orthogonal"
    },
    {
      "op": "createEdge",
      "id": "e_gw_auth",
      "from": {
        "elementId": "gateway"
      },
      "to": {
        "elementId": "auth_api"
      },
      "label": "POST /v1/login",
      "router": "orthogonal"
    },
    {
      "op": "createEdge",
      "id": "e_gw_users",
      "from": {
        "elementId": "gateway"
      },
      "to": {
        "elementId": "users_api"
      },
      "label": "GET /v1/users",
      "router": "orthogonal"
    },
    {
      "op": "createEdge",
      "id": "e_gw_orders",
      "from": {
        "elementId": "gateway"
      },
      "to": {
        "elementId": "orders_api"
      },
      "label": "REST",
      "router": "orthogonal"
    },
    {
      "op": "createEdge",
      "id": "e_gw_catalog",
      "from": {
        "elementId": "gateway"
      },
      "to": {
        "elementId": "catalog_api"
      },
      "label": "REST",
      "router": "orthogonal"
    },
    {
      "op": "createEdge",
      "id": "e_orders_billing",
      "from": {
        "elementId": "orders_api"
      },
      "to": {
        "elementId": "billing_api"
      },
      "label": "POST /charge",
      "router": "orthogonal"
    },
    {
      "op": "createEdge",
      "id": "e_orders_users",
      "from": {
        "elementId": "orders_api"
      },
      "to": {
        "elementId": "users_api"
      },
      "label": "GET /users/:id",
      "router": "orthogonal"
    },
    {
      "op": "createEdge",
      "id": "e_catalog_search",
      "from": {
        "elementId": "catalog_api"
      },
      "to": {
        "elementId": "search_api"
      },
      "label": "POST /index",
      "router": "orthogonal"
    },
    {
      "op": "createEdge",
      "id": "e_billing_stripe",
      "from": {
        "elementId": "billing_api"
      },
      "to": {
        "elementId": "stripe"
      },
      "label": "Stripe SDK",
      "router": "orthogonal"
    },
    {
      "op": "createEdge",
      "id": "e_orders_sendgrid",
      "from": {
        "elementId": "orders_api"
      },
      "to": {
        "elementId": "sendgrid"
      },
      "label": "SendGrid SDK",
      "router": "orthogonal"
    }
  ]
}
