{"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"embed-the-developer-portal-into-an-existing-websites-subdirectory","__idx":0},"children":["Embed the developer portal into an existing website's subdirectory"]},{"$$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":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This guide applies to the developer portal."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use one of these three hosted deployment options for your developer portal."," ","Enterprises can also deploy it on-premise, but that's out of scope for this topic."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Whole website"]}," - Redocly builds and hosts the entire website. For example, ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://www.rebilly.com"},"children":["https://www.rebilly.com"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Subdomain website"]},"- The developer portal exists on its own subdomain. For example, ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://developers.willowinc.com/"},"children":["https://developers.willowinc.com/"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Subdirectory website"]},". The embedded developer portal displays within an existing website."," ","This seamless approach makes the portal appear as if it's part of the website at a subdirectory. For example, ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://auspost.com.au/developers/"},"children":["https://auspost.com.au/developers/"]},"."]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This guide describes how to embed the developer portal into an existing website's subdirectory."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-the-proxy-request-works","__idx":1},"children":["How the proxy request works"]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"graph TD\n    Browser -- 1 --> Proxy\n    Proxy -- 2 --> Redocly\n    Redocly -. 3 .-> Proxy\n    Proxy -. 4 .-> Browser\n    style Browser fill:#codaf9,stroke:#0044d4,stroke-width:2px\n    style Proxy fill:#codaf9,stroke:#0044d4,stroke-width:2px\n    style Redocly fill:#codaf9,stroke:#0044d4,stroke-width:2px\n","diagramHtml":"<svg id=\"diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 134.6875px;\" viewBox=\"0 0 134.6875 326\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061{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-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .error-icon{fill:#552222;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .error-text{fill:#552222;stroke:#552222;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .edge-thickness-normal{stroke-width:1px;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .edge-thickness-thick{stroke-width:3.5px;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .edge-pattern-solid{stroke-dasharray:0;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .marker{fill:#333333;stroke:#333333;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .marker.cross{stroke:#333333;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 p{margin:0;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#333;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .cluster-label text{fill:#333;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .cluster-label span{color:#333;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .cluster-label span p{background-color:transparent;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .label text,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 span{fill:#333;color:#333;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .node rect,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .node circle,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .node ellipse,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .node polygon,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .rough-node .label text,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .node .label text,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .image-shape .label,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .icon-shape .label{text-anchor:middle;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .rough-node .label,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .node .label,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .image-shape .label,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .icon-shape .label{text-align:center;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .node.clickable{cursor:pointer;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .arrowheadPath{fill:#333333;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .flowchart-link{stroke:#333333;fill:none;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .cluster text{fill:#333;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .cluster span{color:#333;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 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-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 rect.text{fill:none;stroke-width:0;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .icon-shape,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .icon-shape p,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .icon-shape .label rect,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 .node .neo-node{stroke:#9370DB;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 [data-look=\"neo\"].node rect,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 [data-look=\"neo\"].cluster rect,#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_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-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_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-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_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-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_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-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_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-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_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-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_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-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_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-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_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-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_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-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_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-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_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><g class=\"edgePaths\"><path d=\"M61.246,62L59.854,68.167C58.461,74.333,55.676,86.667,55.529,98.35C55.382,110.033,57.874,121.066,59.119,126.582L60.365,132.098\" id=\"diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061-L_Browser_Proxy_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_Browser_Proxy_0\" data-points=\"W3sieCI6NjEuMjQ2MzM3ODkwNjI1LCJ5Ijo2Mn0seyJ4Ijo1Mi44OTA2MjUsInkiOjk5fSx7IngiOjYxLjI0NjMzNzg5MDYyNSwieSI6MTM2fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_flowchart-v2-pointEnd)\"></path><path d=\"M61.246,190L59.854,196.167C58.461,202.333,55.676,214.667,55.529,226.35C55.382,238.033,57.874,249.066,59.119,254.582L60.365,260.098\" id=\"diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061-L_Proxy_Redocly_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_Proxy_Redocly_0\" data-points=\"W3sieCI6NjEuMjQ2MzM3ODkwNjI1LCJ5IjoxOTB9LHsieCI6NTIuODkwNjI1LCJ5IjoyMjd9LHsieCI6NjEuMjQ2MzM3ODkwNjI1LCJ5IjoyNjR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_flowchart-v2-pointEnd)\"></path><path d=\"M73.441,264L74.834,257.833C76.226,251.667,79.012,239.333,79.158,227.65C79.305,215.967,76.814,204.934,75.568,199.418L74.322,193.902\" id=\"diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061-L_Redocly_Proxy_0\" class=\"edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Redocly_Proxy_0\" data-points=\"W3sieCI6NzMuNDQxMTYyMTA5Mzc1LCJ5IjoyNjR9LHsieCI6ODEuNzk2ODc1LCJ5IjoyMjd9LHsieCI6NzMuNDQxMTYyMTA5Mzc1LCJ5IjoxOTB9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_flowchart-v2-pointEnd)\"></path><path d=\"M73.441,136L74.834,129.833C76.226,123.667,79.012,111.333,79.158,99.65C79.305,87.967,76.814,76.934,75.568,71.418L74.322,65.902\" id=\"diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061-L_Proxy_Browser_0\" class=\"edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Proxy_Browser_0\" data-points=\"W3sieCI6NzMuNDQxMTYyMTA5Mzc1LCJ5IjoxMzZ9LHsieCI6ODEuNzk2ODc1LCJ5Ijo5OX0seyJ4Ijo3My40NDExNjIxMDkzNzUsInkiOjYyfV0=\" data-look=\"classic\" marker-end=\"url(#diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\" transform=\"translate(52.890625, 99)\"><g class=\"label\" data-id=\"L_Browser_Proxy_0\" transform=\"translate(-4.453125, -12)\"><foreignObject width=\"8.90625\" 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>1</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(52.890625, 227)\"><g class=\"label\" data-id=\"L_Proxy_Redocly_0\" transform=\"translate(-4.453125, -12)\"><foreignObject width=\"8.90625\" 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>2</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(81.796875, 227)\"><g class=\"label\" data-id=\"L_Redocly_Proxy_0\" transform=\"translate(-4.453125, -12)\"><foreignObject width=\"8.90625\" 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>3</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(81.796875, 99)\"><g class=\"label\" data-id=\"L_Proxy_Browser_0\" transform=\"translate(-4.453125, -12)\"><foreignObject width=\"8.90625\" 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>4</p></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061-flowchart-Browser-0\" data-look=\"classic\" transform=\"translate(67.34375, 35)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:2px !important\" x=\"-59.34375\" y=\"-27\" width=\"118.6875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-29.34375, -12)\"><rect></rect><foreignObject width=\"58.6875\" 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>Browser</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061-flowchart-Proxy-1\" data-look=\"classic\" transform=\"translate(67.34375, 163)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:2px !important\" x=\"-50.453125\" y=\"-27\" width=\"100.90625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-20.453125, -12)\"><rect></rect><foreignObject width=\"40.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>Proxy</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061-flowchart-Redocly-3\" data-look=\"classic\" transform=\"translate(67.34375, 291)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:2px !important\" x=\"-58.90625\" y=\"-27\" width=\"117.8125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-28.90625, -12)\"><rect></rect><foreignObject width=\"57.8125\" 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</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061-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-c36efe1eee50b56305b4281dff4b547dcb8ead597cad6c2dd6b2fa4608607061-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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 134.6875px;\" viewBox=\"0 0 134.6875 326\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318{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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .error-icon{fill:#a44141;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .error-text{fill:#ddd;stroke:#ddd;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .edge-thickness-normal{stroke-width:1px;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .edge-thickness-thick{stroke-width:3.5px;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .edge-pattern-solid{stroke-dasharray:0;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .marker{fill:lightgrey;stroke:lightgrey;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .marker.cross{stroke:lightgrey;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 p{margin:0;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#ccc;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .cluster-label text{fill:#F9FFFE;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .cluster-label span{color:#F9FFFE;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .cluster-label span p{background-color:transparent;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .label text,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 span{fill:#ccc;color:#ccc;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .node rect,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .node circle,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .node ellipse,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .node polygon,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .rough-node .label text,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .node .label text,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .image-shape .label,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .icon-shape .label{text-anchor:middle;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .rough-node .label,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .node .label,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .image-shape .label,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .icon-shape .label{text-align:center;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .node.clickable{cursor:pointer;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .arrowheadPath{fill:lightgrey;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .edgePath .path{stroke:lightgrey;stroke-width:1px;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .flowchart-link{stroke:lightgrey;fill:none;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .cluster text{fill:#F9FFFE;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .cluster span{color:#F9FFFE;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 rect.text{fill:none;stroke-width:0;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .icon-shape,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .icon-shape p,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .icon-shape .label rect,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 .node .neo-node{stroke:#ccc;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 [data-look=\"neo\"].node rect,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 [data-look=\"neo\"].cluster rect,#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 [data-look=\"neo\"].node polygon{stroke:url(#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 [data-look=\"neo\"].node path{stroke:url(#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318-gradient);stroke-width:1px;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 [data-look=\"neo\"].node circle{stroke:url(#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_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><g class=\"edgePaths\"><path d=\"M61.246,62L59.854,68.167C58.461,74.333,55.676,86.667,55.529,98.35C55.382,110.033,57.874,121.066,59.119,126.582L60.365,132.098\" id=\"diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318-L_Browser_Proxy_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_Browser_Proxy_0\" data-points=\"W3sieCI6NjEuMjQ2MzM3ODkwNjI1LCJ5Ijo2Mn0seyJ4Ijo1Mi44OTA2MjUsInkiOjk5fSx7IngiOjYxLjI0NjMzNzg5MDYyNSwieSI6MTM2fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_flowchart-v2-pointEnd)\"></path><path d=\"M61.246,190L59.854,196.167C58.461,202.333,55.676,214.667,55.529,226.35C55.382,238.033,57.874,249.066,59.119,254.582L60.365,260.098\" id=\"diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318-L_Proxy_Redocly_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_Proxy_Redocly_0\" data-points=\"W3sieCI6NjEuMjQ2MzM3ODkwNjI1LCJ5IjoxOTB9LHsieCI6NTIuODkwNjI1LCJ5IjoyMjd9LHsieCI6NjEuMjQ2MzM3ODkwNjI1LCJ5IjoyNjR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_flowchart-v2-pointEnd)\"></path><path d=\"M73.441,264L74.834,257.833C76.226,251.667,79.012,239.333,79.158,227.65C79.305,215.967,76.814,204.934,75.568,199.418L74.322,193.902\" id=\"diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318-L_Redocly_Proxy_0\" class=\"edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Redocly_Proxy_0\" data-points=\"W3sieCI6NzMuNDQxMTYyMTA5Mzc1LCJ5IjoyNjR9LHsieCI6ODEuNzk2ODc1LCJ5IjoyMjd9LHsieCI6NzMuNDQxMTYyMTA5Mzc1LCJ5IjoxOTB9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_flowchart-v2-pointEnd)\"></path><path d=\"M73.441,136L74.834,129.833C76.226,123.667,79.012,111.333,79.158,99.65C79.305,87.967,76.814,76.934,75.568,71.418L74.322,65.902\" id=\"diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318-L_Proxy_Browser_0\" class=\"edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Proxy_Browser_0\" data-points=\"W3sieCI6NzMuNDQxMTYyMTA5Mzc1LCJ5IjoxMzZ9LHsieCI6ODEuNzk2ODc1LCJ5Ijo5OX0seyJ4Ijo3My40NDExNjIxMDkzNzUsInkiOjYyfV0=\" data-look=\"classic\" marker-end=\"url(#diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\" transform=\"translate(52.890625, 99)\"><g class=\"label\" data-id=\"L_Browser_Proxy_0\" transform=\"translate(-4.453125, -12)\"><foreignObject width=\"8.90625\" 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>1</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(52.890625, 227)\"><g class=\"label\" data-id=\"L_Proxy_Redocly_0\" transform=\"translate(-4.453125, -12)\"><foreignObject width=\"8.90625\" 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>2</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(81.796875, 227)\"><g class=\"label\" data-id=\"L_Redocly_Proxy_0\" transform=\"translate(-4.453125, -12)\"><foreignObject width=\"8.90625\" 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>3</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(81.796875, 99)\"><g class=\"label\" data-id=\"L_Proxy_Browser_0\" transform=\"translate(-4.453125, -12)\"><foreignObject width=\"8.90625\" 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>4</p></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318-flowchart-Browser-0\" data-look=\"classic\" transform=\"translate(67.34375, 35)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:2px !important\" x=\"-59.34375\" y=\"-27\" width=\"118.6875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-29.34375, -12)\"><rect></rect><foreignObject width=\"58.6875\" 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>Browser</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318-flowchart-Proxy-1\" data-look=\"classic\" transform=\"translate(67.34375, 163)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:2px !important\" x=\"-50.453125\" y=\"-27\" width=\"100.90625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-20.453125, -12)\"><rect></rect><foreignObject width=\"40.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>Proxy</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318-flowchart-Redocly-3\" data-look=\"classic\" transform=\"translate(67.34375, 291)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:2px !important\" x=\"-58.90625\" y=\"-27\" width=\"117.8125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-28.90625, -12)\"><rect></rect><foreignObject width=\"57.8125\" 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</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318-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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318-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-4a95085eb712ebb1dcfb487e50303907b7aa42a1ecd6888a74ae7e2c7d20e318-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":[]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The web browser makes a request to the proxy."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The proxy, in turn, makes a request to Redocly, while keeping the connection open."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Redocly responds to the proxy with content (HTML, CSS, JS, images, and more)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The proxy forwards that response onward to the web browser."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This guide uses ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://example.com/docs/"]}," as the example path you want the developer portal to display to users."," ","And this guide uses ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://example-docs.redoc.ly"]}," as the Redocly project URL."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configuration-in-redocly","__idx":2},"children":["Configuration in Redocly"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Confirm that your content in the developer portal repository is at the root path of your repository."," ","The root folder behaves as if it was the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/docs"]}," path."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sidebars.yaml"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["siteConfig.yaml"]},", you must define relative paths to the files (for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["./docs/my-file.md"]}," and not ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/docs/my-file.md"]},")."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Your Portal doesn't function if you try to access the Redocly project URL directly (it works via the proxy)."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"set-up-the-custom-domain","__idx":3},"children":["Set up the custom domain"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://app.redocly.com/"},"children":["Redocly app"]},", open the Developer portal you want to embed and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["From the left, select General and under Custom domain, fill in your custom domain and include the subdirectory path."," ","You should enter the full path that you wish to proxy to (for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["www.example.com/docs"]},")."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/custom-domain-dev-portal-a06cb92713e2265f.png","alt":"custom domain portal"},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you are using a proxy, don't change the CNAME details."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configure-your-proxy","__idx":4},"children":["Configure your proxy"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following section shows how to configure a proxy using these services:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["nginx"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Netlify"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["AWS API Gateway"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["AWS CloudFront"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"nginx","__idx":5},"children":["nginx"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Add the following code to your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nginx"]}," configuration file."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"nginx","header":{"controls":{"copy":{}}},"source":"location /docs/ {\n  proxy_ssl_server_name on;\n  proxy_pass https://example-docs.redoc.ly/; # trailing slash is important here\n  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # X-Forwarded-For is required if you want to disable redoc.ly URL access\n}\n","lang":"nginx"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"netlify","__idx":6},"children":["Netlify"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://docs.netlify.com/routing/redirects/rewrites-proxies/#proxy-to-another-service"},"children":["Proxying"]}," is part of Netlify's ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://docs.netlify.com/routing/redirects/"},"children":["redirects support"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To configure redirect and rewrite rules for your Netlify site, create and save a plain text file named ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["_redirects"]}," to your Netlify site's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["publish directory"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Add the following rewrite rule in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["_redirects"]}," file for letting parts of your Netlify site proxy to your Redocly developer portal."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"shell","header":{"controls":{"copy":{}}},"source":"/docs/*  https://example-docs.redoc.ly/docs/:splat 200\n","lang":"shell"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This example proxies the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/docs/"]}," path and it's important that the same exact path segment is also added to the proxy destination path ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://examples-docs.redoc.ly/docs/:splat"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All requests to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/docs/..."]}," proxy through to ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://example-docs.redoc.ly/docs/"},"children":["https://example-docs.redoc.ly/docs/"]}," straight from Netlify's CDN servers without an extra connection from the browser."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note"]},": You can't access proxied URLs during local development."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"aws-api-gateway","__idx":7},"children":["AWS API Gateway"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To configure AWS API Gateway:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to your gateway resources page and under Actions, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create Resource"]},"."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-api-gateway-1-169f153d4a4f16ed.png","alt":"AWS API gateway proxy setup"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["On the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Child Resource"]}," page, enter ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs"]}," in the Resource Name field, at the resource path ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/docs"]},", and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create Resource"]},"."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-api-gateway-2-dae248ce805f6794.png","alt":"AWS API gateway proxy setup"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["docs"]}," resource and create a child resource for it."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-api-gateway-3-e1b1acfea9e9309a.png","alt":"AWS API gateway proxy setup"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["On the New Child Resource page:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Check the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["proxy resource"]}," option."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["proxy"]}," as the resource name."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the Resource path, add ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{proxy+}"]},"."," ","This catches all requests to its sub-resources, which is required for the developer portal."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-api-gateway-4-343ff413079dd9a8.png","alt":"AWS API gateway proxy setup"},"children":[]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Once you have created the child resource, navigate to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/docs/{proxy+}-ANY-Setup"]},"page."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under Integration type, select HTTP Proxy, and add the Redocly project URL ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://example-docs.redoc.ly/{proxy}"]}," (with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{proxy}"]}," at the end). Ensure the content handling is set to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Passthrough"]},"."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-api-gateway-5-250fd7336d5bb207.png","alt":"AWS API gateway proxy setup"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]}," your changes."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/docs"]}," resource, and from the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Actions"]}," menu, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create Method"]},"."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-api-gateway-6-d5d8be4e7fbb70aa.png","alt":"AWS API gateway proxy setup"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["On the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/docs-ANY-Setup"]}," page,",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the integration type as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HTTP"]},","]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Add your Redocly project URL (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://example-docs.redoc.ly/"]}," in this guide) with a trailing slash, and"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Set content handling to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Passthrough"]},"."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-api-gateway-7-2d24f1b24bb830f5.png","alt":"AWS API gateway proxy setup"},"children":[]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]}," your changes."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Re-deploy your gateway for these changes to take effect, before you use it with Redocly."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"aws-cloudfront","__idx":8},"children":["AWS CloudFront"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To configure AWS CloudFront:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["On the CloudFront Distributions page, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create Distribution"]},"."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-cf-1-3d6dcb1ccb49d0e7.png","alt":"AWS CloudFront setup"},"children":[]}," ","The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Select a delivery method for your content page"]}," displays."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["On the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Select a delivery method for your content"]}," page, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Get Started"]},". The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create Distribution"]}," page displays."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under Origin Settings, complete the following:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Origin Domain Name"]},", enter ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["example.com"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["From ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Origin Protocol Policy"]},", select ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HTTPS Only"]},"."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under Default Cache Behavior Settings, select the following:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["From the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Viewer Protocol Policy"]},", select ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Redirect HTTP to HTTPS"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["From ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Allowed HTTP Methods"]},", select ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE"]},"."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-cf-3-49b76875a006ad77.png","alt":"AWS CloudFront setup"},"children":[]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]}," your changes. The new distribution is added to the CloudFront Distributions page."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-cf-4-06acbca944a4f595.png","alt":"AWS CloudFront setup"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select to view the Distribution details. On the Distribution details page, from the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Behaviors"]}," tab, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create Behavior"]},"."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-cf-5-78e2cbeb2a4ee90e.png","alt":"AWS CloudFront setup"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["On the Create Behavior page, complete the following:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the Path Pattern field, enter ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/docs*"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["From Cache and origin request settings, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Use legacy cache settings"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["From Object Caching, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Customize"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the Minimum TTL field, enter ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["86400"]},"."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-cf-6-acc6056165fae6dd.png","alt":"AWS CloudFront setup"},"children":[]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]}," your changes. The CloudFront Distributions page is updated with a CloudFront Domain Name."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-cf-7-b24a5c8bdd401898.png","alt":"AWS CloudFront setup"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to Portal settings in ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://app.redocly.com/"},"children":["Redocly Workflows"]}," to add the custom domain details to the Portal."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-cf-8-79062e9963ff4e3c.png","alt":"AWS CloudFront setup"},"children":[]}," ","There are two ways you can do this:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["On the Change your custom domain dialog, in the Custom domain field, enter the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["CloudFront Domain name"]},"."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-cf-9-2bf1a06e1014edf6.png","alt":"AWS CloudFront setup"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["On the Change your custom domain dialog, in the Custom domain field, enter ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["example.com/docs"]},"."," ",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/content-assets/aws-cf-10-c27e89a95934895f.png","alt":"AWS CloudFront setup"},"children":[]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"questions","__idx":9},"children":["Questions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Have questions? Using a different proxy? ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/contact-us"},"children":["Contact us."]}]}]},"frontmatter":{"seo":{"title":"How to embed the portal into an existing website"},"excludeFromSearch":true},"tagList":["admonition","partial"],"title":"How to embed the portal into an existing website","lastModified":"2025-05-28T16:01:32.000Z"}