Reference documentation for deprecated Edges feature. Edges have been sunset as of December 31st, 2025. See migration guide for alternatives.
Edges, Routes, Modules, Backends, and Labeled Tunnels have been deprecated since December 31st, 2025. The dashboard Endpoints page no longer shows edge endpoints. If you still have edges configured, you can manage them via the Edges API (HTTPS, TCP, TLS).
Edges have been replaced with new features that are both simpler and more powerful than their Edges counterparts.
Use the following replacement guide to migrate off of Edges:
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"ngrok documentation","colors":{"primary":"#273FC3","light":"#699AFC","dark":"#699AFC"},"logo":{"light":"https://mintcdn.com/ngrok/uPrboN8usISU3fq0/logo/light.svg?fit=max\u0026auto=format\u0026n=uPrboN8usISU3fq0\u0026q=85\u0026s=6a4a2c8995f8731e1bac3f795a68130d","dark":"https://mintcdn.com/ngrok/uPrboN8usISU3fq0/logo/dark.svg?fit=max\u0026auto=format\u0026n=uPrboN8usISU3fq0\u0026q=85\u0026s=e363c8b6e09a92e726a981e0156ba233","href":"https://ngrok.com/docs"},"favicon":"https://mintcdn.com/ngrok/BQQt-CHCs_8OwVmS/favicon.ico?fit=max\u0026auto=format\u0026n=BQQt-CHCs_8OwVmS\u0026q=85\u0026s=294907ab135b589ed607e4888e1a10a4","background":{"color":{"dark":"#121212"}},"navbar":{"links":[{"href":"https://ngrok.com/","label":"Homepage"},{"href":"https://dashboard.ngrok.com/","label":"Dashboard"}],"primary":{"type":"button","label":"Sign up","href":"https://dashboard.ngrok.com/signup"}},"footer":{"socials":{"x":"https://x.com/ngrokhq","github":"https://github.com/ngrok","linkedin":"https://linkedin.com/company/ngrok","youtube":"https://www.youtube.com/@ngrokHQ"},"links":[{"header":"Product","items":[{"label":"Gateway","href":"https://ngrok.com/docs/gateway/overview"},{"label":"AI Gateway","href":"https://ngrok.ai"},{"label":"Traffic Policy","href":"https://ngrok.com/docs/traffic-policy"},{"label":"Secure Tunnels","href":"https://ngrok.com/docs/agent/overview"},{"label":"Traffic Observability","href":"https://ngrok.com/docs/obs"},{"label":"Kubernetes Operator","href":"https://ngrok.com/docs/k8s"}]},{"header":"Problems we solve","items":[{"label":"API gateway","href":"https://ngrok.com/docs/guides/api-gateway/get-started"},{"label":"AI gateway","href":"https://ngrok.ai/"},{"label":"Webhook gateway","href":"https://ngrok.com/docs/gateway/examples/webhook-gateway"},{"label":"Ephemeral workloads","href":"https://ngrok.com/docs/gateway/examples/ephemeral-workloads"},{"label":"Customer connectivity","href":"https://ngrok.com/use-cases/saas-customer-connectivity"},{"label":"Device gateway","href":"https://ngrok.com/docs/guides/device-gateway/overview"},{"label":"Remote access","href":"https://ngrok.com/docs/guides/ssh-rdp"},{"label":"Share localhost","href":"https://ngrok.com/use-cases/share-localhost"},{"label":"Connect MCPs to AI providers","href":"https://ngrok.com/docs/gateway/api-gateway/mcp-gateway"},{"label":"Test webhooks","href":"https://ngrok.com/docs/share-localhost/webhooks"},{"label":"Access remote K8s clusters","href":"https://ngrok.com/docs/k8s/guides/local-projection"},{"label":"Minecraft","href":"https://ngrok.com/docs/gateway/examples/minecraft"}]},{"header":"Resources","items":[{"label":"Docs","href":"https://ngrok.com/docs/start"},{"label":"Guides","href":"https://ngrok.com/docs/guides"},{"label":"Pricing","href":"https://ngrok.com/pricing"},{"label":"Download","href":"https://ngrok.com/download"},{"label":"Security","href":"https://ngrok.com/security"},{"label":"Trust","href":"https://trust.ngrok.com/"},{"label":"Case studies","href":"https://ngrok.com/customers"},{"label":"Integrations","href":"https://ngrok.com/docs/integrations"},{"label":"Support","href":"https://ngrok.com/support"},{"label":"Abuse","href":"https://ngrok.com/abuse"},{"label":"Status","href":"https://status.ngrok.com/"}]},{"header":"Company","items":[{"label":"About","href":"https://ngrok.com/about"},{"label":"Contact","href":"https://ngrok.com/contact"},{"label":"Blog","href":"https://ngrok.com/blog"},{"label":"Newsletter","href":"https://ngrok.com/newsletter"},{"label":"Press","href":"https://ngrok.com/press"},{"label":"Brand","href":"https://ngrok.com/brand"},{"label":"Careers","href":"https://ngrok.com/careers"}]}]},"seo":{"metatags":{"canonical":"https://ngrok.com/docs"},"indexing":"navigable"},"fonts":{"heading":{"family":"Roobert","weight":600,"source":"https://assets.ngrok.com/fonts/roobert/roobert-proportional-vf.woff2","format":"woff2"},"body":{"family":"Roobert","weight":400,"source":"https://assets.ngrok.com/fonts/roobert/roobert-proportional-vf.woff2","format":"woff2"}},"integrations":{"posthog":{"apiKey":"phc_mUGMN4JlTzthGcz0XNK0z6NKUqdeQMn7rPRAM3mifjQ","apiHost":"https://e.ngrok.com"}},"contextual":{"options":["copy","view","mcp","add-mcp","claude","cursor","vscode","assistant","chatgpt","perplexity","grok","aistudio","devin","windsurf","devin-mcp","download-spec"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ngrok","hasAudioNarration":false,"actualSubdomain":"ngrok","customDomains":["ngrok.com"],"gitSource":{"type":"github","owner":"ngrok","repo":"ngrok-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae2544d911be5d0758ab395","collectionId":"491303b3-c16e-4efb-9f3d-8d6390410ff6","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae2544d911be5d0758ab395"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ae2544d911be5d0758ab395","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Reference","count":266},{"language":"default","tag":"Gateway","count":242},{"language":"default","tag":"Platform API","count":239},{"language":"default","tag":"Integrations","count":150},{"language":"default","tag":"AI Gateway","count":119},{"language":"default","tag":"Connectivity","count":91},{"language":"default","tag":"Webhooks","count":65},{"language":"default","tag":"Kubernetes Operators","count":58},{"language":"default","tag":"Traffic Policy","count":58},{"language":"default","tag":"Examples","count":46}],"searchSettings":{"isFiltersEnabled":false}},"assistantConfig":{"enableAskAiButton":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@ngrok.com","showHelpButton":true}},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"img{max-width:100%;height:auto}.tooltip{font-weight:700;text-decoration:none!important;position:relative}.tooltip::after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:1px;border-bottom:1px dotted rgba(0,0,0,.8)}.light .tooltip,:root .tooltip,[data-theme=light] .tooltip{color:rgba(0,0,0,.8)}.light .tooltip::after,:root .tooltip::after,[data-theme=light] .tooltip::after{border-bottom-color:rgba(0,0,0,.8)}.dark .tooltip,[data-theme=dark] .tooltip{color:rgba(255,255,255,.8)}.dark .tooltip::after,[data-theme=dark] .tooltip::after{border-bottom-color:rgba(255,255,255,.8)}@media (prefers-color-scheme:light){.tooltip{color:rgba(0,0,0,.8)}.tooltip::after{border-bottom-color:rgba(0,0,0,.8)}}@media (prefers-color-scheme:dark){.tooltip{color:rgba(255,255,255,.8)}.tooltip::after{border-bottom-color:rgba(255,255,255,.8)}}:root td .tooltip{font-weight:inherit;color:inherit}td button[data-state]{text-align:start}td button[data-state] code{white-space:nowrap;word-break:normal;overflow-wrap:normal}td:first-child:has(>button[data-state] code){width:100%}table:has(td:first-child>button[data-state] code) td,table:has(td:first-child>button[data-state] code) th{min-width:0;white-space:nowrap}td .icon{mask-size:contain;-webkit-mask-size:contain}td .tooltip:has(>.icon){text-decoration:none}td .tooltip:has(>.icon)::after{display:none}td code,td pre{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}td pre{white-space:pre-wrap;min-width:200px}td:has(code),td:has(pre){min-width:240px;width:auto}td code{min-width:150px}@font-face{font-family:\"Roobert\";src:url(https://assets.ngrok.com/fonts/roobert/roobert-proportional-vf.woff2) format(\"woff2 supports variations\"),url(https://assets.ngrok.com/fonts/roobert/roobert-proportional-vf.woff2) format(\"woff2-variations\");font-weight:300 900;font-display:swap;font-style:normal}@font-face{font-family:\"JetBrains Mono\";src:url(https://assets.ngrok.com/fonts/jetbrains/jetbrainsmono-wght.woff2) format(\"woff2 supports variations\"),url(https://assets.ngrok.com/fonts/jetbrains/jetbrainsmono-wght.woff2) format(\"woff2-variations\");font-weight:100 800;font-display:swap;font-style:normal}@font-face{font-family:\"JetBrains Mono\";src:url(https://assets.ngrok.com/fonts/jetbrains/jetbrainsmono-italic-wght.woff2) format(\"woff2 supports variations\"),url(https://assets.ngrok.com/fonts/jetbrains/jetbrainsmono-italic-wght.woff2) format(\"woff2-variations\");font-weight:100 800;font-display:swap;font-style:italic}.hljs,.token,code,pre,pre code{font-family:\"JetBrains Mono\",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}#topbar-cta-button span.bg-primary-dark{background-color:#121212!important;transition:background-color!important}#topbar-cta-button a:hover span.bg-primary-dark{background-color:#171717!important}#topbar-cta-button span.text-white,#topbar-cta-button svg{color:#fff!important}.dark #topbar-cta-button span.bg-primary-dark,[data-theme=dark] #topbar-cta-button span.bg-primary-dark{background-color:rgba(255,255,255,.85)!important;transition:background-color!important}.dark #topbar-cta-button a:hover span.bg-primary-dark,[data-theme=dark] #topbar-cta-button a:hover span.bg-primary-dark{background-color:#fff!important}.dark #topbar-cta-button span.text-white,.dark #topbar-cta-button svg,[data-theme=dark] #topbar-cta-button span.text-white,[data-theme=dark] #topbar-cta-button svg{color:#000!important}footer#footer a{overflow:visible;text-overflow:clip;white-space:nowrap}@media (min-width:768px) and (max-width:880px){footer#footer a{white-space:normal}}.nav-tabs-item>div.absolute.bottom-0{height:2px!important}.ngrok-consent{--ngrok-consent-surface:#ffffff;--ngrok-consent-border:#d4d4d4;--ngrok-consent-text:#121212;--ngrok-consent-action-bg-hover:rgb(115 115 115 / 10%);--ngrok-consent-focus-ring:rgb(39 63 195 / 35%);--ngrok-consent-shadow:0 1px 13px 0 rgb(0 0 0 / 5%),\n 0 4px 6px -4px rgb(0 0 0 / 10%),\n 0 10px 15px -3px rgb(0 0 0 / 10%);position:fixed;inset-inline:0;bottom:1rem;z-index:2147483000;display:flex;justify-content:center;padding-inline:1rem;pointer-events:none}:is(html.dark, html[data-theme=\"dark\"]) .ngrok-consent{--ngrok-consent-surface:#171717;--ngrok-consent-border:#404040;--ngrok-consent-text:#ffffff;--ngrok-consent-focus-ring:rgb(105 154 252 / 35%);--ngrok-consent-shadow:0 1px 13px 0 rgb(0 0 0 / 15%),\n 0 4px 6px -4px rgb(0 0 0 / 30%),\n 0 10px 15px -3px rgb(0 0 0 / 30%)}@media (min-width:640px){.ngrok-consent{bottom:2.5rem}}.ngrok-consent-panel{pointer-events:auto;display:flex;align-items:center;gap:.75rem;width:fit-content;max-width:100%;padding:.5rem .75rem;border:1px solid var(--ngrok-consent-border);border-radius:1rem;background-color:var(--ngrok-consent-surface);color:var(--ngrok-consent-text);box-shadow:var(--ngrok-consent-shadow);transition-property:opacity,translate;transition-timing-function:cubic-bezier(0,0,.2,1);transition-duration:400ms}.ngrok-consent-panel[hidden]{display:none}.ngrok-consent-panel[data-state=closed]{pointer-events:none;opacity:0;transition-duration:200ms}@media (prefers-reduced-motion:no-preference){.ngrok-consent-panel[data-state=closed]{translate:0 calc(100% + 2.5rem)}}.ngrok-consent-message{margin:0;font-size:.875rem;line-height:1.25rem}.ngrok-consent-actions{display:flex;align-items:center;gap:.375rem}.ngrok-consent-icon-button{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:1px solid transparent;border-radius:.375rem;background-color:transparent;color:var(--ngrok-consent-text);cursor:pointer;outline:2px solid transparent;outline-offset:2px;text-decoration:none;transition:transform 150ms cubic-bezier(0,0,.2,1)}.ngrok-consent-icon-button:hover{background-color:var(--ngrok-consent-action-bg-hover)}.ngrok-consent-icon-button:active{transform:scale(.97)}.ngrok-consent-icon-button:focus-visible{box-shadow:0 0 0 4px var(--ngrok-consent-focus-ring)}.ngrok-consent-icon-button svg{width:1.25rem;height:1.25rem;flex-shrink:0}"}],"page":{"pagePath":"gateway/edges","slug":"/gateway/edges","pageMetadata":{"title":"Edges (Deprecated)","sidebarTitle":"Edges","tag":"Deprecated","description":"Reference documentation for deprecated Edges feature. Edges have been sunset as of December 31st, 2025. See migration guide for alternatives.","href":"/gateway/edges"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Reference documentation for deprecated Edges feature. Edges have been sunset as of December 31st, 2025. See migration guide for alternatives.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Warning,{children:_jsxs(_components.p,{children:[`Edges, Routes, Modules, Backends, and Labeled Tunnels have been deprecated since December 31st, 2025. The dashboard `,_jsx(_components.a,{href:`https://dashboard.ngrok.com/endpoints`,children:`Endpoints page`}),` no longer shows edge endpoints. If you still have edges configured, you can manage them via the Edges API (`,_jsx(_components.a,{href:`/api-reference/edgeshttps/list`,children:`HTTPS`}),`, `,_jsx(_components.a,{href:`/api-reference/edgestcp/list`,children:`TCP`}),`, `,_jsx(_components.a,{href:`/api-reference/edgestls/list`,children:`TLS`}),`).`]})}),`\n`,_jsx(Heading,{level:`2`,id:`migration-guide`,children:`Migration guide`}),`\n`,_jsx(_components.p,{children:`Edges have been replaced with new features that are both simpler and more powerful than their Edges counterparts.\nUse the following replacement guide to migrate off of Edges:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feature`}),_jsx(_components.th,{children:`Replacement`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Edges`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/gateway/endpoints/cloud-endpoints/`,children:`Cloud Endpoints`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Modules`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/gateway/traffic-policy/actions/`,children:`Traffic Policy Actions`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Routes`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/gateway/traffic-policy/how-it-works#expressions`,children:`Traffic Policy Expressions`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Labeled Tunnels`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/gateway/endpoints/internal-endpoints/`,children:`Internal Endpoints`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Tunnel Group Backend`})}),_jsxs(_components.td,{children:[_jsx(_components.a,{href:`/gateway/traffic-policy/actions/forward-internal/`,children:`Forward Internal Action`}),` and `,_jsx(_components.a,{href:`/gateway/endpoints/endpoint-pooling/`,children:`Endpoint Pools`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`HTTP Response Backends`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/gateway/traffic-policy/actions/custom-response`,children:`Custom Response Traffic Policy Action`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Failover Backends`})}),_jsxs(_components.td,{children:[_jsx(_components.a,{href:`/gateway/traffic-policy/actions/forward-internal/#on-error`,children:`Forward Internal Action`}),`’s `,_jsx(_components.code,{children:`on_error`}),` property`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Weighted Backends`})}),_jsx(_components.td,{children:_jsxs(_components.a,{href:`/gateway/traffic-policy/macros/#randdouble---double`,children:[_jsx(_components.code,{children:`rand.double()`}),` Traffic Policy Macro`]})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Load Balancing`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/gateway/endpoints/endpoint-pooling/`,children:`Endpoint Pools`})})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Edges (Deprecated)","sidebarTitle":"Edges","tag":"Deprecated","description":"Reference documentation for deprecated Edges feature. Edges have been sunset as of December 31st, 2025. See migration guide for alternatives.","href":"/gateway/edges"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Migration guide","slug":"migration-guide","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/ngrok/05d9da4b27f4fed8/redirect-to-ngrok.js","/docs/_mintlify/custom/ngrok/cabe0d94bdb3d370/persist-query-params.js","/docs/_mintlify/custom/ngrok/09633916ed60fa29/definition-wrapper.js","/docs/_mintlify/custom/ngrok/6167f7a3c0c9913f/consent.js"],"subdomain":"ngrok","siteName":"ngrok documentation","title":"Edges (Deprecated) - ngrok documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-17T19:10:54.917Z","originalFileLocation":"gateway/edges.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Reference documentation for deprecated Edges feature. Edges have been sunset as of December 31st, 2025. See migration guide for alternatives.\">\u003cmeta data-mint-head name=\"application-name\" content=\"ngrok documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Edges (Deprecated) - ngrok documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Reference documentation for deprecated Edges feature. Edges have been sunset as of December 31st, 2025. See migration guide for alternatives.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"ngrok documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://ngrok.com/docs/gateway/edges\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ngrok.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Edges+%28Deprecated%29\u0026amp;description=Reference+documentation+for+deprecated+Edges+feature.+Edges+have+been+sunset+as+of+December+31st%2C+2025.+See+migration+guide+for+alternatives.\u0026amp;theme=dd59335b8ec10833612cbd2f\u0026amp;signature=697115bca2d248add2ba76c3c7c47512f7dcdd573f96b25b58e904656f0ceec9\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Edges (Deprecated) - ngrok documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Reference documentation for deprecated Edges feature. Edges have been sunset as of December 31st, 2025. See migration guide for alternatives.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ngrok.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Edges+%28Deprecated%29\u0026amp;description=Reference+documentation+for+deprecated+Edges+feature.+Edges+have+been+sunset+as+of+December+31st%2C+2025.+See+migration+guide+for+alternatives.\u0026amp;theme=dd59335b8ec10833612cbd2f\u0026amp;signature=697115bca2d248add2ba76c3c7c47512f7dcdd573f96b25b58e904656f0ceec9\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"ngrok documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#273FC3\">\u003clink data-mint-head rel=\"canonical\" href=\"https://ngrok.com/docs/gateway/edges\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/gateway/edges.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"ngrok documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"ngrok documentation","nav":{"global":null,"tabs":[{"tab":"Start","pages":[{"title":"Get Started with ngrok","mode":"center","href":"/start"}]},{"tab":"Gateway","pages":[{"group":"Getting Started","pages":[{"title":"Gateway Overview","sidebarTitle":"Overview","icon":"house","href":"/gateway/overview"},{"title":"Agent CLI Quickstart","sidebarTitle":"Quickstart","icon":"rocket","href":"/gateway/endpoints/agent-cli-quickstart"},{"title":"How does ngrok's Gateway work?","sidebarTitle":"How It Works","icon":"gears","href":"/gateway/how-it-works"},{"title":"Points of Presence","icon":"globe","href":"/gateway/points-of-presence"}]},{"group":"Use Cases","pages":[{"group":"API Gateway","pages":[{"title":"Get started with ngrok's API gateway","sidebarTitle":"Get Started","href":"/gateway/api-gateway/get-started"},{"title":"Expose an MCP Server to ChatGPT, Claude, Grok, and Cursor","sidebarTitle":"Use ngrok as an MCP Gateway","href":"/gateway/api-gateway/mcp-gateway"},{"title":"Deploy a multicloud API gateway","href":"/gateway/api-gateway/multicloud"},{"title":"Using Datadog","href":"/gateway/api-gateway/monitor-ngrok"}]},{"group":"Device Gateway","pages":[{"title":"Device Gateway Overview","sidebarTitle":"Overview","href":"/gateway/device-gateway/overview"},{"title":"Device Gateway Quickstart","sidebarTitle":"Quickstart","href":"/gateway/device-gateway/quickstart"},{"title":"Device Gateway FAQ","sidebarTitle":"FAQ","href":"/gateway/device-gateway/faq"},{"title":"Configure Secure Access to Remote IoT Devices","sidebarTitle":"Using Remote IoT Devices","href":"/gateway/device-gateway/agent"},{"group":"Guides","pages":[{"title":"Configure Remote Connectivity to your IoT Devices in the Field","sidebarTitle":"Cloud-to-Device","href":"/gateway/device-gateway/cloud-to-device"},{"title":"Secure Remote Access with ngrok for SSH and RDP","sidebarTitle":"Secure Remote Access","href":"/gateway/device-gateway/remote-access"},{"title":"Private Connectivity to Remote IoT Devices with ngrokd","sidebarTitle":"Private Connectivity","href":"/gateway/device-gateway/private-connectivity"},{"title":"Fleet Management","sidebarTitle":"Fleet Management","href":"/gateway/device-gateway/fleet-management"},{"title":"Connect to Devices Using the Python SDK","sidebarTitle":"Connect via SDKs","href":"/gateway/device-gateway/sdk"}]},{"group":"Concepts","pages":[{"title":"Device Security","href":"/gateway/device-gateway/security"},{"title":"Secure Tunnels for Devices","sidebarTitle":"Secure Tunnels","href":"/gateway/device-gateway/tunnels"},{"title":"Traffic Policy for Devices","sidebarTitle":"Traffic Policy","href":"/gateway/device-gateway/traffic-policy"}]},{"group":"Installation Guides","pages":[{"title":"Install ngrok on Linux","sidebarTitle":"Linux","href":"/gateway/device-gateway/linux"},{"title":"Install ngrok on Linux (ARM64)","sidebarTitle":"Linux (ARM64)","href":"/gateway/device-gateway/arm64"},{"title":"Install ngrok on Raspberry Pi","sidebarTitle":"Raspberry Pi","href":"/gateway/device-gateway/raspberry-pi"},{"title":"Install ngrok on Raspberry Pi OS (formerly Raspbian)","sidebarTitle":"Raspberry Pi OS (Raspbian)","href":"/gateway/device-gateway/raspbian"},{"title":"Install ngrok on a remote Windows device","sidebarTitle":"Windows","href":"/gateway/device-gateway/windows"}]}]},{"group":"Site-to-Site Connectivity","pages":[{"title":"Site-to-Site Connectivity Overview","sidebarTitle":"Overview","href":"/gateway/site-to-site-connectivity/overview"},{"title":"Site-to-Site Connectivity Quickstart","sidebarTitle":"Quickstart","href":"/gateway/site-to-site-connectivity/quickstart"},{"title":"Connect to Your Customer's Network","sidebarTitle":"Tutorial","href":"/gateway/site-to-site-connectivity/index"},{"title":"Site-to-Site Connectivity FAQ","sidebarTitle":"FAQ","href":"/gateway/site-to-site-connectivity/faq"},{"title":"Why Your Vendor Uses ngrok","sidebarTitle":"Why Your Vendor Uses ngrok","href":"/gateway/site-to-site-connectivity/end-customers"},{"group":"Security","pages":[{"title":"Agent TLS Termination","sidebarTitle":"End-to-End Encryption","href":"/gateway/site-to-site-connectivity/agent-tls-termination"},{"title":"Region and IP Resolution","sidebarTitle":"Pin Traffic to Regions","href":"/gateway/site-to-site-connectivity/region-ip-resolution"},{"title":"Authtoken ACLs","sidebarTitle":"Restrict Agent Permissions","href":"/gateway/site-to-site-connectivity/authtoken-acls"}]},{"group":"Reliability","pages":[{"title":"Install ngrok as a Background Service","sidebarTitle":"Run ngrok in the Background","href":"/gateway/site-to-site-connectivity/background-service"},{"title":"Configure Active-Active Agent Redundancy","sidebarTitle":"Eliminate Single Points of Failure","href":"/gateway/site-to-site-connectivity/redundant-agents"},{"title":"Traffic Events and Log Export","sidebarTitle":"Monitor Agent Traffic","href":"/gateway/site-to-site-connectivity/traffic-events"},{"title":"Multi-Region Failover","sidebarTitle":"Automatic Failover","href":"/gateway/site-to-site-connectivity/multi-region-failover"}]},{"group":"Private Addressability","pages":[{"title":"Securely connect to remote customer networks from your K8s cluster","sidebarTitle":"Connect From Kubernetes","href":"/gateway/site-to-site-connectivity/customer-networks"},{"title":"Private Connectivity to Remote Customer Networks with ngrokd","sidebarTitle":"Connect from your non-k8s Environment","href":"/gateway/site-to-site-connectivity/non-k8s-environment"}]},{"group":"Production Ready","pages":[{"title":"Set Up a Custom Connect URL","sidebarTitle":"White-Label Agent Connections","href":"/gateway/site-to-site-connectivity/custom-connect-url"},{"sidebarTitle":"Use the Agent in Your Apps","title":"Create Site-to-Site Connectivity Using Agent SDKs","href":"/gateway/site-to-site-connectivity/agent-sdks"},{"sidebarTitle":"Manage With APIs \u0026 Terraform","title":"Manage ngrok Programmatically With Terraform and API Client Libraries","href":"/gateway/site-to-site-connectivity/apis-terraform"},{"sidebarTitle":"Agent Packaging \u0026 Distribution","title":"Agent Packaging and Distribution","href":"/gateway/site-to-site-connectivity/agent-packaging"}]}]},{"group":"Webhooks to On-Prem","pages":[{"title":"Webhooks to On-Prem","sidebarTitle":"Overview","href":"/gateway/webhooks-to-on-prem/overview"},{"title":"Webhooks to On-Prem Quickstart","sidebarTitle":"Quickstart","href":"/gateway/webhooks-to-on-prem/quickstart"},{"title":"Webhooks to On-Prem Full Tutorial","sidebarTitle":"Tutorial","href":"/gateway/webhooks-to-on-prem/tutorial"},{"title":"Send GitHub Webhooks to On-Prem Jenkins Securely","sidebarTitle":"GitHub to Jenkins","href":"/gateway/webhooks-to-on-prem/github-to-jenkins"},{"title":"Send GitHub Webhooks to On-Prem Argo CD Securely","sidebarTitle":"GitHub to Argo CD","href":"/gateway/webhooks-to-on-prem/github-to-argo-cd"}]},{"group":"Security Best Practices","pages":[{"title":"Best security practices for developer productivity","sidebarTitle":"Get Started","href":"/gateway/security-dev-productivity/index"},{"title":"Security Quick Wins","href":"/gateway/security-dev-productivity/securing-your-tunnels"},{"title":"Setting up HIPAA-compliant ngrok services","sidebarTitle":"HIPAA Compliance","href":"/gateway/security-dev-productivity/hipaa-compliance"},{"title":"Secure your applications with OAuth 2.0","sidebarTitle":"Adding OAuth 2.0 to Endpoints","href":"/gateway/identity-aware-proxy/securing-with-oauth"},{"title":"Secure Remote Access with ngrok for SSH and RDP","sidebarTitle":"SSH \u0026 RDP Remote Access","href":"/gateway/ssh-rdp/index"},{"title":"Running ngrok Behind a Corporate Firewall","sidebarTitle":"Corporate Firewalls","href":"/gateway/running-behind-firewalls"}]}]},{"group":"Examples","pages":[{"title":"Gateway Examples","sidebarTitle":"Overview","href":"/gateway/examples"},{"group":"Secure and Control Access","expanded":false,"pages":[{"title":"Support Multiple Authentication Methods with Traffic Policy","sidebarTitle":"IP Restrictions or Basic Auth","href":"/gateway/examples/ip-restrictions-basic-auth"},{"title":"Secure Admin Dashboards","sidebarTitle":"Lock Down Your Admin Dashboards","href":"/gateway/examples/lock-admin-dashboards"},{"title":"Create Secure Public Developer Environments","sidebarTitle":"Secure Developer Environments","href":"/gateway/examples/secure-developer-environments"},{"title":"Validate Requests Against Identity Service","sidebarTitle":"Validate Against Identity Service","href":"/gateway/examples/validate-requests-identity"}]},{"group":"Route and Shape Traffic","expanded":false,"pages":[{"title":"Implement the 'Front Door' Pattern","sidebarTitle":"The Front Door Pattern","href":"/gateway/examples/front-door-pattern"},{"title":"Multiplex to Internal Services from a Single Domain","sidebarTitle":"Multiplex to Internal Services","href":"/gateway/examples/multiplex"},{"title":"Microservices API Gateway","href":"/gateway/examples/microservices-gateway"},{"title":"Deploy Custom Error Pages","sidebarTitle":"Custom Error Pages","href":"/gateway/examples/custom-error-pages"},{"title":"Intercept and Rewrite Headers in HTTP Redirect Responses","sidebarTitle":"Intercept and Rewrite Headers","href":"/gateway/examples/rewrite-headers-redirects"},{"title":"Route API and App Traffic by User Agent","sidebarTitle":"Route by User Agent","href":"/gateway/examples/route-api-app-traffic-user-agent"},{"title":"Route to Endpoints by Geography","href":"/gateway/examples/route-by-geography"},{"title":"Route to Services Based on OIDC Authentication","sidebarTitle":"Route by OIDC","href":"/gateway/examples/route-by-oidc"},{"title":"Offload Analytics to a Self-Hosted Service","sidebarTitle":"Offload Analytics","href":"/gateway/examples/offload-analytics"},{"title":"Pre-Tier Requests by IP Address","sidebarTitle":"Pre-Tier Requests","href":"/gateway/examples/pre-tier-requests"}]},{"group":"Connect Apps and Services","expanded":false,"pages":[{"title":"Database Gateway","href":"/gateway/examples/database-gateway"},{"title":"Webhook Gateway","href":"/gateway/examples/webhook-gateway"},{"title":"Self-Hosted PaaS Alternative Gateway","href":"/gateway/examples/paas-alternative-gateway"},{"title":"Agent-Assisted Gateway","href":"/gateway/examples/agent-assisted-gateway"},{"title":"Use a Local LLM in Cursor with Ollama","sidebarTitle":"Local LLM in Cursor","href":"/gateway/examples/cursor-local-llm"},{"title":"Secure Your Public Minecraft Server","sidebarTitle":"Secure Minecraft Server","href":"/gateway/examples/minecraft"},{"title":"Securely Put Your Self-Hosted n8n Workflows Online","sidebarTitle":"Grant Access to Your n8n Workflows","href":"/gateway/examples/n8n"},{"title":"Expose and Secure Your Self-Hosted Odoo Instance","href":"/gateway/examples/odoo"},{"title":"Ollama Remote Access: Expose and Secure Your Ollama API","sidebarTitle":"Expose Ollama API","href":"/gateway/examples/ollama"},{"title":"Accelerate and Secure your Wordpress Installation","sidebarTitle":"Secure Wordpress Installations","href":"/gateway/examples/wordpress"}]},{"group":"Ship Changes Safely","expanded":false,"pages":[{"title":"Switch Traffic Between Blue-Green Deployments","sidebarTitle":"Blue-Green Deployments","href":"/gateway/examples/blue-green-deployments"},{"title":"Distribute Traffic Between Canary Deployments","sidebarTitle":"Canary Deployments","href":"/gateway/examples/canary-deployments"},{"title":"Access CI/CD Deploy Previews on Secure URLs","sidebarTitle":"Ephemeral Workloads","href":"/gateway/examples/ephemeral-workloads"},{"title":"Deploy a Consistent Maintenance Message with Traffic Policy","sidebarTitle":"Maintenance Mode","href":"/gateway/examples/maintenance-mode"}]}]},{"group":"Connectivity","pages":[{"group":"Endpoints","pages":[{"title":"Endpoints Overview","sidebarTitle":"Overview","href":"/gateway/endpoints/index"},{"group":"Agent Endpoints","pages":[{"title":"Agent Endpoints","sidebarTitle":"Overview","href":"/gateway/endpoints/agent-endpoints"},{"title":"Agent Endpoint Protocols","sidebarTitle":"Protocols","href":"/gateway/endpoints/protocols"},{"title":"HTTP/S Agent Endpoints","sidebarTitle":"HTTP/S Endpoints","href":"/gateway/endpoints/http"},{"title":"TLS Agent Endpoints","sidebarTitle":"TLS Endpoints","href":"/gateway/endpoints/tls"},{"title":"TCP Agent Endpoints","sidebarTitle":"TCP Endpoints","href":"/gateway/endpoints/tcp"},{"title":"Endpoint Bindings","sidebarTitle":"Bindings","href":"/gateway/endpoints/bindings"},{"title":"Public Agent Endpoints","sidebarTitle":"Public Endpoints","href":"/gateway/endpoints/public-endpoints"},{"title":"Internal Agent Endpoints","sidebarTitle":"Internal Endpoints","href":"/gateway/endpoints/internal-endpoints"},{"sidebarTitle":"Kubernetes Endpoints","title":"Kubernetes Agent Endpoints","href":"/gateway/endpoints/kubernetes-endpoints"}]},{"group":"Cloud Endpoints","pages":[{"title":"Cloud Endpoints","sidebarTitle":"Overview","href":"/gateway/endpoints/cloud-endpoints/index"},{"title":"Cloud Endpoints Quickstart","sidebarTitle":"Quickstart","href":"/getting-started/cloud-endpoints-quickstart"},{"title":"Cloud Endpoint Protocols","sidebarTitle":"Protocols","href":"/gateway/endpoints/cloud-endpoints/protocols"},{"title":"HTTP/S Cloud Endpoints","sidebarTitle":"HTTP/S Endpoints","href":"/gateway/endpoints/cloud-endpoints/http"},{"title":"TLS Cloud Endpoints","sidebarTitle":"TLS Endpoints","href":"/gateway/endpoints/cloud-endpoints/tls"},{"title":"TCP Cloud Endpoints","sidebarTitle":"TCP Endpoints","href":"/gateway/endpoints/cloud-endpoints/tcp"},{"title":"Endpoint Bindings","sidebarTitle":"Bindings","href":"/gateway/endpoints/cloud-endpoints/bindings"},{"title":"Public Cloud Endpoints","sidebarTitle":"Public Endpoints","href":"/gateway/endpoints/cloud-endpoints/public-endpoints"},{"sidebarTitle":"Internal Endpoints","title":"Internal Cloud Endpoints","href":"/gateway/endpoints/cloud-endpoints/internal-endpoints"},{"sidebarTitle":"Kubernetes Endpoints","title":"Kubernetes Cloud Endpoints","href":"/gateway/endpoints/cloud-endpoints/kubernetes-endpoints"},{"title":"How to Change a Cloud Endpoint Domain","href":"/gateway/endpoints/cloud-endpoints/change-domain-endpoint"},{"title":"Forwarding Traffic to and Load Balancing Internal Endpoints with Cloud Endpoints","sidebarTitle":"Forwarding Traffic and Load Balancing","href":"/gateway/endpoints/cloud-endpoints/forwarding-and-load-balancing"},{"title":"Path-based Routing and Policy Decentralization with Cloud Endpoints","sidebarTitle":"Path-based Routing","href":"/gateway/endpoints/cloud-endpoints/routing-and-policy-decentralization"}]},{"group":"Pooling \u0026 Load Balancing","pages":[{"title":"Endpoint Pooling","sidebarTitle":"Overview","href":"/gateway/endpoints/endpoint-pooling"},{"title":"Load Balancing Between Multiple Clouds","href":"/gateway/endpoints/load-balancing-multiple-clouds"}]}]},{"group":"Agents","root":{"title":"ngrok Agents Overview","sidebarTitle":"Overview","href":"/gateway/agent/index"},"pages":[{"title":"ngrok Agents Overview","sidebarTitle":"Overview","href":"/gateway/agent/index"},{"title":"How ngrok Agents Work","sidebarTitle":"How It Works","href":"/gateway/agent/how-it-works"},{"title":"ngrok Agent CLI and SDK Connectivity","sidebarTitle":"Connectivity","href":"/gateway/agent/connectivity"},{"group":"Agent CLI setup","pages":[{"title":"Install the ngrok Agent CLI","sidebarTitle":"Install","href":"/gateway/agent/install"},{"title":"Agent Authtokens","sidebarTitle":"Authtokens","href":"/gateway/agent/authtokens"}]},{"group":"Guides","pages":[{"title":"Expose a Service with the ngrok Agent","sidebarTitle":"Expose a Service","href":"/gateway/agent/expose-a-service"},{"title":"Run the ngrok Agent CLI as a Service","sidebarTitle":"Run as a Service","href":"/gateway/agent/service"},{"title":"SSH Reverse Tunnel","sidebarTitle":"Reverse SSH Agent","href":"/gateway/agent/ssh-reverse-tunnel-agent"},{"title":"Agent CLI TLS Termination","sidebarTitle":"TLS Termination","href":"/gateway/agent/agent-tls-termination"},{"title":"ngrok Agent CLI Web Inspection Interface","sidebarTitle":"Web Inspection Interface","href":"/gateway/agent/web-inspection-interface"}]},{"group":"Configuration File","pages":[{"title":"ngrok Agent CLI Configuration File","sidebarTitle":"Overview","href":"/gateway/agent/config/index"},{"title":"Agent Config Version 3","sidebarTitle":"Version 3","href":"/gateway/agent/config/v3"},{"title":"Agent Config Version 2","sidebarTitle":"Version 2","href":"/gateway/agent/config/v2"}]},{"group":"Account and network controls","pages":[{"title":"Agent API Keys","sidebarTitle":"API Keys","href":"/gateway/agent/api-keys"},{"title":"Restrict Where Agents Connect From","sidebarTitle":"IP Restrictions","href":"/gateway/agent/ip-restrictions"},{"title":"Agent Connect URLs","sidebarTitle":"Connect URLs","href":"/gateway/agent/connect-url"}]},{"group":"Reference","pages":[{"title":"ngrok Agent Command Line Interface (CLI)","sidebarTitle":"CLI","href":"/gateway/agent/cli"},{"title":"ngrok Agent CLI API Commands","sidebarTitle":"CLI API Commands","href":"/gateway/agent/cli-api"},{"title":"ngrok Agent CLI API","sidebarTitle":"API","href":"/gateway/agent/api"},{"title":"ngrok Agent Changelog","sidebarTitle":"Changelog","href":"/gateway/agent/changelog"}]},{"group":"Versions","pages":[{"title":"Upgrade to ngrok Agent v3","sidebarTitle":"Upgrade to v3","href":"/gateway/agent/upgrade-v2-v3"},{"title":"ngrok Agent Version Support Policy","sidebarTitle":"Version Support Policy","href":"/gateway/agent/version-support-policy"},{"title":"Agent Version Deprecation Notices","sidebarTitle":"Deprecation Notices","href":"/gateway/agent/deprecation-notices"}]}]},{"group":"Kubernetes Operators","pages":[{"title":"Kubernetes Operator","sidebarTitle":"Overview","href":"/gateway/k8s/index"},{"title":"How the ngrok Kubernetes Operator Works","sidebarTitle":"How It Works","href":"/gateway/k8s/how-it-works"},{"title":"Kubernetes Operator Architecture","sidebarTitle":"Architecture","href":"/gateway/k8s/installation/architecture"},{"title":"Kubernetes Operator Release Process","sidebarTitle":"Releasing","href":"/gateway/k8s/releasing"},{"group":"Quickstarts","pages":[{"title":"Kubernetes Ingress Quickstart","sidebarTitle":"Ingress","href":"/getting-started/kubernetes/ingress"},{"title":"Kubernetes Custom Resources Quickstart","sidebarTitle":"Custom Resources","href":"/getting-started/kubernetes/crds"},{"title":"Kubernetes Gateway API Quickstart","sidebarTitle":"Gateway API","href":"/getting-started/kubernetes/gateway-api"},{"title":"Kubernetes Endpoints Quickstart","sidebarTitle":"Endpoints","href":"/getting-started/kubernetes/endpoints"}]},{"group":"Installation","pages":[{"title":"ngrok Kubernetes Operator Network Egress Requirements","sidebarTitle":"Network Egress","href":"/gateway/k8s/installation/network-egress"},{"title":"How to update the ngrok Kubernetes Operator","sidebarTitle":"Updates \u0026 Upgrades","href":"/gateway/k8s/installation/update"},{"title":"Kubernetes Operator Helm Configuration","sidebarTitle":"Helm Configuration","href":"/gateway/k8s/installation/helm"},{"title":"Monitoring the Kubernetes Operator","sidebarTitle":"Observability","href":"/gateway/k8s/installation/observability"},{"title":"Uninstalling the ngrok Kubernetes Operator","sidebarTitle":"Uninstall","href":"/gateway/k8s/installation/uninstall"}]},{"group":"Load Balancing","pages":[{"title":"Load Balancing for Kubernetes Services","sidebarTitle":"For Kubernetes Services","href":"/gateway/k8s/load-balancing/load-balancing-kubernetes"},{"title":"Load Balancing Between Multiple Kubernetes Clusters","sidebarTitle":"For Kubernetes Clusters","href":"/gateway/k8s/load-balancing/load-balancing-kubernetes-clusters"}]},{"group":"How-to","pages":[{"title":"Controlling Traffic Flow with Request Routing","sidebarTitle":"Request Routing","href":"/gateway/k8s/guides/how-to/request-routing"},{"title":"TLS Routing","href":"/gateway/k8s/guides/how-to/tls-routing"},{"title":"TCP Routing","href":"/gateway/k8s/guides/how-to/tcp-routing"},{"title":"Customizing Requests with Header Manipulation","sidebarTitle":"Manipulate Headers","href":"/gateway/k8s/guides/how-to/manipulate-headers"},{"title":"Managing Traffic with Redirects","sidebarTitle":"Redirects","href":"/gateway/k8s/guides/how-to/redirects"},{"title":"Customizing Request Routing with URL Rewriting","sidebarTitle":"Rewrite URL","href":"/gateway/k8s/guides/how-to/rewrite-url"},{"title":"Serving Static Responses with Custom Response Policies","sidebarTitle":"Custom/Static Response","href":"/gateway/k8s/guides/how-to/static-response"},{"title":"Managing TLS Termination for Secure Connections","sidebarTitle":"Terminate TLS","href":"/gateway/k8s/guides/how-to/terminate-tls"},{"title":"Securing Upstream Connections with TLS \u0026 Mutual TLS (mTLS)","sidebarTitle":"Upstream TLS","href":"/gateway/k8s/guides/how-to/upstream-tls"},{"title":"Protecting Services with Rate Limiting","sidebarTitle":"Rate Limiting","href":"/gateway/k8s/guides/how-to/rate-limiting"},{"title":"Protecting Your Endpoints by Denying Unwanted Traffic","sidebarTitle":"Deny Requests","href":"/gateway/k8s/guides/how-to/deny-requests"},{"title":"Securing Endpoints with Basic Authentication","sidebarTitle":"Basic Auth","href":"/gateway/k8s/guides/how-to/basic-auth"},{"title":"Securing Your Endpoints with OAuth Authentication","sidebarTitle":"OAuth","href":"/gateway/k8s/guides/how-to/oauth"},{"title":"Authenticating Users with OpenID Connect (OIDC)","sidebarTitle":"OpenID Connect (OIDC)","href":"/gateway/k8s/guides/how-to/oidc"},{"title":"Securing Your Endpoints with JWT Validation","sidebarTitle":"JWT Validation","href":"/gateway/k8s/guides/how-to/jwt-validation"},{"title":"Controlling Access with IP Restrictions","sidebarTitle":"Restrict IPs","href":"/gateway/k8s/guides/how-to/restrict-ips"},{"title":"Restricting Access by Kubernetes Pod Identity","sidebarTitle":"Pod Identity Variables","href":"/gateway/k8s/guides/how-to/pod-identity"},{"title":"Circuit Breaking for System Reliability","sidebarTitle":"Circuit Breaking","href":"/gateway/k8s/guides/how-to/circuit-breaking"},{"title":"Improving Performance with Response Compression","sidebarTitle":"Compress Responses","href":"/gateway/k8s/guides/how-to/compress-response"}]},{"group":"Custom Resources","pages":[{"title":"Kubernetes Operator Custom Resources (CRDs)","href":"/gateway/k8s/crds/index"},{"title":"AgentEndpoint","href":"/gateway/k8s/crds/agentendpoint"},{"title":"CloudEndpoint","href":"/gateway/k8s/crds/cloudendpoint"},{"title":"NgrokTrafficPolicy","href":"/gateway/k8s/crds/ngroktrafficpolicy"},{"title":"BoundEndpoint","href":"/gateway/k8s/crds/boundendpoint"},{"title":"Domain","href":"/gateway/k8s/crds/domain"},{"title":"KubernetesOperator","href":"/gateway/k8s/crds/kubernetesoperator"},{"title":"IPPolicy","href":"/gateway/k8s/crds/ippolicy"}]},{"group":"Guides","pages":[{"title":"Running Multiple ngrok Operator Installations","sidebarTitle":"Multiple Installations","href":"/gateway/k8s/guides/multiple-installs"},{"title":"Running a Local Kubernetes Cluster","sidebarTitle":"Local Cluster Options","href":"/gateway/k8s/guides/local-cluster"},{"title":"Using ngrok Custom Resources","sidebarTitle":"Using CRDs","href":"/gateway/k8s/guides/using-crds"},{"title":"How to create endpoints in the ngrok Kubernetes Operator","sidebarTitle":"Endpoint Types","href":"/gateway/k8s/guides/endpoint-types"},{"title":"Binding Endpoints in the ngrok Kubernetes Operator","sidebarTitle":"Bindings","href":"/gateway/k8s/guides/bindings"},{"title":"Pooling Endpoints in the ngrok Kubernetes Operator","sidebarTitle":"Pooling","href":"/gateway/k8s/guides/pooling"},{"title":"Kubernetes Custom White-Label Domains","sidebarTitle":"Custom Domains","href":"/gateway/k8s/guides/custom-domain"},{"title":"Connecting to Customer Networks","href":"/gateway/k8s/guides/customer-networks"},{"title":"Projecting Local Services into Remote Clusters","sidebarTitle":"Local Projection","href":"/gateway/k8s/guides/local-projection"},{"title":"Gateway API with the ngrok Kubernetes Operator","sidebarTitle":"Using Gateway API","href":"/gateway/k8s/guides/using-gwapi"},{"title":"How the ngrok Operator Uses Ingresses","sidebarTitle":"Using Ingresses","href":"/gateway/k8s/guides/using-ingresses"},{"title":"Custom ngrok Annotations","sidebarTitle":"Custom Annotations","href":"/gateway/k8s/guides/annotations"},{"title":"ngrok Kubernetes Operator Managed Resources","sidebarTitle":"Managed Resources","href":"/gateway/k8s/guides/managed-resources"},{"title":"Finalizers Created by the ngrok Kubernetes Operator","sidebarTitle":"Finalizers","href":"/gateway/k8s/guides/finalizers"},{"title":"Troubleshooting the ngrok Kubernetes Operator","sidebarTitle":"Troubleshooting","href":"/gateway/k8s/guides/troubleshooting"},{"title":"Exposing the Kubernetes API Server with the ngrok Operator","sidebarTitle":"Expose Kubernetes API","href":"/gateway/k8s/guides/expose-kubernetes-api"},{"title":"How the ngrok Operator Uses LoadBalancer Services","sidebarTitle":"Using LoadBalancer Services","href":"/gateway/k8s/guides/using-loadbalancers"}]}]}]},{"group":"Traffic Policy","pages":[{"title":"Traffic Policy Overview","sidebarTitle":"Overview","href":"/gateway/traffic-policy/index"},{"group":"Quickstarts","pages":[{"title":"Agent Endpoints with Traffic Policy Quickstart","sidebarTitle":"Agent Endpoints","href":"/gateway/traffic-policy/getting-started/agent-endpoints"},{"title":"Cloud Endpoints with Traffic Policy Quickstart","sidebarTitle":"Cloud Endpoints","href":"/gateway/traffic-policy/getting-started/cloud-endpoints"}]},{"title":"How Traffic Policy Works","sidebarTitle":"How It Works","href":"/gateway/traffic-policy/how-it-works"},{"group":"Concepts","pages":[{"title":"Expression Examples","sidebarTitle":"CEL Expression Examples","href":"/gateway/traffic-policy/concepts/expressions"},{"title":"Actions","sidebarTitle":"Terminating Actions","href":"/gateway/traffic-policy/concepts/actions"},{"title":"Traffic Identities","href":"/gateway/traffic-policy/identities"}]},{"group":"Actions","pages":[{"title":"Traffic Policy Actions","sidebarTitle":"Overview","href":"/gateway/traffic-policy/actions/index"},{"title":"Add Headers Action","sidebarTitle":"Add Headers","href":"/gateway/traffic-policy/actions/add-headers"},{"title":"Basic Auth Action","sidebarTitle":"Basic Auth","href":"/gateway/traffic-policy/actions/basic-auth"},{"title":"Circuit Breaker Action","sidebarTitle":"Circuit Breaker","href":"/gateway/traffic-policy/actions/circuit-breaker"},{"title":"Close Connection Action","sidebarTitle":"Close Connection","href":"/gateway/traffic-policy/actions/close-connection"},{"title":"Compress Response Action","sidebarTitle":"Compress Response","href":"/gateway/traffic-policy/actions/compress-response"},{"title":"Custom Response Action","sidebarTitle":"Custom Response","href":"/gateway/traffic-policy/actions/custom-response"},{"title":"Deny Action","sidebarTitle":"Deny","href":"/gateway/traffic-policy/actions/deny"},{"title":"Forward Internal Action","sidebarTitle":"Forward Internal","href":"/gateway/traffic-policy/actions/forward-internal"},{"title":"HTTP Request Action","sidebarTitle":"HTTP Request","href":"/gateway/traffic-policy/actions/http-request"},{"title":"JWT Validation Action","sidebarTitle":"JWT Validation","href":"/gateway/traffic-policy/actions/jwt-validation"},{"title":"Log Action","sidebarTitle":"Log","href":"/gateway/traffic-policy/actions/log"},{"title":"OAuth Action","sidebarTitle":"OAuth","href":"/gateway/traffic-policy/actions/oauth"},{"title":"OpenID Connect Action","sidebarTitle":"OpenID Connect (OIDC)","href":"/gateway/traffic-policy/actions/oidc"},{"title":"OWASP CRS Request Action","sidebarTitle":"OWASP CRS Request","href":"/gateway/traffic-policy/actions/owasp-crs-request"},{"title":"OWASP CRS Response Action","sidebarTitle":"OWASP CRS Response","href":"/gateway/traffic-policy/actions/owasp-crs-response"},{"title":"Rate Limit Action","sidebarTitle":"Rate Limit","href":"/gateway/traffic-policy/actions/rate-limit"},{"title":"Redirect Action","sidebarTitle":"Redirect","href":"/gateway/traffic-policy/actions/redirect"},{"title":"Remove Headers Action","sidebarTitle":"Remove Headers","href":"/gateway/traffic-policy/actions/remove-headers"},{"title":"Request Body Find \u0026 Replace Action","sidebarTitle":"Request Body Find \u0026 Replace","href":"/gateway/traffic-policy/actions/request-body-find-replace"},{"title":"Response Body Find \u0026 Replace Action","sidebarTitle":"Response Body Find \u0026 Replace","href":"/gateway/traffic-policy/actions/response-body-find-replace"},{"title":"Restrict IPs Action","sidebarTitle":"Restrict IPs","href":"/gateway/traffic-policy/actions/restrict-ips"},{"title":"SAML Action","sidebarTitle":"SAML","tag":"Coming Soon","href":"/gateway/traffic-policy/actions/saml"},{"title":"Set Vars Action","sidebarTitle":"Set Vars","href":"/gateway/traffic-policy/actions/set-vars"},{"title":"SSE Find \u0026 Replace Action","sidebarTitle":"SSE Find \u0026 Replace","href":"/gateway/traffic-policy/actions/sse-find-replace"},{"title":"Terminate TLS Action","sidebarTitle":"Terminate TLS","href":"/gateway/traffic-policy/actions/terminate-tls"},{"title":"URL Rewrite Action","sidebarTitle":"URL Rewrite","href":"/gateway/traffic-policy/actions/url-rewrite"},{"title":"Verify Webhook Action","sidebarTitle":"Verify Webhook","href":"/gateway/traffic-policy/actions/verify-webhook"}]},{"group":"Examples","pages":[{"title":"Traffic Policy Examples","sidebarTitle":"Overview","mode":"wide","href":"/gateway/traffic-policy/examples/index"},{"title":"How to run an A/B test","sidebarTitle":"A/B Tests","href":"/gateway/traffic-policy/examples/a-b-tests"},{"title":"Add and Remove Headers","href":"/gateway/traffic-policy/examples/add-and-remove-headers"},{"title":"Add Authentication","href":"/gateway/traffic-policy/examples/add-authentication"},{"title":"Block Unwanted Requests","href":"/gateway/traffic-policy/examples/block-unwanted-requests"},{"title":"Filter Traffic by IP Category","href":"/gateway/traffic-policy/examples/filter-by-ip-category"},{"title":"Compress JSON Responses Example","sidebarTitle":"Compress JSON Responses","href":"/gateway/traffic-policy/examples/compress-json-responses"},{"title":"Enforce TLS Example","sidebarTitle":"Enforce TLS","href":"/gateway/traffic-policy/examples/enforce-tls"},{"title":"Event Logging Example","sidebarTitle":"Event Logging","href":"/gateway/traffic-policy/examples/event-logging"},{"title":"Using OAuth Traffic Policy on Endpoints","sidebarTitle":"OAuth Protection","href":"/gateway/traffic-policy/examples/oauth-protection"},{"title":"How to Rate Limit Traffic","sidebarTitle":"Rate Limit Requests","href":"/gateway/traffic-policy/examples/rate-limit-requests"},{"title":"Route Requests","href":"/gateway/traffic-policy/examples/route-requests"},{"title":"URL Rewrites Examples","sidebarTitle":"URL Rewrites","href":"/gateway/traffic-policy/examples/url-rewrites"},{"title":"User Agent Filtering Example","sidebarTitle":"User Agent Filtering","href":"/gateway/traffic-policy/examples/user-agent-filtering"}]},{"group":"Reference","pages":[{"title":"Traffic Policy Macros Reference","sidebarTitle":"Macros","href":"/gateway/traffic-policy/macros/index"},{"group":"Variables","pages":[{"title":"Variables","sidebarTitle":"Overview","href":"/gateway/traffic-policy/variables/index"},{"title":"Action Variables","href":"/gateway/traffic-policy/variables/action"},{"title":"Connection Variables","href":"/gateway/traffic-policy/variables/connection"},{"title":"Endpoint Variables","href":"/gateway/traffic-policy/variables/endpoint"},{"title":"IP Intelligence","href":"/gateway/traffic-policy/variables/ip-intel"},{"title":"HTTP Request Variables","href":"/gateway/traffic-policy/variables/req"},{"title":"HTTP Response Variables","href":"/gateway/traffic-policy/variables/res"},{"title":"Time Variables","href":"/gateway/traffic-policy/variables/time"}]}]}]},{"group":"Observability","pages":[{"title":"Traffic Observability Overview","sidebarTitle":"Overview","href":"/obs/index"},{"group":"Traffic Inspector","root":{"title":"Traffic Inspector","sidebarTitle":"Overview","href":"/obs/traffic-inspection"},"pages":[{"title":"Traffic Inspector HTTP Requests","sidebarTitle":"HTTP Requests","href":"/obs/traffic-inspection/http-requests"},{"title":"Traffic Inspector TCP Connections","sidebarTitle":"TCP Connections","href":"/obs/traffic-inspection/tcp-connections"}]},{"group":"Log Exporting","pages":[{"title":"Events","sidebarTitle":"Overview","href":"/obs/events/index"},{"title":"Event Source Reference","href":"/obs/events/reference"}]}]},{"group":"Network","pages":[{"group":"Domains","pages":[{"title":"Domains","sidebarTitle":"Overview","href":"/gateway/domains/index"},{"title":"How to Use A Custom Domain","sidebarTitle":"Using Custom Domains","href":"/gateway/domains/custom-domains"},{"title":"Region \u0026 IP Resolution","sidebarTitle":"Region \u0026 IP Resolution","href":"/gateway/domains/region-pinning"},{"title":"TLS Termination","href":"/gateway/domains/tls-termination"},{"title":"mTLS Termination at the ngrok edge","href":"/gateway/domains/mtls-termination"},{"title":"DDoS Protection","href":"/gateway/domains/ddos-protection"},{"title":"Global Load Balancer","href":"/gateway/domains/global-load-balancer"}]},{"group":"TCP Addresses","pages":[{"title":"IP Addresses","href":"/gateway/domains/ip-addresses"},{"title":"Dedicated IPs","tag":"Coming Soon","href":"/gateway/domains/dedicated-ips"},{"title":"TCP Addresses","href":"/gateway/domains/tcp-addresses"}]}]},{"group":"Resources","pages":[{"title":"IP Policies","sidebarTitle":"IP Policies","href":"/gateway/traffic-policy/concepts/ip-policies"},{"title":"Using Vaults \u0026 Secrets with Traffic Policy","sidebarTitle":"Vaults \u0026 Secrets","href":"/gateway/traffic-policy/secrets"},{"title":"TLS Certificates","href":"/gateway/domains/tls-certificates"}]},{"group":"Identity \u0026 Access","pages":[{"title":"Identity and Access Management Overview","sidebarTitle":"Overview","href":"/iam/index"},{"group":"Principals","pages":[{"title":"Users","href":"/iam/users"},{"title":"Service Users","href":"/iam/service-users"}]},{"group":"Account Governance","pages":[{"title":"Single Sign-On and Provisioning to the ngrok Dashboard","sidebarTitle":"Dashboard Single Sign-On","href":"/iam/sso"},{"title":"Role-Based Access Control","sidebarTitle":"RBAC","href":"/iam/rbac"},{"title":"Account Domain Controls","href":"/iam/domain-controls"}]}]}]},{"tab":"AI Gateway","pages":[{"title":"AI Gateway Overview","sidebarTitle":"Overview","icon":"house","href":"/ai-gateway/overview"},{"title":"Quickstart","icon":"rocket","href":"/ai-gateway/quickstart"},{"title":"How It Works","icon":"gears","href":"/ai-gateway/how-it-works"},{"title":"Model Catalog","icon":"book","href":"/ai-gateway/reference/model-catalog"},{"title":"Changelog","icon":"clock-rotate-left","href":"/ai-gateway/changelog"},{"title":"FAQ","icon":"circle-question","href":"/ai-gateway/faq"},{"group":"Concepts","pages":[{"title":"Access Keys","sidebarTitle":"Access Keys","href":"/ai-gateway/concepts/access-keys"},{"title":"Credits","href":"/ai-gateway/concepts/credits"},{"title":"Providers","href":"/ai-gateway/concepts/providers"},{"title":"Models","href":"/ai-gateway/concepts/models"},{"title":"Custom Providers","href":"/ai-gateway/concepts/custom-providers"},{"title":"Bring Your Own Keys","href":"/ai-gateway/concepts/bring-your-own-keys"},{"title":"Firewall","sidebarTitle":"Firewall","href":"/ai-gateway/concepts/firewall"}]},{"group":"Getting Started With","pages":[{"title":"OpenAI","href":"/ai-gateway/providers/openai"},{"title":"Anthropic","href":"/ai-gateway/providers/anthropic"},{"title":"OpenRouter","href":"/ai-gateway/providers/openrouter"},{"title":"Google","href":"/ai-gateway/providers/google"},{"title":"Groq","href":"/ai-gateway/providers/groq"},{"title":"DeepSeek","href":"/ai-gateway/providers/deepseek"},{"title":"xAI","href":"/ai-gateway/providers/xai"},{"title":"Mistral AI","href":"/ai-gateway/providers/mistral"},{"title":"Moonshot AI","href":"/ai-gateway/providers/moonshotai"},{"title":"Z.ai","href":"/ai-gateway/providers/z-ai"},{"title":"QwenCloud","href":"/ai-gateway/providers/qwencloud"},{"title":"MiniMax","href":"/ai-gateway/providers/minimax"},{"title":"Tencent TokenHub","href":"/ai-gateway/providers/tokenhub"},{"title":"Typesafe AI","href":"/ai-gateway/providers/typesafeai"},{"title":"Hyperbolic","href":"/ai-gateway/providers/hyperbolic"},{"title":"InceptionLabs","href":"/ai-gateway/providers/inceptionlabs"},{"title":"Inference.net","href":"/ai-gateway/providers/inference-net"},{"title":"Ollama","sidebarTitle":"Ollama","href":"/ai-gateway/custom-providers/ollama"},{"title":"LM Studio","sidebarTitle":"LM Studio","href":"/ai-gateway/custom-providers/lm-studio"},{"title":"vLLM","sidebarTitle":"vLLM","href":"/ai-gateway/custom-providers/vllm"},{"title":"Azure OpenAI","sidebarTitle":"Azure OpenAI","href":"/ai-gateway/custom-providers/azure-openai"}]},{"group":"SDKs","pages":[{"title":"SDK Integration","sidebarTitle":"Overview","href":"/ai-gateway/sdks/index"},{"title":"OpenAI SDK","sidebarTitle":"OpenAI SDK","href":"/ai-gateway/sdks/openai"},{"title":"Anthropic SDK","sidebarTitle":"Anthropic SDK","href":"/ai-gateway/sdks/anthropic"},{"title":"Google Gen AI SDK","sidebarTitle":"Google Gen AI SDK","href":"/ai-gateway/sdks/google"},{"title":"Vercel AI SDK","sidebarTitle":"Vercel AI SDK","href":"/ai-gateway/sdks/vercel-ai-sdk"},{"title":"TanStack AI","sidebarTitle":"TanStack AI","href":"/ai-gateway/sdks/tanstack-ai"},{"title":"LangChain","sidebarTitle":"LangChain","href":"/ai-gateway/sdks/langchain"},{"title":"Other SDKs","sidebarTitle":"Other SDKs","href":"/ai-gateway/sdks/other"}]},{"group":"Agents","pages":[{"title":"Agents","sidebarTitle":"Overview","href":"/ai-gateway/agents/index"},{"title":"Claude Code","sidebarTitle":"Claude Code","href":"/ai-gateway/agents/claude-code"},{"title":"Codex","sidebarTitle":"Codex","href":"/ai-gateway/agents/codex"},{"title":"Cursor","sidebarTitle":"Cursor","href":"/ai-gateway/agents/cursor"},{"title":"Hermes","sidebarTitle":"Hermes","href":"/ai-gateway/agents/hermes"},{"title":"OpenCode","sidebarTitle":"OpenCode","href":"/ai-gateway/agents/opencode"},{"title":"Pi","sidebarTitle":"Pi","href":"/ai-gateway/agents/pi"},{"title":"Zed","sidebarTitle":"Zed","href":"/ai-gateway/agents/zed"},{"title":"Other agents","sidebarTitle":"Other agents","href":"/ai-gateway/agents/other"}]},{"group":"Guides","pages":[{"title":"Choose how to reach providers","sidebarTitle":"Choose how to reach providers","href":"/ai-gateway/guides/configuring-providers"},{"title":"Pay with credits","sidebarTitle":"Pay with credits","href":"/ai-gateway/guides/pay-with-credits"},{"title":"Bring your own provider key","sidebarTitle":"Bring your own provider key","href":"/ai-gateway/guides/attaching-provider-keys"},{"title":"Use a model you run yourself","sidebarTitle":"Use a model you run yourself","href":"/ai-gateway/guides/use-a-model-you-run-yourself"},{"title":"Choose a model","sidebarTitle":"Choose a model","href":"/ai-gateway/guides/model-selection-strategies"},{"title":"Automatic model selection","sidebarTitle":"Automatic model selection","href":"/ai-gateway/guides/automatic-model-selection"},{"title":"Configure fallback models","sidebarTitle":"Configure fallback models","href":"/ai-gateway/guides/configure-fallback-models"},{"title":"Upload and use files","sidebarTitle":"Files","href":"/ai-gateway/guides/files"},{"title":"Typed-question APIs","sidebarTitle":"Decisions and System One","href":"/ai-gateway/guides/decisions-and-system-one"},{"title":"Restrict providers and models","sidebarTitle":"Restrict providers and models","href":"/ai-gateway/guides/restrict-providers-and-models"},{"title":"Set up an access key configuration","sidebarTitle":"Set up an access key configuration","href":"/ai-gateway/guides/access-key-configurations"},{"title":"Guard Agent Tool Calls with Firewall","sidebarTitle":"Guard agent tool calls","href":"/ai-gateway/guides/firewall-policies"},{"title":"Configure provider key failover","sidebarTitle":"Configure provider key failover","href":"/ai-gateway/guides/key-selection-failover"},{"title":"Secure your gateway","sidebarTitle":"Secure your gateway","href":"/ai-gateway/guides/securing-endpoints"},{"title":"Configure account settings","sidebarTitle":"Configure account settings","href":"/ai-gateway/guides/account-settings"},{"title":"Handle gateway errors","sidebarTitle":"Handle gateway errors","href":"/ai-gateway/guides/error-handling"},{"title":"Debug failed requests","sidebarTitle":"Debug failed requests","href":"/ai-gateway/guides/debugging"},{"title":"Find out why a request failed over","sidebarTitle":"Why a request failed over","href":"/ai-gateway/guides/why-a-request-failed-over"}]},{"group":"Observability","pages":[{"title":"Observability Overview","sidebarTitle":"Overview","href":"/ai-gateway/observability/index"}]},{"group":"Examples","pages":[{"title":"Multi-Provider Failover","href":"/ai-gateway/examples/multi-provider-failover"},{"title":"Multi-Key Failover","href":"/ai-gateway/examples/multi-key-failover"},{"title":"Restrict Models and Providers","href":"/ai-gateway/examples/model-filtering"},{"title":"Securely Put Your Self-Hosted n8n Workflows Online","sidebarTitle":"Grant Access to Your n8n Workflows","href":"/gateway/examples/n8n"}]},{"group":"Reference","pages":[{"title":"Error Codes Reference","href":"/ai-gateway/reference/error-codes"},{"title":"Firewall Reference","sidebarTitle":"Firewall","href":"/ai-gateway/reference/firewall"}]},{"group":"API Reference","pages":[{"title":"AI Gateway API","sidebarTitle":"Overview","href":"/ai-gateway/api-reference/overview"},{"group":"Access Keys","pages":[{"openapi":"openapi/ai-gateway.yaml GET /access-keys","title":"List AI Gateway access keys","href":"/ai-gateway/api-reference/access-keys/list"},{"openapi":"openapi/ai-gateway.yaml POST /access-keys","title":"Create an AI Gateway access key","href":"/ai-gateway/api-reference/access-keys/create"},{"openapi":"openapi/ai-gateway.yaml GET /access-keys/{id}","title":"Get an AI Gateway access key","href":"/ai-gateway/api-reference/access-keys/get"},{"openapi":"openapi/ai-gateway.yaml PATCH /access-keys/{id}","title":"Update an AI Gateway access key","href":"/ai-gateway/api-reference/access-keys/update"},{"openapi":"openapi/ai-gateway.yaml DELETE /access-keys/{id}","title":"Delete an AI Gateway access key","href":"/ai-gateway/api-reference/access-keys/delete"}]},{"group":"Access Key Configurations","pages":[{"openapi":"openapi/ai-gateway.yaml GET /access-key-configurations","title":"List AI Gateway access key configurations","href":"/ai-gateway/api-reference/access-key-configurations/list"},{"openapi":"openapi/ai-gateway.yaml POST /access-key-configurations","title":"Create an AI Gateway access key configuration","href":"/ai-gateway/api-reference/access-key-configurations/create"},{"openapi":"openapi/ai-gateway.yaml GET /access-key-configurations/{id}","title":"Get an AI Gateway access key configuration","href":"/ai-gateway/api-reference/access-key-configurations/get"},{"openapi":"openapi/ai-gateway.yaml PATCH /access-key-configurations/{id}","title":"Update an AI Gateway access key configuration","href":"/ai-gateway/api-reference/access-key-configurations/update"},{"openapi":"openapi/ai-gateway.yaml DELETE /access-key-configurations/{id}","title":"Delete an AI Gateway access key configuration","href":"/ai-gateway/api-reference/access-key-configurations/delete"}]},{"group":"Firewall Policies","pages":[{"openapi":"openapi/ai-gateway.yaml GET /firewall-policies","title":"List AI Gateway Firewall policies","href":"/ai-gateway/api-reference/firewall-policies/list"},{"openapi":"openapi/ai-gateway.yaml POST /firewall-policies","title":"Create an AI Gateway Firewall policy","href":"/ai-gateway/api-reference/firewall-policies/create"},{"openapi":"openapi/ai-gateway.yaml GET /firewall-policies/{id}","title":"Get an AI Gateway Firewall policy","href":"/ai-gateway/api-reference/firewall-policies/get"},{"openapi":"openapi/ai-gateway.yaml PATCH /firewall-policies/{id}","title":"Update an AI Gateway Firewall policy","href":"/ai-gateway/api-reference/firewall-policies/update"},{"openapi":"openapi/ai-gateway.yaml DELETE /firewall-policies/{id}","title":"Delete an AI Gateway Firewall policy","href":"/ai-gateway/api-reference/firewall-policies/delete"}]},{"group":"Provider Keys","pages":[{"openapi":"openapi/ai-gateway.yaml GET /provider-keys","title":"List AI Gateway provider keys","href":"/ai-gateway/api-reference/provider-keys/list"},{"openapi":"openapi/ai-gateway.yaml POST /provider-keys","title":"Create an AI Gateway provider key","href":"/ai-gateway/api-reference/provider-keys/create"},{"openapi":"openapi/ai-gateway.yaml GET /provider-keys/{id}","title":"Get an AI Gateway provider key","href":"/ai-gateway/api-reference/provider-keys/get"},{"openapi":"openapi/ai-gateway.yaml PATCH /provider-keys/{id}","title":"Update an AI Gateway provider key","href":"/ai-gateway/api-reference/provider-keys/update"},{"openapi":"openapi/ai-gateway.yaml DELETE /provider-keys/{id}","title":"Delete an AI Gateway provider key","href":"/ai-gateway/api-reference/provider-keys/delete"},{"openapi":"openapi/ai-gateway.yaml POST /provider-keys/{id}/rotate","title":"Rotate an AI Gateway provider key","href":"/ai-gateway/api-reference/provider-keys/rotate"}]},{"group":"Providers","pages":[{"openapi":"openapi/ai-gateway.yaml GET /providers","title":"List AI Gateway providers","href":"/ai-gateway/api-reference/providers/list"},{"openapi":"openapi/ai-gateway.yaml POST /providers","title":"Create an AI Gateway provider","href":"/ai-gateway/api-reference/providers/create"},{"openapi":"openapi/ai-gateway.yaml GET /providers/{id}","title":"Get an AI Gateway provider","href":"/ai-gateway/api-reference/providers/get"},{"openapi":"openapi/ai-gateway.yaml PATCH /providers/{id}","title":"Update an AI Gateway provider","href":"/ai-gateway/api-reference/providers/update"},{"openapi":"openapi/ai-gateway.yaml DELETE /providers/{id}","title":"Delete an AI Gateway provider","href":"/ai-gateway/api-reference/providers/delete"}]},{"group":"API Keys","pages":[{"openapi":"openapi/ai-gateway.yaml GET /api-keys","title":"List AI Gateway API keys","href":"/ai-gateway/api-reference/api-keys/list"},{"openapi":"openapi/ai-gateway.yaml POST /api-keys","title":"Create an AI Gateway API key","href":"/ai-gateway/api-reference/api-keys/create"},{"openapi":"openapi/ai-gateway.yaml GET /api-keys/{id}","title":"Get an AI Gateway API key","href":"/ai-gateway/api-reference/api-keys/get"},{"openapi":"openapi/ai-gateway.yaml PATCH /api-keys/{id}","title":"Update an AI Gateway API key","href":"/ai-gateway/api-reference/api-keys/update"},{"openapi":"openapi/ai-gateway.yaml DELETE /api-keys/{id}","title":"Delete an AI Gateway API key","href":"/ai-gateway/api-reference/api-keys/delete"}]},{"group":"Credits","pages":[{"openapi":"openapi/ai-gateway.yaml GET /credits/balance","title":"Get credit balance","href":"/ai-gateway/api-reference/credits/balance"},{"openapi":"openapi/ai-gateway.yaml GET /credits/transactions","title":"List credit transactions","href":"/ai-gateway/api-reference/credits/transactions"},{"openapi":"openapi/ai-gateway.yaml POST /credits/checkout-session","title":"Create a Stripe checkout session","href":"/ai-gateway/api-reference/credits/checkout-session"},{"openapi":"openapi/ai-gateway.yaml POST /credits/purchases","title":"Start a credit purchase","href":"/ai-gateway/api-reference/credits/purchase-create"},{"openapi":"openapi/ai-gateway.yaml GET /credits/purchases/{id}","title":"Get a credit purchase","href":"/ai-gateway/api-reference/credits/purchase-get"}]},{"group":"Models","pages":[{"openapi":"openapi/ai-gateway.yaml GET /v1/models","title":"List available AI Gateway models","href":"/ai-gateway/api-reference/models/list"}]},{"group":"Configuration","pages":[{"openapi":"openapi/ai-gateway.yaml GET /gateway-config","title":"Get AI Gateway configuration","href":"/ai-gateway/api-reference/gateway-config/get"},{"openapi":"openapi/ai-gateway.yaml PATCH /gateway-config","title":"Update AI Gateway configuration","href":"/ai-gateway/api-reference/gateway-config/update"}]},{"group":"Usage","pages":[{"openapi":"openapi/ai-gateway.yaml GET /usage","title":"List AI Gateway usage events","href":"/ai-gateway/api-reference/usage/list"},{"openapi":"openapi/ai-gateway.yaml GET /usage/overview","title":"AI Gateway usage overview","href":"/ai-gateway/api-reference/usage/overview"},{"openapi":"openapi/ai-gateway.yaml GET /usage/requests/{requestId}","title":"Get the upstream attempts of one AI Gateway request","href":"/ai-gateway/api-reference/usage/request-attempts"}]}]}]},{"tab":"Share Localhost","pages":[{"title":"Share Localhost Overview","sidebarTitle":"Overview","icon":"house","href":"/share-localhost/overview"},{"title":"Share Localhost Quickstart","sidebarTitle":"Quickstart","icon":"rocket","href":"/share-localhost/quickstart"},{"title":"How Sharing Localhost Works","sidebarTitle":"How It Works","icon":"gears","href":"/share-localhost/tunnels"},{"group":"Use Cases","pages":[{"title":"Test Webhooks Locally","sidebarTitle":"Webhooks","href":"/share-localhost/webhooks"},{"title":"Test Mobile Apps Locally","sidebarTitle":"Mobile Apps","href":"/share-localhost/mobile"},{"title":"Share Local APIs","sidebarTitle":"API Development","href":"/share-localhost/apis"}]},{"group":"Concepts","pages":[{"title":"Inspect Traffic and Replay Requests","href":"/share-localhost/inspection"},{"title":"Authentication","sidebarTitle":"Authentication","href":"/share-localhost/auth"},{"title":"Network Security","sidebarTitle":"Network Security","href":"/share-localhost/security"}]},{"group":"Identity \u0026 Access","pages":[{"title":"Identity and Access Management Overview","sidebarTitle":"Overview","href":"/iam/index"},{"group":"Principals","pages":[{"title":"Users","href":"/iam/users"},{"title":"Service Users","href":"/iam/service-users"}]},{"group":"Account Governance","pages":[{"title":"Single Sign-On and Provisioning to the ngrok Dashboard","sidebarTitle":"Dashboard Single Sign-On","href":"/iam/sso"},{"title":"Role-Based Access Control","sidebarTitle":"RBAC","href":"/iam/rbac"},{"title":"Account Domain Controls","href":"/iam/domain-controls"}]}]}]},{"tab":"For AI Agents","pages":[{"title":"ngrok for AI Agents","sidebarTitle":"Overview","href":"/for-agents"},{"title":"ngrok MCP Server","sidebarTitle":"MCP server","href":"/mcp-server/index"},{"title":"ngrok AI Chat Agent for Slack","sidebarTitle":"AI Chat Agent (Slack)","href":"/for-agents/ai-chat-agent"},{"title":"ngrok Skills for AI Agents","sidebarTitle":"Skills","href":"/for-agents/skills"}]},{"tab":"Integrations","pages":[{"title":"Integrations Hub","mode":"wide","href":"/integrations"},{"group":"General Guides","pages":[{"title":"How to access Home Assistant from anywhere with ngrok","sidebarTitle":"Home Assistant","href":"/integrations/guides/home-assistant-with-ngrok"},{"title":"MQTT","href":"/integrations/guides/mqtt"},{"title":"Expose Local Services Behind CGNAT Without Port Forwarding","sidebarTitle":"CGNAT","href":"/using-ngrok-with/cgnat"},{"group":"Docker","pages":[{"title":"Using ngrok with Docker","sidebarTitle":"Overview","href":"/using-ngrok-with/docker/index"},{"title":"Using ngrok with Docker Compose","sidebarTitle":"Docker Compose","href":"/using-ngrok-with/docker/compose"},{"title":"Using ngrok Docker Desktop","sidebarTitle":"Docker Desktop","href":"/using-ngrok-with/docker/desktop"}]},{"title":"Configuring GoDaddy DNS for ngrok Reserved Domains","sidebarTitle":"GoDaddy","href":"/using-ngrok-with/godaddy"},{"title":"Using ngrok with Google Colab","sidebarTitle":"Google Colab","href":"/using-ngrok-with/googleColab"},{"title":"Using ngrok with Java","sidebarTitle":"Java","href":"/using-ngrok-with/java"},{"title":"Using ngrok with Minecraft","sidebarTitle":"Minecraft","href":"/using-ngrok-with/minecraft"},{"title":"Using ngrok with OpenVPN Connect","sidebarTitle":"OpenVPN Connect","href":"/using-ngrok-with/openvpn"},{"title":"Using ngrok with Puppet","sidebarTitle":"Puppet","href":"/using-ngrok-with/puppet"},{"title":"Using ngrok with Visual Studio / IIS Express","sidebarTitle":"Visual Studio / IIS Express","href":"/using-ngrok-with/visualStudio"},{"title":"Using ngrok with VSCode","sidebarTitle":"VSCode","href":"/using-ngrok-with/vsCode"}]},{"group":"CLI Credentials","pages":[{"title":"How to secure your ngrok CLI credentials with 1Password","sidebarTitle":"1Password","href":"/integrations/cli-credentials/1password"}]},{"group":"Dashboard SSO","pages":[{"title":"Configure Auth0 Single Sign-On with SAML","sidebarTitle":"Auth0 (SAML)","href":"/integrations/dashboard-sso/auth0-dashboard-sso-saml"},{"title":"Microsoft Entra ID SSO (SAML)","sidebarTitle":"Microsoft Entra ID (SAML)","href":"/integrations/dashboard-sso/microsoft-sso-saml"},{"title":"Configure Okta Single Sign-On (SSO) Using OpenID Connect (OIDC)","sidebarTitle":"Okta (OpenID Connect)","href":"/integrations/dashboard-sso/okta-dashboard-sso-oidc"},{"title":"Configure Okta Single Sign-On (SSO)","sidebarTitle":"Okta (SAML)","href":"/integrations/dashboard-sso/okta-dashboard-sso-saml"},{"title":"Automate user provisioning via SCIM with Okta","sidebarTitle":"Okta (SCIM)","href":"/integrations/dashboard-sso/okta-dashboard-sso-scim"},{"title":"Salesforce Dashboard Single Sign-On (SSO) Using OIDC","sidebarTitle":"Salesforce (OpenID Connect)","href":"/integrations/dashboard-sso/salesforce-dashboard-sso-oidc"}]},{"group":"Databases","pages":[{"title":"Using ngrok with MySQL","sidebarTitle":"MySQL","href":"/using-ngrok-with/mysql"},{"title":"Using ngrok with MongoDB","sidebarTitle":"MongoDB","href":"/using-ngrok-with/mongodb"},{"title":"Using ngrok with PostgreSQL","sidebarTitle":"PostgreSQL","href":"/using-ngrok-with/postgresql"},{"title":"Using ngrok with Redis","sidebarTitle":"Redis","href":"/using-ngrok-with/redis"}]},{"group":"Endpoints SSO","pages":[{"title":"Auth0 Endpoint SSO (OpenID Connect)","sidebarTitle":"Auth0 (OpenID Connect)","href":"/integrations/endpoint-sso/auth0-sso-oidc"},{"title":"Azure Active Directory B2C SSO (SAML)","sidebarTitle":"Azure AD B2C (SAML)","href":"/integrations/endpoint-sso/azure-sso-saml"},{"title":"Secure Your Endpoints with Curity Identity Server SSO (OpenID Connect)","sidebarTitle":"Curity (OpenID Connect)","href":"/integrations/endpoint-sso/curity-sso-oidc"},{"title":"Secure Your Endpoints with Descope SSO (OpenID Connect)","sidebarTitle":"Descope (OpenID Connect)","href":"/integrations/endpoint-sso/descope-sso-oidc"},{"title":"Secure Your Endpoints with Descope SSO (SAML)","sidebarTitle":"Descope (SAML)","href":"/integrations/endpoint-sso/descope-sso-saml"},{"title":"Secure Your Endpoints with Frontegg SSO (OpenID Connect)","sidebarTitle":"Frontegg (OpenID Connect)","href":"/integrations/endpoint-sso/frontegg-sso-oidc"},{"title":"Secure Your Endpoints with Frontegg SSO (SAML)","sidebarTitle":"Frontegg (SAML)","href":"/integrations/endpoint-sso/frontegg-sso-saml"},{"title":"FusionAuth Endpoint SSO (OpenID Connect)","sidebarTitle":"FusionAuth (OpenID Connect)","href":"/integrations/endpoint-sso/fusionauth-sso-oidc"},{"title":"JumpCloud Endpoint SSO (OpenID Connect)","sidebarTitle":"JumpCloud (OpenID Connect)","href":"/integrations/endpoint-sso/jumpcloud-sso-oidc"},{"title":"JumpCloud SSO (SAML)","sidebarTitle":"JumpCloud (SAML)","href":"/integrations/endpoint-sso/jumpcloud-sso-saml"},{"title":"miniOrange Endpoint SSO (OpenID Connect)","sidebarTitle":"miniOrange (OpenID Connect)","href":"/integrations/endpoint-sso/miniorange-sso-oidc"},{"title":"miniOrange SSO (SAML)","sidebarTitle":"miniOrange (SAML)","href":"/integrations/endpoint-sso/miniorange-sso-saml"},{"title":"Secure Your Endpoints with Okta SSO (OpenID Connect)","sidebarTitle":"Okta (OpenID Connect)","href":"/integrations/endpoint-sso/okta-sso-oidc"},{"title":"Secure Your Endpoints with Okta SSO (SAML)","sidebarTitle":"Okta (SAML)","href":"/integrations/endpoint-sso/okta-sso-saml"},{"title":"Secure ngrok Endpoints Using Salesforce OpenID Connect","sidebarTitle":"Salesforce (OpenID Connect)","href":"/integrations/endpoint-sso/salesforce-sso-oidc"},{"title":"Wallix Trustelem Endpoint SSO (OpenID Connect)","sidebarTitle":"Wallix Trustelem (OpenID Connect)","href":"/integrations/endpoint-sso/trustelem-sso-oidc"},{"title":"Wallix Trustelem SSO (SAML)","sidebarTitle":"Wallix Trustelem (SAML)","href":"/integrations/endpoint-sso/trustelem-sso-saml"}]},{"group":"Event Destinations","pages":[{"title":"Send Network Logs from ngrok to AWS CloudWatch","sidebarTitle":"AWS CloudWatch","href":"/integrations/event-destinations/amazon-cloudwatch-event-destination"},{"title":"Send Network Logs from ngrok to AWS Firehose","sidebarTitle":"AWS Firehose","href":"/integrations/event-destinations/amazon-firehose-event-destination"},{"title":"Send Network Logs from ngrok to AWS Kinesis","sidebarTitle":"AWS Kinesis","href":"/integrations/event-destinations/amazon-kinesis-event-destination"},{"title":"Integrate with the Azure Logs Ingestion API","sidebarTitle":"Azure Logs Ingestion","href":"/integrations/event-destinations/azure-logs-event-destination"},{"title":"Send Network Logs from ngrok to Datadog","sidebarTitle":"Datadog","href":"/integrations/event-destinations/datadog-event-destination"}]},{"group":"Frameworks","pages":[{"title":"Using ngrok with FastAPI","sidebarTitle":"FastAPI","href":"/using-ngrok-with/fastAPI"},{"title":"Using ngrok with Flask","sidebarTitle":"Flask","href":"/using-ngrok-with/flask"},{"title":"Using ngrok with Laravel","sidebarTitle":"Laravel","href":"/using-ngrok-with/laravel"}]},{"group":"JWT Validation","pages":[{"title":"Enable JWT validation with Auth0","sidebarTitle":"Auth0","href":"/integrations/jwt-validation/auth0"}]},{"group":"Kubernetes Ingress","pages":[{"title":"Kubernetes Ingress Integrations","sidebarTitle":"Overview","href":"/integrations/kubernetes-ingress/index"},{"title":"Deploy a production API and gateway with APIOps using Argo CD and ngrok","sidebarTitle":"APIOps with Argo CD","href":"/integrations/kubernetes-ingress/apiops"},{"title":"Ingress to apps secured by Microsoft Entra ID in Kubernetes","sidebarTitle":"Microsoft Entra ID","href":"/integrations/kubernetes-ingress/azure-ad-k8s"},{"title":"Ingress to Kubernetes apps deployed on Azure Kubernetes Service (AKS)","sidebarTitle":"Azure Kubernetes Service","href":"/integrations/kubernetes-ingress/azure-aks-k8s"},{"title":"Kubernetes ingress to services in a Consul service mesh","sidebarTitle":"Consul Service Mesh","href":"/integrations/kubernetes-ingress/consul-k8s"},{"title":"Ingress to Kubernetes apps on clusters managed by DigitalOcean","sidebarTitle":"DigitalOcean","href":"/integrations/kubernetes-ingress/digitalocean-k8s"},{"title":"Kubernetes ingress to services hosted on EKS","sidebarTitle":"EKS","href":"/integrations/kubernetes-ingress/eks"},{"title":"ngrok External Secrets integration","sidebarTitle":"External Secrets","href":"/integrations/kubernetes-ingress/external-secrets"},{"title":"Kubernetes ingress to GKE services with ngrok","sidebarTitle":"GKE","href":"/integrations/kubernetes-ingress/google-kubernetes-engine"},{"title":"Use ngrok's Global Server Load Balancing with DigitalOcean","sidebarTitle":"Global Server Load Balancing","href":"/integrations/kubernetes-ingress/gslb"},{"title":"Ingress to a microservices-based application connected via Linkerd's service mesh","sidebarTitle":"Linkerd","href":"/integrations/kubernetes-ingress/k8s"},{"title":"Kubernetes ingress to apps/APIs on clusters managed by Canonical MicroK8s","sidebarTitle":"MicroK8s","href":"/integrations/kubernetes-ingress/microk8s-k8s"},{"title":"Ingress to Kubernetes apps managed by Rafay","sidebarTitle":"Rafay","href":"/integrations/kubernetes-ingress/rafay-k8s"},{"title":"Kubernetes ingress to applications and clusters managed by Rancher","sidebarTitle":"Rancher","href":"/integrations/kubernetes-ingress/rancher-k8s"},{"title":"Ingress to Kubernetes apps deployed on Spectro Cloud Palette","sidebarTitle":"Spectro Cloud Palette","href":"/integrations/kubernetes-ingress/spectro-cloud-k8s"},{"title":"Ingress to Kubernetes apps and services with vcluster","sidebarTitle":"vcluster","href":"/integrations/kubernetes-ingress/vcluster-k8s"}]},{"group":"OAuth","pages":[{"title":"Facebook OAuth","sidebarTitle":"Facebook","href":"/integrations/oauth/facebook-oauth"},{"title":"GitHub OAuth","sidebarTitle":"GitHub","href":"/integrations/oauth/github-oauth"},{"title":"GitLab OAuth","sidebarTitle":"GitLab","href":"/integrations/oauth/gitlab-oauth"},{"title":"Google OAuth","sidebarTitle":"Google","href":"/integrations/oauth/google-oauth"},{"title":"LinkedIn OAuth","sidebarTitle":"LinkedIn","href":"/integrations/oauth/linkedin-oauth"},{"title":"Microsoft OAuth","sidebarTitle":"Microsoft","href":"/integrations/oauth/microsoft-oauth"},{"title":"Amazon OAuth","sidebarTitle":"Amazon","href":"/integrations/oauth/oauth"},{"title":"Twitch OAuth","sidebarTitle":"Twitch","href":"/integrations/oauth/twitch-oauth"}]},{"group":"Protocols","pages":[{"title":"Using ngrok with SSH","sidebarTitle":"SSH","href":"/using-ngrok-with/ssh"},{"title":"Using ngrok with FTP, FTPS, SFTP","sidebarTitle":"FTP, FTPS, SFTP","href":"/using-ngrok-with/ftp"},{"title":"Using ngrok with Websockets","sidebarTitle":"Websockets","href":"/using-ngrok-with/websockets"},{"title":"Using ngrok with Real-Time Messaging Protocol (RTMP)","sidebarTitle":"Real-Time Messaging Protocol (RTMP)","href":"/using-ngrok-with/rtmp"}]},{"group":"Webhooks","pages":[{"title":"AfterShip Webhooks","sidebarTitle":"AfterShip","href":"/integrations/webhooks/aftership-webhooks"},{"title":"Airship Webhooks","sidebarTitle":"Airship","href":"/integrations/webhooks/airship-webhooks"},{"title":"Alchemy Webhooks","sidebarTitle":"Alchemy","href":"/integrations/webhooks/alchemy-webhooks"},{"title":"Amazon SNS Webhooks","sidebarTitle":"Amazon SNS","href":"/integrations/webhooks/amazon-sns-webhooks"},{"title":"Autodesk Platform Services Webhooks","sidebarTitle":"Autodesk Platform Services","href":"/integrations/webhooks/autodesk-webhooks"},{"title":"Bitbucket Repository Webhooks","sidebarTitle":"Bitbucket Repository","href":"/integrations/webhooks/bitbucket-webhooks"},{"title":"Box Webhooks","sidebarTitle":"Box","href":"/integrations/webhooks/box-webhooks"},{"title":"Brex Webhooks","sidebarTitle":"Brex","href":"/integrations/webhooks/brex-webhooks"},{"title":"Buildkite Webhooks","sidebarTitle":"Buildkite","href":"/integrations/webhooks/buildkite-webhooks"},{"title":"Calendly Webhooks","sidebarTitle":"Calendly","href":"/integrations/webhooks/calendly-webhooks"},{"title":"Castle Webhooks","sidebarTitle":"Castle","href":"/integrations/webhooks/castle-webhooks"},{"title":"Chargify Webhooks","sidebarTitle":"Chargify","href":"/integrations/webhooks/chargify-webhooks"},{"title":"CircleCI Webhooks","sidebarTitle":"CircleCI","href":"/integrations/webhooks/circleci-webhooks"},{"title":"Clerk Webhooks","sidebarTitle":"Clerk","href":"/integrations/webhooks/clerk-webhooks"},{"title":"Coinbase Webhooks","sidebarTitle":"Coinbase","href":"/integrations/webhooks/coinbase-webhooks"},{"title":"Contentful Webhooks","sidebarTitle":"Contentful","href":"/integrations/webhooks/contentful-webhooks"},{"title":"DocuSign Webhooks","sidebarTitle":"DocuSign","href":"/integrations/webhooks/docusign-webhooks"},{"title":"Dropbox Webhooks","sidebarTitle":"Dropbox","href":"/integrations/webhooks/dropbox-webhooks"},{"title":"Facebook Messenger Webhooks","sidebarTitle":"Facebook Messenger","href":"/integrations/webhooks/facebook-messenger-webhooks"},{"title":"Facebook Webhooks","sidebarTitle":"Facebook","href":"/integrations/webhooks/facebook-webhooks"},{"title":"Frame.io Webhooks","sidebarTitle":"Frame.io","href":"/integrations/webhooks/frameio-webhooks"},{"title":"GitHub Repository Webhooks","sidebarTitle":"GitHub Repository","href":"/integrations/webhooks/github-webhooks"},{"title":"GitLab Repository Webhooks","sidebarTitle":"GitLab Repository","href":"/integrations/webhooks/gitlab-webhooks"},{"title":"Heroku Webhooks","sidebarTitle":"Heroku","href":"/integrations/webhooks/heroku-webhooks"},{"title":"HostedHooks Webhooks","sidebarTitle":"HostedHooks","href":"/integrations/webhooks/hostedhooks-webhooks"},{"title":"HubSpot Webhooks","sidebarTitle":"HubSpot","href":"/integrations/webhooks/hubspot-webhooks"},{"title":"Hygraph Webhooks","sidebarTitle":"Hygraph","href":"/integrations/webhooks/hygraph-webhooks"},{"title":"Instagram Webhooks","sidebarTitle":"Instagram","href":"/integrations/webhooks/instagram-webhooks"},{"title":"Intercom Webhooks","sidebarTitle":"Intercom","href":"/integrations/webhooks/intercom-webhooks"},{"title":"Jira Webhooks","sidebarTitle":"Jira","href":"/integrations/webhooks/jira-webhooks"},{"title":"LaunchDarkly Webhooks","sidebarTitle":"LaunchDarkly","href":"/integrations/webhooks/launchdarkly-webhooks"},{"title":"Linear Webhooks","sidebarTitle":"Linear","href":"/integrations/webhooks/linear-webhooks"},{"title":"Mailchimp Webhooks","sidebarTitle":"Mailchimp","href":"/integrations/webhooks/mailchimp-webhooks"},{"title":"Mailgun Webhooks","sidebarTitle":"Mailgun","href":"/integrations/webhooks/mailgun-webhooks"},{"title":"Modern Treasury Webhooks","sidebarTitle":"Modern Treasury","href":"/integrations/webhooks/modern-treasury-webhooks"},{"title":"MongoDB Webhooks","sidebarTitle":"MongoDB","href":"/integrations/webhooks/mongodb-webhooks"},{"title":"Mux Webhooks","sidebarTitle":"Mux","href":"/integrations/webhooks/mux-webhooks"},{"title":"Okta Webhooks","sidebarTitle":"Okta","href":"/integrations/webhooks/okta-webhooks"},{"title":"PagerDuty Webhooks","sidebarTitle":"PagerDuty","href":"/integrations/webhooks/pagerduty-webhooks"},{"title":"Pinwheel Webhooks","sidebarTitle":"Pinwheel","href":"/integrations/webhooks/pinwheel-webhooks"},{"title":"Plivo Webhooks","sidebarTitle":"Plivo","href":"/integrations/webhooks/plivo-webhooks"},{"title":"Pusher Webhooks","sidebarTitle":"Pusher","href":"/integrations/webhooks/pusher-webhooks"},{"title":"SendGrid Webhooks","sidebarTitle":"SendGrid","href":"/integrations/webhooks/sendgrid-webhooks"},{"title":"Sentry Webhooks","sidebarTitle":"Sentry","href":"/integrations/webhooks/sentry-webhooks"},{"title":"Shopify Webhooks","sidebarTitle":"Shopify","href":"/integrations/webhooks/shopify-webhooks"},{"title":"Signal Sciences Webhooks","sidebarTitle":"Signal Sciences","href":"/integrations/webhooks/signalsciences-webhooks"},{"title":"Slack Webhooks","sidebarTitle":"Slack","href":"/integrations/webhooks/slack-webhooks"},{"title":"Sonatype Nexus Webhooks","sidebarTitle":"Sonatype Nexus","href":"/integrations/webhooks/sonatype-nexus-webhooks"},{"title":"Square Webhooks","sidebarTitle":"Square","href":"/integrations/webhooks/square-webhooks"},{"title":"Stripe Webhooks","sidebarTitle":"Stripe","href":"/integrations/webhooks/stripe-webhooks"},{"title":"Svix Webhooks","sidebarTitle":"Svix","href":"/integrations/webhooks/svix-webhooks"},{"title":"Microsoft Teams Webhooks","sidebarTitle":"Microsoft Teams","href":"/integrations/webhooks/teams-webhooks"},{"title":"Terraform Cloud Webhooks","sidebarTitle":"Terraform Cloud","href":"/integrations/webhooks/terraform-webhooks"},{"title":"TikTok Webhooks","sidebarTitle":"TikTok","href":"/integrations/webhooks/tiktok-webhooks"},{"title":"Trend Micro Webhooks","sidebarTitle":"Trend Micro","href":"/integrations/webhooks/trendmicro-webhooks"},{"title":"Twilio SMS Webhooks","sidebarTitle":"Twilio SMS","href":"/integrations/webhooks/twilio-webhooks"},{"title":"X (formerly Twitter) Webhooks","sidebarTitle":"X (Twitter)","href":"/integrations/webhooks/twitter-webhooks"},{"title":"Typeform Webhooks","sidebarTitle":"Typeform","href":"/integrations/webhooks/typeform-webhooks"},{"title":"VMware Workspace ONE Webhooks","sidebarTitle":"VMware Workspace ONE","href":"/integrations/webhooks/vmware-webhooks"},{"title":"Cisco Webex Webhooks","sidebarTitle":"Cisco Webex","href":"/integrations/webhooks/webex-webhooks"},{"title":"WhatsApp Webhooks","sidebarTitle":"WhatsApp","href":"/integrations/webhooks/whatsapp-webhooks"},{"title":"Worldline Webhooks","sidebarTitle":"Worldline","href":"/integrations/webhooks/worldline-webhooks"},{"title":"Xero Webhooks","sidebarTitle":"Xero","href":"/integrations/webhooks/xero-webhooks"},{"title":"Zendesk Webhooks","sidebarTitle":"Zendesk","href":"/integrations/webhooks/zendesk-webhooks"},{"title":"Zoom Webhooks","sidebarTitle":"Zoom","href":"/integrations/webhooks/zoom-webhooks"}]},{"group":"Web Servers","pages":[{"title":"Using ngrok with SMTP Mail Servers","sidebarTitle":"SMTP Mail Servers","href":"/using-ngrok-with/smtp"},{"title":"Using ngrok with NGINX","sidebarTitle":"NGINX","href":"/using-ngrok-with/nginx"},{"title":"Using ngrok with an outbound proxy","sidebarTitle":"Outbound Proxies","href":"/using-ngrok-with/outboundProxy"},{"title":"Using ngrok with Virtual hosts (MAMP, WAMP, etc)","sidebarTitle":"Virtual hosts (MAMP, WAMP, etc)","href":"/using-ngrok-with/virtualHosts"},{"title":"Using ngrok with gRPC","sidebarTitle":"gRPC","href":"/using-ngrok-with/gRPC"}]}]},{"tab":"Reference","menu":[{"item":"Platform API","pages":[{"title":"ngrok API Overview","sidebarTitle":"Overview","href":"/api"},{"title":"API Filtering","sidebarTitle":"API Filtering","href":"/api/api-filtering"},{"group":"Gateway","pages":[{"group":"Endpoints","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /endpoints","href":"/api-reference/endpoints/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /endpoints","href":"/api-reference/endpoints/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /endpoints/{id}","href":"/api-reference/endpoints/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /endpoints/{id}","href":"/api-reference/endpoints/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /endpoints/{id}","href":"/api-reference/endpoints/update"}]},{"group":"Reserved Addrs","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /reserved_addrs","href":"/api-reference/reservedaddrs/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /reserved_addrs","href":"/api-reference/reservedaddrs/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /reserved_addrs/{id}","href":"/api-reference/reservedaddrs/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /reserved_addrs/{id}","href":"/api-reference/reservedaddrs/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /reserved_addrs/{id}","href":"/api-reference/reservedaddrs/update"}]},{"group":"Reserved Domains","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /reserved_domains","href":"/api-reference/reserveddomains/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /reserved_domains","href":"/api-reference/reserveddomains/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /reserved_domains/{id}","href":"/api-reference/reserveddomains/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /reserved_domains/{id}","href":"/api-reference/reserveddomains/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /reserved_domains/{id}","href":"/api-reference/reserveddomains/update"},{"title":"DeleteCertificate","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /reserved_domains/{id}/certificate","href":"/api-reference/reserveddomains/deletecertificate"},{"title":"DeleteCertificateManagementPolicy","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /reserved_domains/{id}/certificate_management_policy","href":"/api-reference/reserveddomains/deletecertificatemanagementpolicy"}]},{"group":"TLS Certificates","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /tls_certificates","href":"/api-reference/tlscertificates/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /tls_certificates","href":"/api-reference/tlscertificates/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /tls_certificates/{id}","href":"/api-reference/tlscertificates/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /tls_certificates/{id}","href":"/api-reference/tlscertificates/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /tls_certificates/{id}","href":"/api-reference/tlscertificates/update"}]},{"title":"Kubernetes Operators","href":"/api-reference/kubernetes-operators"}]},{"group":"Traffic Policy","pages":[{"group":"Certificate Authorities","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /certificate_authorities","href":"/api-reference/certificateauthorities/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /certificate_authorities","href":"/api-reference/certificateauthorities/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /certificate_authorities/{id}","href":"/api-reference/certificateauthorities/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /certificate_authorities/{id}","href":"/api-reference/certificateauthorities/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /certificate_authorities/{id}","href":"/api-reference/certificateauthorities/update"}]},{"group":"IP Policies","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ip_policies","href":"/api-reference/ippolicies/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ip_policies","href":"/api-reference/ippolicies/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ip_policies/{id}","href":"/api-reference/ippolicies/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ip_policies/{id}","href":"/api-reference/ippolicies/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ip_policies/{id}","href":"/api-reference/ippolicies/update"}]},{"group":"IP Policy Rules","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ip_policy_rules","href":"/api-reference/ippolicyrules/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ip_policy_rules","href":"/api-reference/ippolicyrules/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ip_policy_rules/{id}","href":"/api-reference/ippolicyrules/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ip_policy_rules/{id}","href":"/api-reference/ippolicyrules/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ip_policy_rules/{id}","href":"/api-reference/ippolicyrules/update"}]},{"group":"Applications","pages":[{"group":"Application Users","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /app/users","href":"/api-reference/applicationusers/list"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /app/users/{id}","href":"/api-reference/applicationusers/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /app/users/{id}","href":"/api-reference/applicationusers/delete"}]},{"group":"Application Sessions","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /app/sessions","href":"/api-reference/applicationsessions/list"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /app/sessions/{id}","href":"/api-reference/applicationsessions/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /app/sessions/{id}","href":"/api-reference/applicationsessions/delete"}]}]}]},{"group":"Secure Tunnels","pages":[{"group":"Agent Ingresses","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /agent_ingresses","href":"/api-reference/agentingresses/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /agent_ingresses","href":"/api-reference/agentingresses/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /agent_ingresses/{id}","href":"/api-reference/agentingresses/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /agent_ingresses/{id}","href":"/api-reference/agentingresses/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /agent_ingresses/{id}","href":"/api-reference/agentingresses/update"}]},{"group":"Tunnel Sessions","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /tunnel_sessions","href":"/api-reference/tunnelsessions/list"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /tunnel_sessions/{id}","href":"/api-reference/tunnelsessions/get"},{"title":"Restart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /tunnel_sessions/{id}/restart","href":"/api-reference/tunnelsessions/restart"},{"title":"Stop","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /tunnel_sessions/{id}/stop","href":"/api-reference/tunnelsessions/stop"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /tunnel_sessions/{id}/update","href":"/api-reference/tunnelsessions/update"}]}]},{"group":"Observability","pages":[{"group":"Event Destinations","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /event_destinations","href":"/api-reference/eventdestinations/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /event_destinations","href":"/api-reference/eventdestinations/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /event_destinations/{id}","href":"/api-reference/eventdestinations/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /event_destinations/{id}","href":"/api-reference/eventdestinations/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /event_destinations/{id}","href":"/api-reference/eventdestinations/update"}]},{"group":"Event Sources","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /event_subscriptions/{subscription_id}/sources","href":"/api-reference/eventsources/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /event_subscriptions/{subscription_id}/sources","href":"/api-reference/eventsources/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /event_subscriptions/{subscription_id}/sources/{type}","href":"/api-reference/eventsources/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /event_subscriptions/{subscription_id}/sources/{type}","href":"/api-reference/eventsources/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /event_subscriptions/{subscription_id}/sources/{type}","href":"/api-reference/eventsources/update"}]},{"group":"Event Subscriptions","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /event_subscriptions","href":"/api-reference/eventsubscriptions/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /event_subscriptions","href":"/api-reference/eventsubscriptions/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /event_subscriptions/{id}","href":"/api-reference/eventsubscriptions/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /event_subscriptions/{id}","href":"/api-reference/eventsubscriptions/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /event_subscriptions/{id}","href":"/api-reference/eventsubscriptions/update"}]}]},{"group":"IAM","pages":[{"group":"IP Restrictions","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ip_restrictions","href":"/api-reference/iprestrictions/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ip_restrictions","href":"/api-reference/iprestrictions/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ip_restrictions/{id}","href":"/api-reference/iprestrictions/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ip_restrictions/{id}","href":"/api-reference/iprestrictions/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ip_restrictions/{id}","href":"/api-reference/iprestrictions/update"}]},{"group":"API Keys","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /api_keys","href":"/api-reference/apikeys/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /api_keys","href":"/api-reference/apikeys/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /api_keys/{id}","href":"/api-reference/apikeys/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /api_keys/{id}","href":"/api-reference/apikeys/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /api_keys/{id}","href":"/api-reference/apikeys/update"}]},{"group":"SSH Credentials","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_credentials","href":"/api-reference/sshcredentials/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ssh_credentials","href":"/api-reference/sshcredentials/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_credentials/{id}","href":"/api-reference/sshcredentials/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ssh_credentials/{id}","href":"/api-reference/sshcredentials/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ssh_credentials/{id}","href":"/api-reference/sshcredentials/update"}]},{"group":"Credentials","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /credentials","href":"/api-reference/credentials/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /credentials","href":"/api-reference/credentials/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /credentials/{id}","href":"/api-reference/credentials/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /credentials/{id}","href":"/api-reference/credentials/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /credentials/{id}","href":"/api-reference/credentials/update"}]},{"title":"Service Users (Bot Users)","href":"/api-reference/service-users"}]},{"group":"SSH Certificates","pages":[{"group":"SSH Certificate Authorities","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_certificate_authorities","href":"/api-reference/sshcertificateauthorities/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ssh_certificate_authorities","href":"/api-reference/sshcertificateauthorities/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_certificate_authorities/{id}","href":"/api-reference/sshcertificateauthorities/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ssh_certificate_authorities/{id}","href":"/api-reference/sshcertificateauthorities/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ssh_certificate_authorities/{id}","href":"/api-reference/sshcertificateauthorities/update"}]},{"group":"SSH Host Certificates","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_host_certificates","href":"/api-reference/sshhostcertificates/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ssh_host_certificates","href":"/api-reference/sshhostcertificates/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_host_certificates/{id}","href":"/api-reference/sshhostcertificates/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ssh_host_certificates/{id}","href":"/api-reference/sshhostcertificates/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ssh_host_certificates/{id}","href":"/api-reference/sshhostcertificates/update"}]},{"group":"SSH User Certificates","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_user_certificates","href":"/api-reference/sshusercertificates/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ssh_user_certificates","href":"/api-reference/sshusercertificates/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_user_certificates/{id}","href":"/api-reference/sshusercertificates/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ssh_user_certificates/{id}","href":"/api-reference/sshusercertificates/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ssh_user_certificates/{id}","href":"/api-reference/sshusercertificates/update"}]}]},{"group":"Partners","pages":[{"group":"Abuse Reports","pages":[{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /abuse_reports","href":"/api-reference/abusereports/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /abuse_reports/{id}","href":"/api-reference/abusereports/get"}]}]},{"group":"Vaults \u0026 Secrets","pages":[{"group":"Secrets","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /vault_secrets","href":"/api-reference/secrets/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /vault_secrets","href":"/api-reference/secrets/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /vault_secrets/{id}","href":"/api-reference/secrets/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /vault_secrets/{id}","href":"/api-reference/secrets/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /vault_secrets/{id}","href":"/api-reference/secrets/update"}]},{"group":"Vaults","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /vaults","href":"/api-reference/vaults/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /vaults","href":"/api-reference/vaults/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /vaults/{id}","href":"/api-reference/vaults/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /vaults/{id}","href":"/api-reference/vaults/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /vaults/{id}","href":"/api-reference/vaults/update"}]}]},{"group":"Deprecated","pages":[{"group":"Bot Users","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /bot_users","href":"/api-reference/botusers/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /bot_users","href":"/api-reference/botusers/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /bot_users/{id}","href":"/api-reference/botusers/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /bot_users/{id}","href":"/api-reference/botusers/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /bot_users/{id}","href":"/api-reference/botusers/update"}]},{"group":"Backends","pages":[{"group":"Failover Backends","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/failover","href":"/api-reference/failoverbackends/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /backends/failover","href":"/api-reference/failoverbackends/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/failover/{id}","href":"/api-reference/failoverbackends/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /backends/failover/{id}","href":"/api-reference/failoverbackends/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /backends/failover/{id}","href":"/api-reference/failoverbackends/update"}]},{"group":"HTTP Response Backends","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/http_response","href":"/api-reference/httpresponsebackends/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /backends/http_response","href":"/api-reference/httpresponsebackends/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/http_response/{id}","href":"/api-reference/httpresponsebackends/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /backends/http_response/{id}","href":"/api-reference/httpresponsebackends/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /backends/http_response/{id}","href":"/api-reference/httpresponsebackends/update"}]},{"group":"Static Backends","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/static","href":"/api-reference/staticbackends/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /backends/static","href":"/api-reference/staticbackends/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/static/{id}","href":"/api-reference/staticbackends/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /backends/static/{id}","href":"/api-reference/staticbackends/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /backends/static/{id}","href":"/api-reference/staticbackends/update"}]},{"group":"Tunnel Group Backends","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/tunnel_group","href":"/api-reference/tunnelgroupbackends/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /backends/tunnel_group","href":"/api-reference/tunnelgroupbackends/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/tunnel_group/{id}","href":"/api-reference/tunnelgroupbackends/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /backends/tunnel_group/{id}","href":"/api-reference/tunnelgroupbackends/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /backends/tunnel_group/{id}","href":"/api-reference/tunnelgroupbackends/update"}]},{"group":"Weighted Backends","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/weighted","href":"/api-reference/weightedbackends/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /backends/weighted","href":"/api-reference/weightedbackends/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/weighted/{id}","href":"/api-reference/weightedbackends/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /backends/weighted/{id}","href":"/api-reference/weightedbackends/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /backends/weighted/{id}","href":"/api-reference/weightedbackends/update"}]}]},{"group":"Edge Route Backend Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/backend","href":"/api-reference/edgeroutebackendmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/backend","href":"/api-reference/edgeroutebackendmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/backend","href":"/api-reference/edgeroutebackendmodule/delete"}]},{"group":"Edge Route Circuit Breaker Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/circuit_breaker","href":"/api-reference/edgeroutecircuitbreakermodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/circuit_breaker","href":"/api-reference/edgeroutecircuitbreakermodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/circuit_breaker","href":"/api-reference/edgeroutecircuitbreakermodule/delete"}]},{"group":"Edge Route Compression Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/compression","href":"/api-reference/edgeroutecompressionmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/compression","href":"/api-reference/edgeroutecompressionmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/compression","href":"/api-reference/edgeroutecompressionmodule/delete"}]},{"group":"Edge Route IP Restriction Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/ip_restriction","href":"/api-reference/edgerouteiprestrictionmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/ip_restriction","href":"/api-reference/edgerouteiprestrictionmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/ip_restriction","href":"/api-reference/edgerouteiprestrictionmodule/delete"}]},{"group":"Edge Route OAuth Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/oauth","href":"/api-reference/edgerouteoauthmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/oauth","href":"/api-reference/edgerouteoauthmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/oauth","href":"/api-reference/edgerouteoauthmodule/delete"}]},{"group":"Edge Route OIDC Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/oidc","href":"/api-reference/edgerouteoidcmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/oidc","href":"/api-reference/edgerouteoidcmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/oidc","href":"/api-reference/edgerouteoidcmodule/delete"}]},{"group":"Edge Route Request Headers Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/request_headers","href":"/api-reference/edgerouterequestheadersmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/request_headers","href":"/api-reference/edgerouterequestheadersmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/request_headers","href":"/api-reference/edgerouterequestheadersmodule/delete"}]},{"group":"Edge Route Response Headers Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/response_headers","href":"/api-reference/edgerouteresponseheadersmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/response_headers","href":"/api-reference/edgerouteresponseheadersmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/response_headers","href":"/api-reference/edgerouteresponseheadersmodule/delete"}]},{"group":"Edge Route SAML Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/saml","href":"/api-reference/edgeroutesamlmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/saml","href":"/api-reference/edgeroutesamlmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/saml","href":"/api-reference/edgeroutesamlmodule/delete"}]},{"group":"Edge Route Traffic Policy Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/traffic_policy","href":"/api-reference/edgeroutetrafficpolicymodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/traffic_policy","href":"/api-reference/edgeroutetrafficpolicymodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/traffic_policy","href":"/api-reference/edgeroutetrafficpolicymodule/delete"}]},{"group":"Edge Route User Agent Filter Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/user_agent_filter","href":"/api-reference/edgerouteuseragentfiltermodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/user_agent_filter","href":"/api-reference/edgerouteuseragentfiltermodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/user_agent_filter","href":"/api-reference/edgerouteuseragentfiltermodule/delete"}]},{"group":"Edge Route Webhook Verification Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/webhook_verification","href":"/api-reference/edgeroutewebhookverificationmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/webhook_verification","href":"/api-reference/edgeroutewebhookverificationmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/webhook_verification","href":"/api-reference/edgeroutewebhookverificationmodule/delete"}]},{"group":"Edge Route Websocket TCP Converter Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/websocket_tcp_converter","href":"/api-reference/edgeroutewebsockettcpconvertermodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/websocket_tcp_converter","href":"/api-reference/edgeroutewebsockettcpconvertermodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/websocket_tcp_converter","href":"/api-reference/edgeroutewebsockettcpconvertermodule/delete"}]},{"group":"Edges HTTPS","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https","href":"/api-reference/edgeshttps/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /edges/https","href":"/api-reference/edgeshttps/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{id}","href":"/api-reference/edgeshttps/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{id}","href":"/api-reference/edgeshttps/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /edges/https/{id}","href":"/api-reference/edgeshttps/update"}]},{"group":"Edges HTTPS Routes","pages":[{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /edges/https/{edge_id}/routes","href":"/api-reference/edgeshttpsroutes/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}","href":"/api-reference/edgeshttpsroutes/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}","href":"/api-reference/edgeshttpsroutes/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /edges/https/{edge_id}/routes/{id}","href":"/api-reference/edgeshttpsroutes/update"}]},{"group":"Edges TCP","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tcp","href":"/api-reference/edgestcp/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /edges/tcp","href":"/api-reference/edgestcp/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tcp/{id}","href":"/api-reference/edgestcp/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tcp/{id}","href":"/api-reference/edgestcp/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /edges/tcp/{id}","href":"/api-reference/edgestcp/update"}]},{"group":"Edges TLS","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tls","href":"/api-reference/edgestls/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /edges/tls","href":"/api-reference/edgestls/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tls/{id}","href":"/api-reference/edgestls/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tls/{id}","href":"/api-reference/edgestls/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /edges/tls/{id}","href":"/api-reference/edgestls/update"}]},{"group":"HTTPS Edge Mutual TLS Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{id}/mutual_tls","href":"/api-reference/httpsedgemutualtlsmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{id}/mutual_tls","href":"/api-reference/httpsedgemutualtlsmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{id}/mutual_tls","href":"/api-reference/httpsedgemutualtlsmodule/delete"}]},{"group":"HTTPS Edge TLS Termination Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{id}/tls_termination","href":"/api-reference/httpsedgetlsterminationmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{id}/tls_termination","href":"/api-reference/httpsedgetlsterminationmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{id}/tls_termination","href":"/api-reference/httpsedgetlsterminationmodule/delete"}]},{"group":"TCP Edge Backend Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tcp/{id}/backend","href":"/api-reference/tcpedgebackendmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tcp/{id}/backend","href":"/api-reference/tcpedgebackendmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tcp/{id}/backend","href":"/api-reference/tcpedgebackendmodule/delete"}]},{"group":"TCP Edge IP Restriction Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tcp/{id}/ip_restriction","href":"/api-reference/tcpedgeiprestrictionmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tcp/{id}/ip_restriction","href":"/api-reference/tcpedgeiprestrictionmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tcp/{id}/ip_restriction","href":"/api-reference/tcpedgeiprestrictionmodule/delete"}]},{"group":"TCP Edge Traffic Policy Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tcp/{id}/traffic_policy","href":"/api-reference/tcpedgetrafficpolicymodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tcp/{id}/traffic_policy","href":"/api-reference/tcpedgetrafficpolicymodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tcp/{id}/traffic_policy","href":"/api-reference/tcpedgetrafficpolicymodule/delete"}]},{"group":"TLS Edge Backend Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tls/{id}/backend","href":"/api-reference/tlsedgebackendmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tls/{id}/backend","href":"/api-reference/tlsedgebackendmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tls/{id}/backend","href":"/api-reference/tlsedgebackendmodule/delete"}]},{"group":"TLS Edge IP Restriction Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tls/{id}/ip_restriction","href":"/api-reference/tlsedgeiprestrictionmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tls/{id}/ip_restriction","href":"/api-reference/tlsedgeiprestrictionmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tls/{id}/ip_restriction","href":"/api-reference/tlsedgeiprestrictionmodule/delete"}]},{"group":"TLS Edge Mutual TLS Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tls/{id}/mutual_tls","href":"/api-reference/tlsedgemutualtlsmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tls/{id}/mutual_tls","href":"/api-reference/tlsedgemutualtlsmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tls/{id}/mutual_tls","href":"/api-reference/tlsedgemutualtlsmodule/delete"}]},{"group":"TLS Edge TLS Termination Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tls/{id}/tls_termination","href":"/api-reference/tlsedgetlsterminationmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tls/{id}/tls_termination","href":"/api-reference/tlsedgetlsterminationmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tls/{id}/tls_termination","href":"/api-reference/tlsedgetlsterminationmodule/delete"}]},{"group":"TLS Edge Traffic Policy Module","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tls/{id}/traffic_policy","href":"/api-reference/tlsedgetrafficpolicymodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tls/{id}/traffic_policy","href":"/api-reference/tlsedgetrafficpolicymodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tls/{id}/traffic_policy","href":"/api-reference/tlsedgetrafficpolicymodule/delete"}]},{"group":"Tunnels","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /tunnels","href":"/api-reference/tunnels/list"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /tunnels/{id}","href":"/api-reference/tunnels/get"}]}]}],"groups":[{"group":"AbuseReports","pages":[{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /abuse_reports","href":"/api-reference/abusereports/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /abuse_reports/{id}","href":"/api-reference/abusereports/get"}]},{"group":"AgentIngresses","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /agent_ingresses","href":"/api-reference/agentingresses/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /agent_ingresses","href":"/api-reference/agentingresses/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /agent_ingresses/{id}","href":"/api-reference/agentingresses/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /agent_ingresses/{id}","href":"/api-reference/agentingresses/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /agent_ingresses/{id}","href":"/api-reference/agentingresses/update"}]},{"group":"AIGatewayProviderKeys","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ai_gateway_provider_keys","href":"/api-reference/aigatewayproviderkeys/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ai_gateway_provider_keys","href":"/api-reference/aigatewayproviderkeys/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ai_gateway_provider_keys/{id}","href":"/api-reference/aigatewayproviderkeys/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ai_gateway_provider_keys/{id}","href":"/api-reference/aigatewayproviderkeys/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ai_gateway_provider_keys/{id}","href":"/api-reference/aigatewayproviderkeys/update"}]},{"group":"AIGatewayAPIKeys","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ai_gateway_api_keys","href":"/api-reference/aigatewayapikeys/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ai_gateway_api_keys","href":"/api-reference/aigatewayapikeys/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ai_gateway_api_keys/{id}","href":"/api-reference/aigatewayapikeys/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ai_gateway_api_keys/{id}","href":"/api-reference/aigatewayapikeys/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ai_gateway_api_keys/{id}","href":"/api-reference/aigatewayapikeys/update"}]},{"group":"APIKeys","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /api_keys","href":"/api-reference/apikeys/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /api_keys","href":"/api-reference/apikeys/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /api_keys/{id}","href":"/api-reference/apikeys/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /api_keys/{id}","href":"/api-reference/apikeys/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /api_keys/{id}","href":"/api-reference/apikeys/update"}]},{"group":"ApplicationSessions","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /app/sessions","href":"/api-reference/applicationsessions/list"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /app/sessions/{id}","href":"/api-reference/applicationsessions/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /app/sessions/{id}","href":"/api-reference/applicationsessions/delete"}]},{"group":"ApplicationUsers","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /app/users","href":"/api-reference/applicationusers/list"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /app/users/{id}","href":"/api-reference/applicationusers/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /app/users/{id}","href":"/api-reference/applicationusers/delete"}]},{"group":"TunnelSessions","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /tunnel_sessions","href":"/api-reference/tunnelsessions/list"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /tunnel_sessions/{id}","href":"/api-reference/tunnelsessions/get"},{"title":"Restart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /tunnel_sessions/{id}/restart","href":"/api-reference/tunnelsessions/restart"},{"title":"Stop","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /tunnel_sessions/{id}/stop","href":"/api-reference/tunnelsessions/stop"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /tunnel_sessions/{id}/update","href":"/api-reference/tunnelsessions/update"}]},{"group":"FailoverBackends","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/failover","href":"/api-reference/failoverbackends/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /backends/failover","href":"/api-reference/failoverbackends/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/failover/{id}","href":"/api-reference/failoverbackends/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /backends/failover/{id}","href":"/api-reference/failoverbackends/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /backends/failover/{id}","href":"/api-reference/failoverbackends/update"}]},{"group":"HTTPResponseBackends","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/http_response","href":"/api-reference/httpresponsebackends/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /backends/http_response","href":"/api-reference/httpresponsebackends/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/http_response/{id}","href":"/api-reference/httpresponsebackends/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /backends/http_response/{id}","href":"/api-reference/httpresponsebackends/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /backends/http_response/{id}","href":"/api-reference/httpresponsebackends/update"}]},{"group":"StaticBackends","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/static","href":"/api-reference/staticbackends/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /backends/static","href":"/api-reference/staticbackends/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/static/{id}","href":"/api-reference/staticbackends/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /backends/static/{id}","href":"/api-reference/staticbackends/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /backends/static/{id}","href":"/api-reference/staticbackends/update"}]},{"group":"TunnelGroupBackends","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/tunnel_group","href":"/api-reference/tunnelgroupbackends/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /backends/tunnel_group","href":"/api-reference/tunnelgroupbackends/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/tunnel_group/{id}","href":"/api-reference/tunnelgroupbackends/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /backends/tunnel_group/{id}","href":"/api-reference/tunnelgroupbackends/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /backends/tunnel_group/{id}","href":"/api-reference/tunnelgroupbackends/update"}]},{"group":"WeightedBackends","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/weighted","href":"/api-reference/weightedbackends/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /backends/weighted","href":"/api-reference/weightedbackends/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /backends/weighted/{id}","href":"/api-reference/weightedbackends/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /backends/weighted/{id}","href":"/api-reference/weightedbackends/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /backends/weighted/{id}","href":"/api-reference/weightedbackends/update"}]},{"group":"BotUsers","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /bot_users","href":"/api-reference/botusers/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /bot_users","href":"/api-reference/botusers/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /bot_users/{id}","href":"/api-reference/botusers/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /bot_users/{id}","href":"/api-reference/botusers/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /bot_users/{id}","href":"/api-reference/botusers/update"}]},{"group":"CertificateAuthorities","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /certificate_authorities","href":"/api-reference/certificateauthorities/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /certificate_authorities","href":"/api-reference/certificateauthorities/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /certificate_authorities/{id}","href":"/api-reference/certificateauthorities/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /certificate_authorities/{id}","href":"/api-reference/certificateauthorities/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /certificate_authorities/{id}","href":"/api-reference/certificateauthorities/update"}]},{"group":"Credentials","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /credentials","href":"/api-reference/credentials/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /credentials","href":"/api-reference/credentials/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /credentials/{id}","href":"/api-reference/credentials/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /credentials/{id}","href":"/api-reference/credentials/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /credentials/{id}","href":"/api-reference/credentials/update"}]},{"group":"EdgesHTTPSRoutes","pages":[{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /edges/https/{edge_id}/routes","href":"/api-reference/edgeshttpsroutes/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}","href":"/api-reference/edgeshttpsroutes/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}","href":"/api-reference/edgeshttpsroutes/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /edges/https/{edge_id}/routes/{id}","href":"/api-reference/edgeshttpsroutes/update"}]},{"group":"EdgesHTTPS","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https","href":"/api-reference/edgeshttps/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /edges/https","href":"/api-reference/edgeshttps/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{id}","href":"/api-reference/edgeshttps/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{id}","href":"/api-reference/edgeshttps/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /edges/https/{id}","href":"/api-reference/edgeshttps/update"}]},{"group":"HTTPSEdgeMutualTLSModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{id}/mutual_tls","href":"/api-reference/httpsedgemutualtlsmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{id}/mutual_tls","href":"/api-reference/httpsedgemutualtlsmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{id}/mutual_tls","href":"/api-reference/httpsedgemutualtlsmodule/delete"}]},{"group":"HTTPSEdgeTLSTerminationModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{id}/tls_termination","href":"/api-reference/httpsedgetlsterminationmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{id}/tls_termination","href":"/api-reference/httpsedgetlsterminationmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{id}/tls_termination","href":"/api-reference/httpsedgetlsterminationmodule/delete"}]},{"group":"EdgeRouteBackendModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/backend","href":"/api-reference/edgeroutebackendmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/backend","href":"/api-reference/edgeroutebackendmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/backend","href":"/api-reference/edgeroutebackendmodule/delete"}]},{"group":"EdgeRouteIPRestrictionModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/ip_restriction","href":"/api-reference/edgerouteiprestrictionmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/ip_restriction","href":"/api-reference/edgerouteiprestrictionmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/ip_restriction","href":"/api-reference/edgerouteiprestrictionmodule/delete"}]},{"group":"EdgeRouteRequestHeadersModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/request_headers","href":"/api-reference/edgerouterequestheadersmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/request_headers","href":"/api-reference/edgerouterequestheadersmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/request_headers","href":"/api-reference/edgerouterequestheadersmodule/delete"}]},{"group":"EdgeRouteResponseHeadersModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/response_headers","href":"/api-reference/edgerouteresponseheadersmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/response_headers","href":"/api-reference/edgerouteresponseheadersmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/response_headers","href":"/api-reference/edgerouteresponseheadersmodule/delete"}]},{"group":"EdgeRouteCompressionModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/compression","href":"/api-reference/edgeroutecompressionmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/compression","href":"/api-reference/edgeroutecompressionmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/compression","href":"/api-reference/edgeroutecompressionmodule/delete"}]},{"group":"EdgeRouteCircuitBreakerModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/circuit_breaker","href":"/api-reference/edgeroutecircuitbreakermodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/circuit_breaker","href":"/api-reference/edgeroutecircuitbreakermodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/circuit_breaker","href":"/api-reference/edgeroutecircuitbreakermodule/delete"}]},{"group":"EdgeRouteWebhookVerificationModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/webhook_verification","href":"/api-reference/edgeroutewebhookverificationmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/webhook_verification","href":"/api-reference/edgeroutewebhookverificationmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/webhook_verification","href":"/api-reference/edgeroutewebhookverificationmodule/delete"}]},{"group":"EdgeRouteOAuthModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/oauth","href":"/api-reference/edgerouteoauthmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/oauth","href":"/api-reference/edgerouteoauthmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/oauth","href":"/api-reference/edgerouteoauthmodule/delete"}]},{"group":"EdgeRouteSAMLModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/saml","href":"/api-reference/edgeroutesamlmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/saml","href":"/api-reference/edgeroutesamlmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/saml","href":"/api-reference/edgeroutesamlmodule/delete"}]},{"group":"EdgeRouteOIDCModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/oidc","href":"/api-reference/edgerouteoidcmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/oidc","href":"/api-reference/edgerouteoidcmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/oidc","href":"/api-reference/edgerouteoidcmodule/delete"}]},{"group":"EdgeRouteWebsocketTCPConverterModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/websocket_tcp_converter","href":"/api-reference/edgeroutewebsockettcpconvertermodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/websocket_tcp_converter","href":"/api-reference/edgeroutewebsockettcpconvertermodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/websocket_tcp_converter","href":"/api-reference/edgeroutewebsockettcpconvertermodule/delete"}]},{"group":"EdgeRouteUserAgentFilterModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/user_agent_filter","href":"/api-reference/edgerouteuseragentfiltermodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/user_agent_filter","href":"/api-reference/edgerouteuseragentfiltermodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/user_agent_filter","href":"/api-reference/edgerouteuseragentfiltermodule/delete"}]},{"group":"EdgeRouteTrafficPolicyModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/https/{edge_id}/routes/{id}/traffic_policy","href":"/api-reference/edgeroutetrafficpolicymodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/https/{edge_id}/routes/{id}/traffic_policy","href":"/api-reference/edgeroutetrafficpolicymodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/https/{edge_id}/routes/{id}/traffic_policy","href":"/api-reference/edgeroutetrafficpolicymodule/delete"}]},{"group":"EdgesTCP","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tcp","href":"/api-reference/edgestcp/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /edges/tcp","href":"/api-reference/edgestcp/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tcp/{id}","href":"/api-reference/edgestcp/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tcp/{id}","href":"/api-reference/edgestcp/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /edges/tcp/{id}","href":"/api-reference/edgestcp/update"}]},{"group":"TCPEdgeBackendModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tcp/{id}/backend","href":"/api-reference/tcpedgebackendmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tcp/{id}/backend","href":"/api-reference/tcpedgebackendmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tcp/{id}/backend","href":"/api-reference/tcpedgebackendmodule/delete"}]},{"group":"TCPEdgeIPRestrictionModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tcp/{id}/ip_restriction","href":"/api-reference/tcpedgeiprestrictionmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tcp/{id}/ip_restriction","href":"/api-reference/tcpedgeiprestrictionmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tcp/{id}/ip_restriction","href":"/api-reference/tcpedgeiprestrictionmodule/delete"}]},{"group":"TCPEdgeTrafficPolicyModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tcp/{id}/traffic_policy","href":"/api-reference/tcpedgetrafficpolicymodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tcp/{id}/traffic_policy","href":"/api-reference/tcpedgetrafficpolicymodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tcp/{id}/traffic_policy","href":"/api-reference/tcpedgetrafficpolicymodule/delete"}]},{"group":"EdgesTLS","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tls","href":"/api-reference/edgestls/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /edges/tls","href":"/api-reference/edgestls/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tls/{id}","href":"/api-reference/edgestls/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tls/{id}","href":"/api-reference/edgestls/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /edges/tls/{id}","href":"/api-reference/edgestls/update"}]},{"group":"TLSEdgeBackendModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tls/{id}/backend","href":"/api-reference/tlsedgebackendmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tls/{id}/backend","href":"/api-reference/tlsedgebackendmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tls/{id}/backend","href":"/api-reference/tlsedgebackendmodule/delete"}]},{"group":"TLSEdgeIPRestrictionModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tls/{id}/ip_restriction","href":"/api-reference/tlsedgeiprestrictionmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tls/{id}/ip_restriction","href":"/api-reference/tlsedgeiprestrictionmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tls/{id}/ip_restriction","href":"/api-reference/tlsedgeiprestrictionmodule/delete"}]},{"group":"TLSEdgeMutualTLSModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tls/{id}/mutual_tls","href":"/api-reference/tlsedgemutualtlsmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tls/{id}/mutual_tls","href":"/api-reference/tlsedgemutualtlsmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tls/{id}/mutual_tls","href":"/api-reference/tlsedgemutualtlsmodule/delete"}]},{"group":"TLSEdgeTLSTerminationModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tls/{id}/tls_termination","href":"/api-reference/tlsedgetlsterminationmodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tls/{id}/tls_termination","href":"/api-reference/tlsedgetlsterminationmodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tls/{id}/tls_termination","href":"/api-reference/tlsedgetlsterminationmodule/delete"}]},{"group":"TLSEdgeTrafficPolicyModule","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /edges/tls/{id}/traffic_policy","href":"/api-reference/tlsedgetrafficpolicymodule/get"},{"title":"Replace","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml put /edges/tls/{id}/traffic_policy","href":"/api-reference/tlsedgetrafficpolicymodule/replace"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /edges/tls/{id}/traffic_policy","href":"/api-reference/tlsedgetrafficpolicymodule/delete"}]},{"group":"Endpoints","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /endpoints","href":"/api-reference/endpoints/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /endpoints","href":"/api-reference/endpoints/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /endpoints/{id}","href":"/api-reference/endpoints/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /endpoints/{id}","href":"/api-reference/endpoints/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /endpoints/{id}","href":"/api-reference/endpoints/update"}]},{"group":"EventDestinations","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /event_destinations","href":"/api-reference/eventdestinations/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /event_destinations","href":"/api-reference/eventdestinations/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /event_destinations/{id}","href":"/api-reference/eventdestinations/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /event_destinations/{id}","href":"/api-reference/eventdestinations/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /event_destinations/{id}","href":"/api-reference/eventdestinations/update"}]},{"group":"EventSubscriptions","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /event_subscriptions","href":"/api-reference/eventsubscriptions/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /event_subscriptions","href":"/api-reference/eventsubscriptions/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /event_subscriptions/{id}","href":"/api-reference/eventsubscriptions/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /event_subscriptions/{id}","href":"/api-reference/eventsubscriptions/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /event_subscriptions/{id}","href":"/api-reference/eventsubscriptions/update"}]},{"group":"EventSources","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /event_subscriptions/{subscription_id}/sources","href":"/api-reference/eventsources/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /event_subscriptions/{subscription_id}/sources","href":"/api-reference/eventsources/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /event_subscriptions/{subscription_id}/sources/{type}","href":"/api-reference/eventsources/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /event_subscriptions/{subscription_id}/sources/{type}","href":"/api-reference/eventsources/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /event_subscriptions/{subscription_id}/sources/{type}","href":"/api-reference/eventsources/update"}]},{"group":"IPPolicies","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ip_policies","href":"/api-reference/ippolicies/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ip_policies","href":"/api-reference/ippolicies/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ip_policies/{id}","href":"/api-reference/ippolicies/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ip_policies/{id}","href":"/api-reference/ippolicies/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ip_policies/{id}","href":"/api-reference/ippolicies/update"}]},{"group":"IPPolicyRules","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ip_policy_rules","href":"/api-reference/ippolicyrules/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ip_policy_rules","href":"/api-reference/ippolicyrules/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ip_policy_rules/{id}","href":"/api-reference/ippolicyrules/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ip_policy_rules/{id}","href":"/api-reference/ippolicyrules/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ip_policy_rules/{id}","href":"/api-reference/ippolicyrules/update"}]},{"group":"IPRestrictions","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ip_restrictions","href":"/api-reference/iprestrictions/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ip_restrictions","href":"/api-reference/iprestrictions/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ip_restrictions/{id}","href":"/api-reference/iprestrictions/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ip_restrictions/{id}","href":"/api-reference/iprestrictions/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ip_restrictions/{id}","href":"/api-reference/iprestrictions/update"}]},{"group":"ReservedAddrs","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /reserved_addrs","href":"/api-reference/reservedaddrs/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /reserved_addrs","href":"/api-reference/reservedaddrs/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /reserved_addrs/{id}","href":"/api-reference/reservedaddrs/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /reserved_addrs/{id}","href":"/api-reference/reservedaddrs/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /reserved_addrs/{id}","href":"/api-reference/reservedaddrs/update"}]},{"group":"ReservedDomains","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /reserved_domains","href":"/api-reference/reserveddomains/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /reserved_domains","href":"/api-reference/reserveddomains/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /reserved_domains/{id}","href":"/api-reference/reserveddomains/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /reserved_domains/{id}","href":"/api-reference/reserveddomains/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /reserved_domains/{id}","href":"/api-reference/reserveddomains/update"},{"title":"DeleteCertificate","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /reserved_domains/{id}/certificate","href":"/api-reference/reserveddomains/deletecertificate"},{"title":"DeleteCertificateManagementPolicy","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /reserved_domains/{id}/certificate_management_policy","href":"/api-reference/reserveddomains/deletecertificatemanagementpolicy"}]},{"group":"Secrets","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /vault_secrets","href":"/api-reference/secrets/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /vault_secrets","href":"/api-reference/secrets/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /vault_secrets/{id}","href":"/api-reference/secrets/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /vault_secrets/{id}","href":"/api-reference/secrets/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /vault_secrets/{id}","href":"/api-reference/secrets/update"}]},{"group":"ServiceUsers","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /service_users","href":"/api-reference/serviceusers/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /service_users","href":"/api-reference/serviceusers/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /service_users/{id}","href":"/api-reference/serviceusers/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /service_users/{id}","href":"/api-reference/serviceusers/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /service_users/{id}","href":"/api-reference/serviceusers/update"}]},{"group":"SSHCertificateAuthorities","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_certificate_authorities","href":"/api-reference/sshcertificateauthorities/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ssh_certificate_authorities","href":"/api-reference/sshcertificateauthorities/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_certificate_authorities/{id}","href":"/api-reference/sshcertificateauthorities/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ssh_certificate_authorities/{id}","href":"/api-reference/sshcertificateauthorities/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ssh_certificate_authorities/{id}","href":"/api-reference/sshcertificateauthorities/update"}]},{"group":"SSHCredentials","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_credentials","href":"/api-reference/sshcredentials/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ssh_credentials","href":"/api-reference/sshcredentials/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_credentials/{id}","href":"/api-reference/sshcredentials/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ssh_credentials/{id}","href":"/api-reference/sshcredentials/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ssh_credentials/{id}","href":"/api-reference/sshcredentials/update"}]},{"group":"SSHHostCertificates","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_host_certificates","href":"/api-reference/sshhostcertificates/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ssh_host_certificates","href":"/api-reference/sshhostcertificates/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_host_certificates/{id}","href":"/api-reference/sshhostcertificates/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ssh_host_certificates/{id}","href":"/api-reference/sshhostcertificates/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ssh_host_certificates/{id}","href":"/api-reference/sshhostcertificates/update"}]},{"group":"SSHUserCertificates","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_user_certificates","href":"/api-reference/sshusercertificates/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /ssh_user_certificates","href":"/api-reference/sshusercertificates/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /ssh_user_certificates/{id}","href":"/api-reference/sshusercertificates/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /ssh_user_certificates/{id}","href":"/api-reference/sshusercertificates/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /ssh_user_certificates/{id}","href":"/api-reference/sshusercertificates/update"}]},{"group":"TLSCertificates","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /tls_certificates","href":"/api-reference/tlscertificates/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /tls_certificates","href":"/api-reference/tlscertificates/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /tls_certificates/{id}","href":"/api-reference/tlscertificates/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /tls_certificates/{id}","href":"/api-reference/tlscertificates/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /tls_certificates/{id}","href":"/api-reference/tlscertificates/update"}]},{"group":"Tunnels","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /tunnels","href":"/api-reference/tunnels/list"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /tunnels/{id}","href":"/api-reference/tunnels/get"}]},{"group":"Vaults","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /vaults","href":"/api-reference/vaults/list"},{"title":"Create","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml post /vaults","href":"/api-reference/vaults/create"},{"title":"Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /vaults/{id}","href":"/api-reference/vaults/get"},{"title":"Delete","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml delete /vaults/{id}","href":"/api-reference/vaults/delete"},{"title":"Update","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /vaults/{id}","href":"/api-reference/vaults/update"},{"title":"GetSecretsByVault","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /vaults/{id}/secrets","href":"/api-reference/vaults/getsecretsbyvault"}]}]},{"item":"Agent API","pages":[{"title":"ngrok Agent CLI API","sidebarTitle":"API","href":"/gateway/agent/api"}]},{"item":"Agent CLI","pages":[{"title":"ngrok Agent Command Line Interface (CLI)","sidebarTitle":"CLI","href":"/gateway/agent/cli"},{"title":"ngrok Agent CLI API Commands","sidebarTitle":"CLI API Commands","href":"/gateway/agent/cli-api"}]},{"item":"Agent Config File","pages":[{"title":"ngrok Agent CLI Configuration File","sidebarTitle":"Overview","href":"/gateway/agent/config"},{"title":"Agent Config Version 2","sidebarTitle":"Version 2","href":"/gateway/agent/config/v2"},{"title":"Agent Config Version 3","sidebarTitle":"Version 3","href":"/gateway/agent/config/v3"}]},{"item":"Agent SDKs","pages":[{"title":"Agent SDKs","sidebarTitle":"Overview","href":"/agent-sdks"},{"title":"JavaScript SDK Quickstart","sidebarTitle":"JavaScript","href":"/getting-started/javascript"},{"title":"Go SDK Quickstart","sidebarTitle":"Go","href":"/getting-started/go"},{"title":"Python SDK Quickstart","sidebarTitle":"Python","href":"/getting-started/python"},{"title":"Rust SDK Quickstart","sidebarTitle":"Rust","href":"/getting-started/rust"}]},{"item":"Errors","pages":[{"title":"Errors","href":"/errors"},{"title":"Errors Reference","href":"/errors/reference"}]},{"item":"Changelogs","pages":[{"group":"ngrok Agent","pages":[{"title":"ngrok Agent Changelog","sidebarTitle":"Changelog","href":"/gateway/agent/changelog"}]},{"group":"Kubernetes Operator","pages":[{"title":"Kubernetes Operator Changelog","sidebarTitle":"Changelog","href":"/gateway/k8s/changelog"}]},{"group":"AI Gateway","pages":[{"title":"Changelog","icon":"clock-rotate-left","href":"/ai-gateway/changelog"}]}]}]},{"tab":"Pricing","pages":[{"title":"Pricing and Limits","href":"/pricing-limits"},{"title":"Free Plan Limits","href":"/pricing-limits/free-plan-limits"},{"title":"Traffic Policy Unit (TPU) Pricing","sidebarTitle":"TPUs","href":"/pricing-limits/traffic-policy-unit-pricing"},{"title":"Pricing Glossary","sidebarTitle":"Pricing Glossary","href":"/pricing-limits/pricing-glossary"}]},{"tab":"About","pages":[{"title":"What is ngrok?","sidebarTitle":"What is ngrok?","href":"/about"},{"title":"FAQ","href":"/faq/index"},{"title":"Glossary of Terms","sidebarTitle":"Glossary","href":"/glossary"}]}]},"title":"Edges (Deprecated) - ngrok documentation","buildId":"dpl_AUojGTPodKNPTVaxVPcxnNvkSVqo","deploymentId":"dpl_AUojGTPodKNPTVaxVPcxnNvkSVqo","dynamics":[],"chunks":[]}