Files
ngrok-api-python/docs/errors.html
T
2023-08-24 20:57:25 +00:00

408 lines
26 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Abuse Reports" href="abuse_reports.html" /><link rel="prev" title="Datatypes" href="datatypes.html" />
<!-- Generated with Sphinx 6.1.3 and Furo 2022.12.07 -->
<title>Errors - ngrok-api documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=91d0f0d1c444bdcb17a68e833c7a53903343c195" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">ngrok-api documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">ngrok-api documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">API</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="client.html">Client</a></li>
<li class="toctree-l1"><a class="reference internal" href="datatypes.html">Datatypes</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Errors</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Services</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="abuse_reports.html">Abuse Reports</a></li>
<li class="toctree-l1"><a class="reference internal" href="agent_ingresses.html">Agent Ingresses</a></li>
<li class="toctree-l1"><a class="reference internal" href="api_keys.html">API Keys</a></li>
<li class="toctree-l1"><a class="reference internal" href="application_sessions.html">Application Sessions</a></li>
<li class="toctree-l1"><a class="reference internal" href="application_users.html">Application Users</a></li>
<li class="toctree-l1"><a class="reference internal" href="tunnel_sessions.html">Tunnel Sessions</a></li>
<li class="toctree-l1"><a class="reference internal" href="failover_backends.html">Failover Backends</a></li>
<li class="toctree-l1"><a class="reference internal" href="http_response_backends.html">HTTP Response Backends</a></li>
<li class="toctree-l1"><a class="reference internal" href="tunnel_group_backends.html">Tunnel Group Backends</a></li>
<li class="toctree-l1"><a class="reference internal" href="weighted_backends.html">Weighted Backends</a></li>
<li class="toctree-l1"><a class="reference internal" href="certificate_authorities.html">Certificate Authorities</a></li>
<li class="toctree-l1"><a class="reference internal" href="credentials.html">Tunnel Credentials</a></li>
<li class="toctree-l1"><a class="reference internal" href="edges_https_routes.html">HTTPS Edge Routes</a></li>
<li class="toctree-l1"><a class="reference internal" href="edges_https.html">HTTPS Edges</a></li>
<li class="toctree-l1"><a class="reference internal" href="https_edge_mutual_tls_module.html">HTTPS Edge Mutual TLS Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="https_edge_tls_termination_module.html">HTTPS Edge TLS Termination Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="edge_route_backend_module.html">HTTPS Edge Route Backend Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="edge_route_ip_restriction_module.html">HTTPS Edge Route IP Restriction Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="edge_route_request_headers_module.html">HTTPS Edge Route Request Headers Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="edge_route_response_headers_module.html">HTTPS Edge Route Response Headers Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="edge_route_compression_module.html">HTTPS Edge Route Compression Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="edge_route_circuit_breaker_module.html">HTTPS Edge Route Circuit Breaker Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="edge_route_webhook_verification_module.html">HTTPS Edge Route Webhook Verification Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="edge_route_o_auth_module.html">HTTPS Edge Route OAuth Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="edge_route_saml_module.html">HTTPS Edge Route SAML Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="edge_route_oidc_module.html">HTTPS Edge Route OIDC Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="edge_route_websocket_tcp_converter_module.html">HTTPS Edge Route Websocket TCP Converter Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="edges_tcp.html">TCP Edges</a></li>
<li class="toctree-l1"><a class="reference internal" href="tcp_edge_backend_module.html">TCP Edge Backend Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="tcp_edge_ip_restriction_module.html">TCP Edge IP Restriction Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="edges_tls.html">TLS Edges</a></li>
<li class="toctree-l1"><a class="reference internal" href="tls_edge_backend_module.html">TLS Edge Backend Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="tls_edge_ip_restriction_module.html">TLS Edge IP Restriction Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="tls_edge_mutual_tls_module.html">TLS Edge Mutual TLS Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="tls_edge_tls_termination_module.html">TLS Edge TLS Termination Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="endpoints.html">Endpoints</a></li>
<li class="toctree-l1"><a class="reference internal" href="event_destinations.html">Event Destinations</a></li>
<li class="toctree-l1"><a class="reference internal" href="event_subscriptions.html">Event Subscriptions</a></li>
<li class="toctree-l1"><a class="reference internal" href="event_sources.html">Event Sources</a></li>
<li class="toctree-l1"><a class="reference internal" href="ip_policies.html">IP Policies</a></li>
<li class="toctree-l1"><a class="reference internal" href="ip_policy_rules.html">IP Policy Rules</a></li>
<li class="toctree-l1"><a class="reference internal" href="ip_restrictions.html">IP Restrictions</a></li>
<li class="toctree-l1"><a class="reference internal" href="reserved_addrs.html">Reserved Addresses</a></li>
<li class="toctree-l1"><a class="reference internal" href="reserved_domains.html">Reserved Domains</a></li>
<li class="toctree-l1"><a class="reference internal" href="ssh_certificate_authorities.html">SSH Certificate Authorities</a></li>
<li class="toctree-l1"><a class="reference internal" href="ssh_credentials.html">SSH Credentials</a></li>
<li class="toctree-l1"><a class="reference internal" href="ssh_host_certificates.html">SSH Host Certificates</a></li>
<li class="toctree-l1"><a class="reference internal" href="ssh_user_certificates.html">SSH User Certificates</a></li>
<li class="toctree-l1"><a class="reference internal" href="tls_certificates.html">TLS Certificates</a></li>
<li class="toctree-l1"><a class="reference internal" href="tunnels.html">Tunnels</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="errors">
<span id="id1"></span><h1>Errors<a class="headerlink" href="#errors" title="Permalink to this heading">#</a></h1>
<p>When any method invoked against the ngrok API returns an error, a Exception of
<a class="reference internal" href="#ngrok.Error" title="ngrok.Error"><code class="xref py py-class docutils literal notranslate"><span class="pre">ngrok.Error</span></code></a> will be raised.</p>
<p>The exception includes details that will allow you to robustly handle any error
returned by the API. The <code class="xref py py-attr docutils literal notranslate"><span class="pre">ngrok.Error.error_code</span></code> field allows you to
handle any error in the ngrok system. Consult our <a class="reference external" href="https://ngrok.com/docs/errors">API Errors Documentation</a> for the list of error codes the API may
return.</p>
<section id="handling-errors">
<h2>Handling Errors<a class="headerlink" href="#handling-errors" title="Permalink to this heading">#</a></h2>
<p>If the API returns an unexpected 404, a <a class="reference internal" href="#ngrok.NotFoundError" title="ngrok.NotFoundError"><code class="xref py py-class docutils literal notranslate"><span class="pre">ngrok.NotFoundError</span></code></a> will be
raised. Ensure that you check for it first because it is a subclass of <a class="reference internal" href="#ngrok.Error" title="ngrok.Error"><code class="xref py py-class docutils literal notranslate"><span class="pre">ngrok.Error</span></code></a>.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">try</span><span class="p">:</span>
<span class="n">client</span><span class="o">.</span><span class="n">ip_policies</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="nb">id</span><span class="p">)</span>
<span class="k">except</span> <span class="n">ngrok</span><span class="o">.</span><span class="n">NotFoundError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
<span class="n">client</span><span class="o">.</span><span class="n">ip_policies</span><span class="o">.</span><span class="n">create</span><span class="p">()</span>
<span class="k">except</span> <span class="n">ngrok</span><span class="o">.</span><span class="n">Error</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
<span class="c1"># something else happened</span>
</pre></div>
</div>
<p>Other validation errors are best distinguished by their error code. Consult our
documentation for the <a class="reference external" href="https://ngrok.com/docs/errors">list of all ngrok error codes</a>.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">try</span><span class="p">:</span>
<span class="n">client</span><span class="o">.</span><span class="n">edges</span><span class="o">.</span><span class="n">https</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">hostports</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;url-without-port.ngrok.io&quot;</span><span class="p">])</span>
<span class="k">except</span> <span class="n">ngrok</span><span class="o">.</span><span class="n">Error</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
<span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">error_code</span> <span class="o">==</span> <span class="s2">&quot;ERR_NGROK_7104&quot;</span><span class="p">:</span>
<span class="c1"># handle a specific condition</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">raise</span>
</pre></div>
</div>
<p>If the ngrok API fails with an undefined response or there is some kind of
network error, there are no guarantees about the type of exception thrown
at that point it is best to use a naked <code class="docutils literal notranslate"><span class="pre">except</span></code> block or to catch a <code class="docutils literal notranslate"><span class="pre">RuntimeError</span></code>.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">try</span><span class="p">:</span>
<span class="n">client</span><span class="o">.</span><span class="n">ip_policies</span><span class="o">.</span><span class="n">create</span><span class="p">()</span>
<span class="k">except</span> <span class="ne">RuntimeError</span><span class="p">:</span>
<span class="c1"># an unexpected network error that you could retry</span>
</pre></div>
</div>
</section>
<section id="module-ngrok">
<span id="exception-classes"></span><h2>Exception Classes<a class="headerlink" href="#module-ngrok" title="Permalink to this heading">#</a></h2>
<dl class="py exception">
<dt class="sig sig-object py" id="ngrok.Error">
<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">ngrok.</span></span><span class="sig-name descname"><span class="pre">Error</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error_code</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_status_code</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">details</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/ngrok/error.html#Error"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#ngrok.Error" title="Permalink to this definition">#</a></dt>
<dd><p>Raised by failed ngrok API operations.</p>
<p>This class encapsulates details about the error to make it simple for callers
to introspect the error and take action on it.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>error_code</strong> (<code class="xref py py-data docutils literal notranslate"><span class="pre">Optional</span></code>[<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>, <code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code>]) The unique ngrok error code indicating why the operation failed.</p></li>
<li><p><strong>message</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code>) Human-readable string explaining the error.</p></li>
<li><p><strong>http_status_code</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code>) HTTP status code returned by the server.</p></li>
<li><p><strong>details</strong> (<code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code>) Arbitrary additional details about the error.</p></li>
</ul>
</dd>
</dl>
<dl class="py property">
<dt class="sig sig-object py" id="ngrok.Error.operation_id">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">operation_id</span></span><a class="headerlink" href="#ngrok.Error.operation_id" title="Permalink to this definition">#</a></dt>
<dd><p>OperationID returns the unique trace ID assigned by ngrok to this API
request.</p>
</dd></dl>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="ngrok.NotFoundError">
<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">ngrok.</span></span><span class="sig-name descname"><span class="pre">NotFoundError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error_code</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_status_code</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">details</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/ngrok/error.html#NotFoundError"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#ngrok.NotFoundError" title="Permalink to this definition">#</a></dt>
<dd><p>Raised if the http_status_code of an API operation is 404.
This is a separate class to make this common condition easier to handle.</p>
</dd></dl>
</section>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="abuse_reports.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">Abuse Reports</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="datatypes.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Datatypes</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 1980, ngrok Inc.
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
On this page
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Errors</a><ul>
<li><a class="reference internal" href="#handling-errors">Handling Errors</a></li>
<li><a class="reference internal" href="#module-ngrok">Exception Classes</a><ul>
<li><a class="reference internal" href="#ngrok.Error"><code class="docutils literal notranslate"><span class="pre">Error</span></code></a><ul>
<li><a class="reference internal" href="#ngrok.Error.operation_id"><code class="docutils literal notranslate"><span class="pre">Error.operation_id</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#ngrok.NotFoundError"><code class="docutils literal notranslate"><span class="pre">NotFoundError</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<script src="_static/scripts/furo.js"></script>
</body>
</html>