{"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"document-microservices-apis-with-the-developer-portal","__idx":0},"children":["Document microservices APIs with the developer portal"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"danger","name":"Deprecated docs"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The developer portal beta is ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/product-timelines"},"children":["approaching end of life"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use Realm and Reunite instead. Read the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs-legacy/developer-portal/migrate-from-legacy-portal"},"children":["migration guide"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Microservices are commonly organized into multiple git repositories. This guide describes how to create a developer portal (using Redocly) with multiple microservices documented together."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," These are Redocly recommendations for documenting multiple microservices. You may choose to implement your microservices differently to this method."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-1-organize-your-microservices-api-definitions","__idx":1},"children":["Step 1: Organize your microservices API definitions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Set up your microservice APIs so that each microservice API is responsible for its own API definition."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The OpenAPI definition would typically live within the same ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["git"]}," repository as the microservice itself."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-2-connect-each-microservices-api-to-redoclys-api-registry","__idx":2},"children":["Step 2: Connect each microservices API to Redocly's API registry"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Redocly's preferred option is connecting the microservices APIs to git repos for three reasons:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Automated linting"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Automated bundling (into what we call snapshots)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Automated links to previews of the microservices API reference (useful for normal change management process such as GitHub flow, Gitflow, or trunk-based development)"]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If Redocly's git app cannot be installed due to security reasons (connectivity is blocked due to firewalls, etc.), you are unable to use this preferred option. Redocly has a CLI tool which can ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/cli/commands/push"},"children":["\"push\" APIs"]}," into our registry."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-3-set-up-a-developer-portal-repo-that-redocly-can-access","__idx":3},"children":["Step 3: Set up a developer portal repo (that Redocly can access)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Redocly expects the developer portal source to be stored in a git repository. We recommend starting with the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://github.com/Redocly/developer-portal-starter"},"children":["developer portal starter repo"]},", which you can use as a template."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you do not use GitHub, you can download the template and create a repository in your preferred git provider."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-4-connect-the-repo-to-redocly","__idx":4},"children":["Step 4: Connect the repo to Redocly"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To set up the developer portal connection in Redocly Workflows, navigate to  ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Portals > Add new"]},"."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/add-new-dev-portal-6b8fde553c69cc40.png","alt":"Add a new developer portal"},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Follow the steps to connect to your repository."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Tip"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We recommend enabling previews from PRs (not for branches)."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-5-add-microservices-apis-to-your-developer-portal","__idx":5},"children":["Step 5: Add microservices APIs to your developer portal"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To add microservices APIs to the developer portal, reference the external OpenAPI definitions within the developer portal by using Redocly's API registry."," ","For more information, see ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs-legacy/api-registry/overview"},"children":["API Registry"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Redocly's API registry keeps a record of all usages, so when you update an API (in its production branch), the developer portal is updated automatically."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once you have added your microservices API, complete these tasks to build your developer portal content:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Find your ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs-legacy/api-registry/guides/snapshots"},"children":["snapshot URLs"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Declare your ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs-legacy/developer-portal/guides/reference-docs-integration-advanced#step-1-declare-your-api-definitions"},"children":["API definitions"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Add your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".page.yaml"]}," file. For more information, see ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs-legacy/developer-portal/guides/reference-docs-integration-advanced#step-2-add-pages-that-reference-the-definitions"},"children":["Adding pages manually"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Define what to display in the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs-legacy/developer-portal/configuration/sidebar-nav"},"children":["left navigation"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs-legacy/developer-portal/guides/navbars-footers"},"children":["Customize your top navigation"]}," in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["siteConfig.yaml"]}," file."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"diagram-microservices-api-with-developer-portal","__idx":6},"children":["Diagram: Microservices API with developer portal"]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"graph LR\n    subgraph Customer Product\n    ms1[Microservice 1]\n    ms2[Microservice 2]\n    ms3[Microservice 3]\n    api1[API definition 1]\n    api2[API definition 2]\n    api3[API definition 3]\n    ms1 -- includes --> api1\n    ms2 -- includes --> api2\n    ms3 -- includes --> api3\n    end\n    apir[Redocly API registry]\n    ref[API reference docs]\n    api1 -- connected to --> apir\n    api2 -- connected to --> apir\n    api3 -- connected to --> apir\n    dp[API developer portal]\n    apir -- rendered within --> ref\n    ref -- integrated with --> dp\n","diagramHtml":"<svg id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1565.6875px;\" viewBox=\"0 0 1565.6875 348\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .error-icon{fill:#552222;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .error-text{fill:#552222;stroke:#552222;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .edge-thickness-normal{stroke-width:1px;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .edge-thickness-thick{stroke-width:3.5px;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .edge-pattern-solid{stroke-dasharray:0;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .edge-pattern-dashed{stroke-dasharray:3;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .edge-pattern-dotted{stroke-dasharray:2;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .marker{fill:#333333;stroke:#333333;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .marker.cross{stroke:#333333;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a p{margin:0;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#333;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .cluster-label text{fill:#333;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .cluster-label span{color:#333;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .cluster-label span p{background-color:transparent;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .label text,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a span{fill:#333;color:#333;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .node rect,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .node circle,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .node ellipse,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .node polygon,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .rough-node .label text,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .node .label text,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .image-shape .label,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .icon-shape .label{text-anchor:middle;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .rough-node .label,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .node .label,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .image-shape .label,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .icon-shape .label{text-align:center;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .node.clickable{cursor:pointer;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .arrowheadPath{fill:#333333;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .flowchart-link{stroke:#333333;fill:none;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .cluster text{fill:#333;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .cluster span{color:#333;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a rect.text{fill:none;stroke-width:0;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .icon-shape,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .icon-shape p,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .icon-shape .label rect,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a .node .neo-node{stroke:#9370DB;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a [data-look=\"neo\"].node rect,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a [data-look=\"neo\"].cluster rect,#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_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=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_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=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_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=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_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=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_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=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_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><marker id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-subGraph0\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"489.46875\" height=\"332\"></rect><g class=\"cluster-label\" transform=\"translate(188.265625, 8)\"><foreignObject width=\"128.9375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Customer Product</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"><path d=\"M196.141,70L205.199,70C214.258,70,232.375,70,249.826,70C267.276,70,284.06,70,292.452,70L300.844,70\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-L_ms1_api1_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_ms1_api1_0\" data-points=\"W3sieCI6MTk2LjE0MDYyNSwieSI6NzB9LHsieCI6MjUwLjQ5MjE4NzUsInkiOjcwfSx7IngiOjMwNC44NDM3NSwieSI6NzB9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_flowchart-v2-pointEnd)\"></path><path d=\"M196.141,174L205.199,174C214.258,174,232.375,174,249.826,174C267.276,174,284.06,174,292.452,174L300.844,174\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-L_ms2_api2_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_ms2_api2_0\" data-points=\"W3sieCI6MTk2LjE0MDYyNSwieSI6MTc0fSx7IngiOjI1MC40OTIxODc1LCJ5IjoxNzR9LHsieCI6MzA0Ljg0Mzc1LCJ5IjoxNzR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_flowchart-v2-pointEnd)\"></path><path d=\"M196.141,278L205.199,278C214.258,278,232.375,278,249.826,278C267.276,278,284.06,278,292.452,278L300.844,278\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-L_ms3_api3_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_ms3_api3_0\" data-points=\"W3sieCI6MTk2LjE0MDYyNSwieSI6Mjc4fSx7IngiOjI1MC40OTIxODc1LCJ5IjoyNzh9LHsieCI6MzA0Ljg0Mzc1LCJ5IjoyNzh9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_flowchart-v2-pointEnd)\"></path><path d=\"M472.469,70L476.635,70C480.802,70,489.135,70,505.104,70C521.073,70,544.677,70,577.236,82.49C609.796,94.979,651.31,119.958,672.067,132.448L692.825,144.938\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-L_api1_apir_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_api1_apir_0\" data-points=\"W3sieCI6NDcyLjQ2ODc1LCJ5Ijo3MH0seyJ4Ijo0OTcuNDY4NzUsInkiOjcwfSx7IngiOjU2OC4yODEyNSwieSI6NzB9LHsieCI6Njk2LjI1MjEwMzM2NTM4NDYsInkiOjE0N31d\" data-look=\"classic\" marker-end=\"url(#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_flowchart-v2-pointEnd)\"></path><path d=\"M472.469,174L476.635,174C480.802,174,489.135,174,505.104,174C521.073,174,544.677,174,567.615,174C590.552,174,612.823,174,623.958,174L635.094,174\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-L_api2_apir_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_api2_apir_0\" data-points=\"W3sieCI6NDcyLjQ2ODc1LCJ5IjoxNzR9LHsieCI6NDk3LjQ2ODc1LCJ5IjoxNzR9LHsieCI6NTY4LjI4MTI1LCJ5IjoxNzR9LHsieCI6NjM5LjA5Mzc1LCJ5IjoxNzR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_flowchart-v2-pointEnd)\"></path><path d=\"M472.469,278L476.635,278C480.802,278,489.135,278,505.104,278C521.073,278,544.677,278,577.236,265.51C609.796,253.021,651.31,228.042,672.067,215.552L692.825,203.062\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-L_api3_apir_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_api3_apir_0\" data-points=\"W3sieCI6NDcyLjQ2ODc1LCJ5IjoyNzh9LHsieCI6NDk3LjQ2ODc1LCJ5IjoyNzh9LHsieCI6NTY4LjI4MTI1LCJ5IjoyNzh9LHsieCI6Njk2LjI1MjEwMzM2NTM4NDYsInkiOjIwMX1d\" data-look=\"classic\" marker-end=\"url(#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_flowchart-v2-pointEnd)\"></path><path d=\"M843.156,174L856.44,174C869.724,174,896.292,174,922.193,174C948.094,174,973.328,174,985.945,174L998.563,174\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-L_apir_ref_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_apir_ref_0\" data-points=\"W3sieCI6ODQzLjE1NjI1LCJ5IjoxNzR9LHsieCI6OTIyLjg1OTM3NSwieSI6MTc0fSx7IngiOjEwMDIuNTYyNSwieSI6MTc0fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_flowchart-v2-pointEnd)\"></path><path d=\"M1198.641,174L1211.479,174C1224.318,174,1249.995,174,1275.005,174C1300.016,174,1324.359,174,1336.531,174L1348.703,174\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-L_ref_dp_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_ref_dp_0\" data-points=\"W3sieCI6MTE5OC42NDA2MjUsInkiOjE3NH0seyJ4IjoxMjc1LjY3MTg3NSwieSI6MTc0fSx7IngiOjEzNTIuNzAzMTI1LCJ5IjoxNzR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\" transform=\"translate(250.4921875, 70)\"><g class=\"label\" data-id=\"L_ms1_api1_0\" transform=\"translate(-29.3515625, -12)\"><foreignObject width=\"58.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>includes</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(250.4921875, 174)\"><g class=\"label\" data-id=\"L_ms2_api2_0\" transform=\"translate(-29.3515625, -12)\"><foreignObject width=\"58.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>includes</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(250.4921875, 278)\"><g class=\"label\" data-id=\"L_ms3_api3_0\" transform=\"translate(-29.3515625, -12)\"><foreignObject width=\"58.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>includes</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(568.28125, 70)\"><g class=\"label\" data-id=\"L_api1_apir_0\" transform=\"translate(-45.8125, -12)\"><foreignObject width=\"91.625\" 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>connected to</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(568.28125, 174)\"><g class=\"label\" data-id=\"L_api2_apir_0\" transform=\"translate(-45.8125, -12)\"><foreignObject width=\"91.625\" 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>connected to</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(568.28125, 278)\"><g class=\"label\" data-id=\"L_api3_apir_0\" transform=\"translate(-45.8125, -12)\"><foreignObject width=\"91.625\" 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>connected to</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(922.859375, 174)\"><g class=\"label\" data-id=\"L_apir_ref_0\" transform=\"translate(-54.703125, -12)\"><foreignObject width=\"109.40625\" 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>rendered within</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(1275.671875, 174)\"><g class=\"label\" data-id=\"L_ref_dp_0\" transform=\"translate(-52.03125, -12)\"><foreignObject width=\"104.0625\" 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>integrated with</p></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-flowchart-ms1-0\" data-look=\"classic\" transform=\"translate(114.5703125, 70)\"><rect class=\"basic label-container\" style=\"\" x=\"-81.5703125\" y=\"-27\" width=\"163.140625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-51.5703125, -12)\"><rect></rect><foreignObject width=\"103.140625\" 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>Microservice 1</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-flowchart-ms2-1\" data-look=\"classic\" transform=\"translate(114.5703125, 174)\"><rect class=\"basic label-container\" style=\"\" x=\"-81.5703125\" y=\"-27\" width=\"163.140625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-51.5703125, -12)\"><rect></rect><foreignObject width=\"103.140625\" 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>Microservice 2</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-flowchart-ms3-2\" data-look=\"classic\" transform=\"translate(114.5703125, 278)\"><rect class=\"basic label-container\" style=\"\" x=\"-81.5703125\" y=\"-27\" width=\"163.140625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-51.5703125, -12)\"><rect></rect><foreignObject width=\"103.140625\" 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>Microservice 3</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-flowchart-api1-3\" data-look=\"classic\" transform=\"translate(388.65625, 70)\"><rect class=\"basic label-container\" style=\"\" x=\"-83.8125\" y=\"-27\" width=\"167.625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-53.8125, -12)\"><rect></rect><foreignObject width=\"107.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>API definition 1</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-flowchart-api2-4\" data-look=\"classic\" transform=\"translate(388.65625, 174)\"><rect class=\"basic label-container\" style=\"\" x=\"-83.8125\" y=\"-27\" width=\"167.625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-53.8125, -12)\"><rect></rect><foreignObject width=\"107.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>API definition 2</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-flowchart-api3-5\" data-look=\"classic\" transform=\"translate(388.65625, 278)\"><rect class=\"basic label-container\" style=\"\" x=\"-83.8125\" y=\"-27\" width=\"167.625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-53.8125, -12)\"><rect></rect><foreignObject width=\"107.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>API definition 3</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-flowchart-apir-12\" data-look=\"classic\" transform=\"translate(741.125, 174)\"><rect class=\"basic label-container\" style=\"\" x=\"-102.03125\" y=\"-27\" width=\"204.0625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-72.03125, -12)\"><rect></rect><foreignObject width=\"144.0625\" 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>Redocly API registry</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-flowchart-ref-13\" data-look=\"classic\" transform=\"translate(1100.6015625, 174)\"><rect class=\"basic label-container\" style=\"\" x=\"-98.0390625\" y=\"-27\" width=\"196.078125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-68.0390625, -12)\"><rect></rect><foreignObject width=\"136.078125\" 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>API reference docs</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-flowchart-dp-20\" data-look=\"classic\" transform=\"translate(1455.1953125, 174)\"><rect class=\"basic label-container\" style=\"\" x=\"-102.4921875\" y=\"-27\" width=\"204.984375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-72.4921875, -12)\"><rect></rect><foreignObject width=\"144.984375\" 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>API developer portal</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs><defs><filter id=\"diagram-f477510c9d8cfc1c1f83689e0022b67cccebc55e7fe9b78423d4dc123838c48a-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs></svg>","diagramHtmlDark":"<svg id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1565.6875px;\" viewBox=\"0 0 1565.6875 348\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .error-icon{fill:#a44141;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .error-text{fill:#ddd;stroke:#ddd;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .edge-thickness-normal{stroke-width:1px;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .edge-thickness-thick{stroke-width:3.5px;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .edge-pattern-solid{stroke-dasharray:0;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .marker{fill:lightgrey;stroke:lightgrey;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .marker.cross{stroke:lightgrey;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 p{margin:0;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#ccc;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .cluster-label text{fill:#F9FFFE;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .cluster-label span{color:#F9FFFE;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .cluster-label span p{background-color:transparent;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .label text,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 span{fill:#ccc;color:#ccc;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .node rect,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .node circle,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .node ellipse,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .node polygon,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .rough-node .label text,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .node .label text,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .image-shape .label,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .icon-shape .label{text-anchor:middle;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .rough-node .label,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .node .label,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .image-shape .label,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .icon-shape .label{text-align:center;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .node.clickable{cursor:pointer;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .arrowheadPath{fill:lightgrey;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .edgePath .path{stroke:lightgrey;stroke-width:1px;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .flowchart-link{stroke:lightgrey;fill:none;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .cluster text{fill:#F9FFFE;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .cluster span{color:#F9FFFE;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 rect.text{fill:none;stroke-width:0;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .icon-shape,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .icon-shape p,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .icon-shape .label rect,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 .node .neo-node{stroke:#ccc;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 [data-look=\"neo\"].node rect,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 [data-look=\"neo\"].cluster rect,#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 [data-look=\"neo\"].node polygon{stroke:url(#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 [data-look=\"neo\"].node path{stroke:url(#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-gradient);stroke-width:1px;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 [data-look=\"neo\"].node circle{stroke:url(#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_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=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_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=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_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=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_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=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_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=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_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><marker id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-subGraph0\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"489.46875\" height=\"332\"></rect><g class=\"cluster-label\" transform=\"translate(188.265625, 8)\"><foreignObject width=\"128.9375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Customer Product</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"><path d=\"M196.141,70L205.199,70C214.258,70,232.375,70,249.826,70C267.276,70,284.06,70,292.452,70L300.844,70\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-L_ms1_api1_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_ms1_api1_0\" data-points=\"W3sieCI6MTk2LjE0MDYyNSwieSI6NzB9LHsieCI6MjUwLjQ5MjE4NzUsInkiOjcwfSx7IngiOjMwNC44NDM3NSwieSI6NzB9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_flowchart-v2-pointEnd)\"></path><path d=\"M196.141,174L205.199,174C214.258,174,232.375,174,249.826,174C267.276,174,284.06,174,292.452,174L300.844,174\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-L_ms2_api2_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_ms2_api2_0\" data-points=\"W3sieCI6MTk2LjE0MDYyNSwieSI6MTc0fSx7IngiOjI1MC40OTIxODc1LCJ5IjoxNzR9LHsieCI6MzA0Ljg0Mzc1LCJ5IjoxNzR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_flowchart-v2-pointEnd)\"></path><path d=\"M196.141,278L205.199,278C214.258,278,232.375,278,249.826,278C267.276,278,284.06,278,292.452,278L300.844,278\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-L_ms3_api3_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_ms3_api3_0\" data-points=\"W3sieCI6MTk2LjE0MDYyNSwieSI6Mjc4fSx7IngiOjI1MC40OTIxODc1LCJ5IjoyNzh9LHsieCI6MzA0Ljg0Mzc1LCJ5IjoyNzh9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_flowchart-v2-pointEnd)\"></path><path d=\"M472.469,70L476.635,70C480.802,70,489.135,70,505.104,70C521.073,70,544.677,70,577.236,82.49C609.796,94.979,651.31,119.958,672.067,132.448L692.825,144.938\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-L_api1_apir_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_api1_apir_0\" data-points=\"W3sieCI6NDcyLjQ2ODc1LCJ5Ijo3MH0seyJ4Ijo0OTcuNDY4NzUsInkiOjcwfSx7IngiOjU2OC4yODEyNSwieSI6NzB9LHsieCI6Njk2LjI1MjEwMzM2NTM4NDYsInkiOjE0N31d\" data-look=\"classic\" marker-end=\"url(#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_flowchart-v2-pointEnd)\"></path><path d=\"M472.469,174L476.635,174C480.802,174,489.135,174,505.104,174C521.073,174,544.677,174,567.615,174C590.552,174,612.823,174,623.958,174L635.094,174\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-L_api2_apir_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_api2_apir_0\" data-points=\"W3sieCI6NDcyLjQ2ODc1LCJ5IjoxNzR9LHsieCI6NDk3LjQ2ODc1LCJ5IjoxNzR9LHsieCI6NTY4LjI4MTI1LCJ5IjoxNzR9LHsieCI6NjM5LjA5Mzc1LCJ5IjoxNzR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_flowchart-v2-pointEnd)\"></path><path d=\"M472.469,278L476.635,278C480.802,278,489.135,278,505.104,278C521.073,278,544.677,278,577.236,265.51C609.796,253.021,651.31,228.042,672.067,215.552L692.825,203.062\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-L_api3_apir_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_api3_apir_0\" data-points=\"W3sieCI6NDcyLjQ2ODc1LCJ5IjoyNzh9LHsieCI6NDk3LjQ2ODc1LCJ5IjoyNzh9LHsieCI6NTY4LjI4MTI1LCJ5IjoyNzh9LHsieCI6Njk2LjI1MjEwMzM2NTM4NDYsInkiOjIwMX1d\" data-look=\"classic\" marker-end=\"url(#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_flowchart-v2-pointEnd)\"></path><path d=\"M843.156,174L856.44,174C869.724,174,896.292,174,922.193,174C948.094,174,973.328,174,985.945,174L998.563,174\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-L_apir_ref_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_apir_ref_0\" data-points=\"W3sieCI6ODQzLjE1NjI1LCJ5IjoxNzR9LHsieCI6OTIyLjg1OTM3NSwieSI6MTc0fSx7IngiOjEwMDIuNTYyNSwieSI6MTc0fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_flowchart-v2-pointEnd)\"></path><path d=\"M1198.641,174L1211.479,174C1224.318,174,1249.995,174,1275.005,174C1300.016,174,1324.359,174,1336.531,174L1348.703,174\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-L_ref_dp_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_ref_dp_0\" data-points=\"W3sieCI6MTE5OC42NDA2MjUsInkiOjE3NH0seyJ4IjoxMjc1LjY3MTg3NSwieSI6MTc0fSx7IngiOjEzNTIuNzAzMTI1LCJ5IjoxNzR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\" transform=\"translate(250.4921875, 70)\"><g class=\"label\" data-id=\"L_ms1_api1_0\" transform=\"translate(-29.3515625, -12)\"><foreignObject width=\"58.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>includes</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(250.4921875, 174)\"><g class=\"label\" data-id=\"L_ms2_api2_0\" transform=\"translate(-29.3515625, -12)\"><foreignObject width=\"58.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>includes</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(250.4921875, 278)\"><g class=\"label\" data-id=\"L_ms3_api3_0\" transform=\"translate(-29.3515625, -12)\"><foreignObject width=\"58.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>includes</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(568.28125, 70)\"><g class=\"label\" data-id=\"L_api1_apir_0\" transform=\"translate(-45.8125, -12)\"><foreignObject width=\"91.625\" 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>connected to</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(568.28125, 174)\"><g class=\"label\" data-id=\"L_api2_apir_0\" transform=\"translate(-45.8125, -12)\"><foreignObject width=\"91.625\" 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>connected to</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(568.28125, 278)\"><g class=\"label\" data-id=\"L_api3_apir_0\" transform=\"translate(-45.8125, -12)\"><foreignObject width=\"91.625\" 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>connected to</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(922.859375, 174)\"><g class=\"label\" data-id=\"L_apir_ref_0\" transform=\"translate(-54.703125, -12)\"><foreignObject width=\"109.40625\" 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>rendered within</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(1275.671875, 174)\"><g class=\"label\" data-id=\"L_ref_dp_0\" transform=\"translate(-52.03125, -12)\"><foreignObject width=\"104.0625\" 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>integrated with</p></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-flowchart-ms1-0\" data-look=\"classic\" transform=\"translate(114.5703125, 70)\"><rect class=\"basic label-container\" style=\"\" x=\"-81.5703125\" y=\"-27\" width=\"163.140625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-51.5703125, -12)\"><rect></rect><foreignObject width=\"103.140625\" 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>Microservice 1</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-flowchart-ms2-1\" data-look=\"classic\" transform=\"translate(114.5703125, 174)\"><rect class=\"basic label-container\" style=\"\" x=\"-81.5703125\" y=\"-27\" width=\"163.140625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-51.5703125, -12)\"><rect></rect><foreignObject width=\"103.140625\" 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>Microservice 2</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-flowchart-ms3-2\" data-look=\"classic\" transform=\"translate(114.5703125, 278)\"><rect class=\"basic label-container\" style=\"\" x=\"-81.5703125\" y=\"-27\" width=\"163.140625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-51.5703125, -12)\"><rect></rect><foreignObject width=\"103.140625\" 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>Microservice 3</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-flowchart-api1-3\" data-look=\"classic\" transform=\"translate(388.65625, 70)\"><rect class=\"basic label-container\" style=\"\" x=\"-83.8125\" y=\"-27\" width=\"167.625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-53.8125, -12)\"><rect></rect><foreignObject width=\"107.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>API definition 1</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-flowchart-api2-4\" data-look=\"classic\" transform=\"translate(388.65625, 174)\"><rect class=\"basic label-container\" style=\"\" x=\"-83.8125\" y=\"-27\" width=\"167.625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-53.8125, -12)\"><rect></rect><foreignObject width=\"107.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>API definition 2</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-flowchart-api3-5\" data-look=\"classic\" transform=\"translate(388.65625, 278)\"><rect class=\"basic label-container\" style=\"\" x=\"-83.8125\" y=\"-27\" width=\"167.625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-53.8125, -12)\"><rect></rect><foreignObject width=\"107.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>API definition 3</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-flowchart-apir-12\" data-look=\"classic\" transform=\"translate(741.125, 174)\"><rect class=\"basic label-container\" style=\"\" x=\"-102.03125\" y=\"-27\" width=\"204.0625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-72.03125, -12)\"><rect></rect><foreignObject width=\"144.0625\" 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>Redocly API registry</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-flowchart-ref-13\" data-look=\"classic\" transform=\"translate(1100.6015625, 174)\"><rect class=\"basic label-container\" style=\"\" x=\"-98.0390625\" y=\"-27\" width=\"196.078125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-68.0390625, -12)\"><rect></rect><foreignObject width=\"136.078125\" 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>API reference docs</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-flowchart-dp-20\" data-look=\"classic\" transform=\"translate(1455.1953125, 174)\"><rect class=\"basic label-container\" style=\"\" x=\"-102.4921875\" y=\"-27\" width=\"204.984375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-72.4921875, -12)\"><rect></rect><foreignObject width=\"144.984375\" 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>API developer portal</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><defs><filter id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><linearGradient id=\"diagram-1dc6ac8f86af3573d441626b1dfe0de9f08b13f11e2763ebce67c7bf4ed66e80-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></svg>"},"children":[]}]},"frontmatter":{"seo":{"title":"How to document microservices APIs with the developer portal"},"excludeFromSearch":true},"tagList":["admonition","partial"],"title":"How to document microservices APIs with the developer portal","lastModified":"2025-05-28T16:01:32.000Z"}