{"templateId":"GuidePage","sharedDataIds":{"sidebar":"sidebar-miniapps/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Architecture","description":"Developer API, partner integration, MCP, SDK, and customer help center.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"architecture","__idx":0},"children":["Architecture"]},{"$$mdtype":"Tag","name":"Mermaid","attributes":{"data-language":"mermaid","diagramSource":"flowchart TB\n  subgraph Platform[\"Karzoun platform\"]\n    MP[Marketplace]\n    AE[Automation engine]\n    DB[Dashboard apps]\n    MA[MiniApps runtime]\n    DEF[(MiniApp definition)]\n    MP --> MA\n    AE --> MA\n    DB --> MA\n    DEF --> MA\n  end\n\n  subgraph Provider[\"Your service\"]\n    API[REST / GraphQL API]\n    WH[Webhook sender]\n  end\n\n  MA <-->|OAuth / API calls| API\n  WH -->|POST /miniapps/ns/webhooks| MA\n","diagramHtml":"<div class=\"mermaid\" data-processed=\"true\"><svg id=\"mermaid-1782215781408\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"flowchart\" style=\"max-width: 1222.453125px;\" viewBox=\"0 0 1222.453125 451.1990966796875\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>#mermaid-1782215781408{font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-1782215781408 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-1782215781408 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-1782215781408 .error-icon{fill:#552222;}#mermaid-1782215781408 .error-text{fill:#552222;stroke:#552222;}#mermaid-1782215781408 .edge-thickness-normal{stroke-width:1px;}#mermaid-1782215781408 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1782215781408 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1782215781408 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-1782215781408 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1782215781408 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1782215781408 .marker{fill:#333333;stroke:#333333;}#mermaid-1782215781408 .marker.cross{stroke:#333333;}#mermaid-1782215781408 svg{font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:16px;}#mermaid-1782215781408 p{margin:0;}#mermaid-1782215781408 .label{font-family:\"trebuchet ms\",verdana,arial,sans-serif;color:#333;}#mermaid-1782215781408 .cluster-label text{fill:#333;}#mermaid-1782215781408 .cluster-label span{color:#333;}#mermaid-1782215781408 .cluster-label span p{background-color:transparent;}#mermaid-1782215781408 .label text,#mermaid-1782215781408 span{fill:#333;color:#333;}#mermaid-1782215781408 .node rect,#mermaid-1782215781408 .node circle,#mermaid-1782215781408 .node ellipse,#mermaid-1782215781408 .node polygon,#mermaid-1782215781408 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-1782215781408 .rough-node .label text,#mermaid-1782215781408 .node .label text,#mermaid-1782215781408 .image-shape .label,#mermaid-1782215781408 .icon-shape .label{text-anchor:middle;}#mermaid-1782215781408 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-1782215781408 .rough-node .label,#mermaid-1782215781408 .node .label,#mermaid-1782215781408 .image-shape .label,#mermaid-1782215781408 .icon-shape .label{text-align:center;}#mermaid-1782215781408 .node.clickable{cursor:pointer;}#mermaid-1782215781408 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-1782215781408 .arrowheadPath{fill:#333333;}#mermaid-1782215781408 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-1782215781408 .flowchart-link{stroke:#333333;fill:none;}#mermaid-1782215781408 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1782215781408 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-1782215781408 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1782215781408 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-1782215781408 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-1782215781408 .cluster text{fill:#333;}#mermaid-1782215781408 .cluster span{color:#333;}#mermaid-1782215781408 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-1782215781408 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-1782215781408 rect.text{fill:none;stroke-width:0;}#mermaid-1782215781408 .icon-shape,#mermaid-1782215781408 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-1782215781408 .icon-shape p,#mermaid-1782215781408 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-1782215781408 .icon-shape rect,#mermaid-1782215781408 .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-1782215781408 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-1782215781408 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-1782215781408 :root{--mermaid-font-family:\"trebuchet ms\",verdana,arial,sans-serif;}</style><g><marker id=\"mermaid-1782215781408_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"mermaid-1782215781408_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"mermaid-1782215781408_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"mermaid-1782215781408_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"mermaid-1782215781408_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"mermaid-1782215781408_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"><g class=\"cluster\" id=\"Provider\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"276.359375\" height=\"435.19908905029297\"></rect><g class=\"cluster-label\" transform=\"translate(100.7265625, 8)\"><foreignObject width=\"90.90625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Your service</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"Platform\" data-look=\"classic\"><rect style=\"\" x=\"304.359375\" y=\"8\" width=\"910.09375\" height=\"282.19908905029297\"></rect><g class=\"cluster-label\" transform=\"translate(693.9453125, 8)\"><foreignObject width=\"130.921875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Karzoun platform</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"><path d=\"M415.5,100.1L415.5,110.449C415.5,120.799,415.5,141.499,439.309,159.805C463.118,178.11,510.736,194.021,534.545,201.976L558.354,209.931\" id=\"L_MP_MA_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_MP_MA_0\" data-points=\"W3sieCI6NDE1LjUsInkiOjEwMC4wOTk1NDQ1MjUxNDY0OH0seyJ4Ijo0MTUuNSwieSI6MTYyLjE5OTA4OTA1MDI5Mjk3fSx7IngiOjU2Mi4xNDc0MDk1Mzk0NzM2LCJ5IjoyMTEuMTk5MDg5MDUwMjkyOTd9XQ==\" marker-end=\"url(#mermaid-1782215781408_flowchart-v2-pointEnd)\"></path><path d=\"M642.953,100.1L642.953,110.449C642.953,120.799,642.953,141.499,642.953,159.349C642.953,177.199,642.953,192.199,642.953,199.699L642.953,207.199\" id=\"L_AE_MA_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_AE_MA_0\" data-points=\"W3sieCI6NjQyLjk1MzEyNSwieSI6MTAwLjA5OTU0NDUyNTE0NjQ4fSx7IngiOjY0Mi45NTMxMjUsInkiOjE2Mi4xOTkwODkwNTAyOTI5N30seyJ4Ijo2NDIuOTUzMTI1LCJ5IjoyMTEuMTk5MDg5MDUwMjkyOTd9XQ==\" marker-end=\"url(#mermaid-1782215781408_flowchart-v2-pointEnd)\"></path><path d=\"M885.68,100.1L885.68,110.449C885.68,120.799,885.68,141.499,860.233,159.817C834.787,178.134,783.895,194.069,758.448,202.036L733.002,210.004\" id=\"L_DB_MA_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_DB_MA_0\" data-points=\"W3sieCI6ODg1LjY3OTY4NzUsInkiOjEwMC4wOTk1NDQ1MjUxNDY0OH0seyJ4Ijo4ODUuNjc5Njg3NSwieSI6MTYyLjE5OTA4OTA1MDI5Mjk3fSx7IngiOjcyOS4xODQ5MzAwOTg2ODQyLCJ5IjoyMTEuMTk5MDg5MDUwMjkyOTd9XQ==\" marker-end=\"url(#mermaid-1782215781408_flowchart-v2-pointEnd)\"></path><path d=\"M1103.273,113.199L1103.273,121.366C1103.273,129.532,1103.273,145.866,1043.334,163.929C983.394,181.992,863.514,201.784,803.574,211.68L743.634,221.576\" id=\"L_DEF_MA_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_DEF_MA_0\" data-points=\"W3sieCI6MTEwMy4yNzM0Mzc1LCJ5IjoxMTMuMTk5MDg5MDUwMjkyOTd9LHsieCI6MTEwMy4yNzM0Mzc1LCJ5IjoxNjIuMTk5MDg5MDUwMjkyOTd9LHsieCI6NzM5LjY4NzUsInkiOjIyMi4yMjgwMDkxMjk3MjEzNn1d\" marker-end=\"url(#mermaid-1782215781408_flowchart-v2-pointEnd)\"></path><path d=\"M642.953,269.199L642.953,272.699C642.953,276.199,642.953,283.199,560.158,292.866C477.362,302.532,311.771,314.866,228.975,326.532C146.18,338.199,146.18,349.199,146.18,354.699L146.18,360.199\" id=\"L_MA_API_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_MA_API_0\" data-points=\"W3sieCI6NjQyLjk1MzEyNSwieSI6MjY1LjE5OTA4OTA1MDI5Mjk3fSx7IngiOjY0Mi45NTMxMjUsInkiOjI5MC4xOTkwODkwNTAyOTI5N30seyJ4IjoxNDYuMTc5Njg3NSwieSI6MzI3LjE5OTA4OTA1MDI5Mjk3fSx7IngiOjE0Ni4xNzk2ODc1LCJ5IjozNjQuMTk5MDg5MDUwMjkyOTd9XQ==\" marker-start=\"url(#mermaid-1782215781408_flowchart-v2-pointStart)\" marker-end=\"url(#mermaid-1782215781408_flowchart-v2-pointEnd)\"></path><path d=\"M146.18,100.1L146.18,110.449C146.18,120.799,146.18,141.499,212.194,161.948C278.208,182.398,410.236,202.596,476.251,212.696L542.265,222.795\" id=\"L_WH_MA_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_WH_MA_0\" data-points=\"W3sieCI6MTQ2LjE3OTY4NzUsInkiOjEwMC4wOTk1NDQ1MjUxNDY0OH0seyJ4IjoxNDYuMTc5Njg3NSwieSI6MTYyLjE5OTA4OTA1MDI5Mjk3fSx7IngiOjU0Ni4yMTg3NSwieSI6MjIzLjM5OTk2MzQ0Mjg1NzQ4fV0=\" marker-end=\"url(#mermaid-1782215781408_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_MP_MA_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_AE_MA_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_DB_MA_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_DEF_MA_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(146.1796875, 327.19908905029297)\"><g class=\"label\" data-id=\"L_MA_API_0\" transform=\"translate(-61.3515625, -12)\"><foreignObject width=\"122.703125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>OAuth / API calls</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(146.1796875, 162.19908905029297)\"><g class=\"label\" data-id=\"L_WH_MA_0\" transform=\"translate(-100, -24)\"><foreignObject width=\"200\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;\"><span class=\"edgeLabel\"><p>POST /miniapps/ns/webhooks</p></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"flowchart-MP-0\" transform=\"translate(415.5, 73.09954452514648)\"><rect class=\"basic label-container\" style=\"\" x=\"-76.140625\" y=\"-27\" width=\"152.28125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-46.140625, -12)\"><rect></rect><foreignObject width=\"92.28125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Marketplace</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"flowchart-AE-1\" transform=\"translate(642.953125, 73.09954452514648)\"><rect class=\"basic label-container\" style=\"\" x=\"-101.3125\" y=\"-27\" width=\"202.625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-71.3125, -12)\"><rect></rect><foreignObject width=\"142.625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Automation engine</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"flowchart-DB-2\" transform=\"translate(885.6796875, 73.09954452514648)\"><rect class=\"basic label-container\" style=\"\" x=\"-91.4140625\" y=\"-27\" width=\"182.828125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-61.4140625, -12)\"><rect></rect><foreignObject width=\"122.828125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Dashboard apps</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"flowchart-MA-3\" transform=\"translate(642.953125, 238.19908905029297)\"><rect class=\"basic label-container\" style=\"\" x=\"-96.734375\" y=\"-27\" width=\"193.46875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-66.734375, -12)\"><rect></rect><foreignObject width=\"133.46875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>MiniApps runtime</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"flowchart-DEF-4\" transform=\"translate(1103.2734375, 73.09954452514648)\"><path d=\"M0,13.733029125119712 a76.1796875,13.733029125119712 0,0,0 152.359375,0 a76.1796875,13.733029125119712 0,0,0 -152.359375,0 l0,52.733029125119714 a76.1796875,13.733029125119712 0,0,0 152.359375,0 l0,-52.733029125119714\" class=\"basic label-container\" style=\"\" transform=\"translate(-76.1796875, -40.09954368767957)\"></path><g class=\"label\" style=\"\" transform=\"translate(-68.6796875, -2)\"><rect></rect><foreignObject width=\"137.359375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>MiniApp definition</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"flowchart-API-13\" transform=\"translate(146.1796875, 391.19908905029297)\"><rect class=\"basic label-container\" style=\"\" x=\"-103.1796875\" y=\"-27\" width=\"206.359375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-73.1796875, -12)\"><rect></rect><foreignObject width=\"146.359375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>REST / GraphQL API</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"flowchart-WH-14\" transform=\"translate(146.1796875, 73.09954452514648)\"><rect class=\"basic label-container\" style=\"\" x=\"-93.453125\" y=\"-27\" width=\"186.90625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-63.453125, -12)\"><rect></rect><foreignObject width=\"126.90625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Webhook sender</p></span></div></foreignObject></g></g></g></g></g></svg></div>"},"children":["flowchart TB\n  subgraph Platform[\"Karzoun platform\"]\n    MP[Marketplace]\n    AE[Automation engine]\n    DB[Dashboard apps]\n    MA[MiniApps runtime]\n    DEF[(MiniApp definition)]\n    MP --> MA\n    AE --> MA\n    DB --> MA\n    DEF --> MA\n  end\n\n  subgraph Provider[\"Your service\"]\n    API[REST / GraphQL API]\n    WH[Webhook sender]\n  end\n\n  MA <-->|OAuth / API calls| API\n  WH -->|POST /miniapps/ns/webhooks| MA\n"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A MiniApp is a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["single JSON document"]}," you author and submit to Karzoun. After review and approval, Karzoun hosts the definition and runs it at runtime. You do not deploy servers or databases on our infrastructure."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The document declares:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Authentication"]}," — How tenants connect accounts (OAuth 2.0 or API key)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Actions"]}," — API calls users and automations can run"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Triggers"]}," — Events that appear in the Automation Builder"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Webhooks"]}," — How inbound provider events are verified and parsed"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Sync"]}," (optional) — Bulk import and realtime commerce sync for e-commerce platforms"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Sources"]}," — RPC-backed dropdowns in action forms"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Karzoun interprets the document at runtime. Behavior is declared in JSON — no custom server code on your side."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-docs","__idx":1},"children":["Related docs"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/developers/guides/webhooks"},"children":["Tenant webhooks"]}," — Workspace-level outbound webhooks (separate from MiniApp inbound webhooks)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/partners"},"children":["Partners program"]}," — Whitelabel and embedded commerce integrations"]}]}]},"headings":[{"value":"Architecture","id":"architecture","depth":1},{"value":"Related docs","id":"related-docs","depth":2}],"frontmatter":{"title":"Architecture","titleTranslationKey":"sidebar.miniapps.architecture","audience":"developer","status":"published","locales":["en"],"template":"GuidePage","seo":{"title":"Architecture"}},"lastModified":"2026-06-23T12:06:12.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/miniapps/architecture","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}