



<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>HTTP Routing Table &mdash; Airflow Documentation</title>
  

  
  
  
  

  
  <script type="text/javascript" src="_static/js/modernizr.min.js"></script>
  
    
      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
        <script type="text/javascript" src="_static/jquery.js"></script>
        <script type="text/javascript" src="_static/underscore.js"></script>
        <script type="text/javascript" src="_static/doctools.js"></script>
        <script type="text/javascript" src="_static/language_data.js"></script>
    
    <script type="text/javascript" src="_static/js/theme.js"></script>

    

  
  <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />

   
  <script>
    document.addEventListener('DOMContentLoaded', function() {
      var el = document.getElementById('changelog');
      if (el !== null ) {
        // [AIRFLOW-...]
        el.innerHTML = el.innerHTML.replace(
            /\[(AIRFLOW-[\d]+)\]/g,
            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
        );
        // (#...)
        el.innerHTML = el.innerHTML.replace(
            /\(#([\d]+)\)/g,
            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
        );
      };
    })
  </script>
  <style>
    .example-header {
      position: relative;
      background: #9AAA7A;
      padding: 8px 16px;
      margin-bottom: 0;
    }
    .example-header--with-button {
      padding-right: 166px;
    }
    .example-header:after{
      content: '';
      display: table;
      clear: both;
    }
    .example-title {
      display:block;
      padding: 4px;
      margin-right: 16px;
      color: white;
      overflow-x: auto;
    }
    .example-header-button {
      top: 8px;
      right: 16px;
      position: absolute;
    }
    .example-header + .highlight-python {
      margin-top: 0 !important;
    }
    .viewcode-button {
      display: inline-block;
      padding: 8px 16px;
      border: 0;
      margin: 0;
      outline: 0;
      border-radius: 2px;
      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
      color: #404040;
      background-color: #e7e7e7;
      cursor: pointer;
      font-size: 16px;
      font-weight: 500;
      line-height: 1;
      text-decoration: none;
      text-overflow: ellipsis;
      overflow: hidden;
      text-transform: uppercase;
      -webkit-transition: background-color .2s;
      transition: background-color .2s;
      vertical-align: middle;
      white-space: nowrap;
    }
    .viewcode-button:visited {
      color: #404040;
    }
    .viewcode-button:hover, .viewcode-button:focus {
      color: #404040;
      background-color: #d6d6d6;
    }
  </style>


    <script type="text/javascript">
      DOCUMENTATION_OPTIONS.COLLAPSE_INDEX = true;
    </script>


<script type="application/javascript">
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga("create", "UA-140539454-1", "auto");
ga("send", "pageview");
</script>
<script async src="https://www.google-analytics.com/analytics.js"></script>
</head>


<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
            <a href="index.html" class="icon icon-home"> Airflow
          

          
          </a>

          
            
            
              <div class="version">
                1.10.3
              </div>
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <ul>
<li class="toctree-l1"><a class="reference internal" href="project.html">Project</a></li>
<li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
<li class="toctree-l1"><a class="reference internal" href="start.html">Quick Start</a></li>
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial</a></li>
<li class="toctree-l1"><a class="reference internal" href="howto/index.html">How-to Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="ui.html">UI / Screenshots</a></li>
<li class="toctree-l1"><a class="reference internal" href="concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="profiling.html">Data Profiling</a></li>
<li class="toctree-l1"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
<li class="toctree-l1"><a class="reference internal" href="scheduler.html">Scheduling &amp; Triggers</a></li>
<li class="toctree-l1"><a class="reference internal" href="plugins.html">Plugins</a></li>
<li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
<li class="toctree-l1"><a class="reference internal" href="timezone.html">Time zones</a></li>
<li class="toctree-l1"><a class="reference internal" href="api.html">Experimental Rest API</a></li>
<li class="toctree-l1"><a class="reference internal" href="integration.html">Integration</a></li>
<li class="toctree-l1"><a class="reference internal" href="metrics.html">Metrics</a></li>
<li class="toctree-l1"><a class="reference internal" href="kubernetes.html">Kubernetes</a></li>
<li class="toctree-l1"><a class="reference internal" href="lineage.html">Lineage</a></li>
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="macros.html">Macros reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="_api/index.html">API Reference</a></li>
</ul>

            
          
        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="index.html">Airflow</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="index.html">Docs</a> &raquo;</li>
        
      <li>HTTP Routing Table</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            

   <h1>HTTP Routing Table</h1>

   <div class="modindex-jumpbox">
   <a href="#cap-/api"><strong>/api</strong></a>
   </div>

   <table class="indextable modindextable">
     <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
     <tr class="cap" id="cap-/api"><td></td><td>
       <strong>/api</strong></td><td></td></tr>
     <tr>
       <td></td>
       <td>
       <a href="api.html#get--api-experimental-dags--DAG_ID--dag_runs"><code class="xref">GET /api/experimental/dags/&lt;DAG_ID&gt;/dag_runs</code></a></td><td>
       <em></em></td></tr>
     <tr>
       <td></td>
       <td>
       <a href="api.html#get--api-experimental-dags--DAG_ID--dag_runs--string-execution_date--tasks--TASK_ID-"><code class="xref">GET /api/experimental/dags/&lt;DAG_ID&gt;/dag_runs/&lt;string:execution_date&gt;/tasks/&lt;TASK_ID&gt;</code></a></td><td>
       <em></em></td></tr>
     <tr>
       <td></td>
       <td>
       <a href="api.html#get--api-experimental-dags--DAG_ID--paused--string-paused-"><code class="xref">GET /api/experimental/dags/&lt;DAG_ID&gt;/paused/&lt;string:paused&gt;</code></a></td><td>
       <em></em></td></tr>
     <tr>
       <td></td>
       <td>
       <a href="api.html#get--api-experimental-dags--DAG_ID--tasks--TASK_ID-"><code class="xref">GET /api/experimental/dags/&lt;DAG_ID&gt;/tasks/&lt;TASK_ID&gt;</code></a></td><td>
       <em></em></td></tr>
     <tr>
       <td></td>
       <td>
       <a href="api.html#get--api-experimental-dags--string-dag_id--dag_runs--string-execution_date-"><code class="xref">GET /api/experimental/dags/&lt;string:dag_id&gt;/dag_runs/&lt;string:execution_date&gt;</code></a></td><td>
       <em></em></td></tr>
     <tr>
       <td></td>
       <td>
       <a href="api.html#get--api-experimental-latest_runs"><code class="xref">GET /api/experimental/latest_runs</code></a></td><td>
       <em></em></td></tr>
     <tr>
       <td></td>
       <td>
       <a href="api.html#get--api-experimental-pools"><code class="xref">GET /api/experimental/pools</code></a></td><td>
       <em></em></td></tr>
     <tr>
       <td></td>
       <td>
       <a href="api.html#get--api-experimental-pools--string-name-"><code class="xref">GET /api/experimental/pools/&lt;string:name&gt;</code></a></td><td>
       <em></em></td></tr>
     <tr>
       <td></td>
       <td>
       <a href="api.html#get--api-experimental-test"><code class="xref">GET /api/experimental/test</code></a></td><td>
       <em></em></td></tr>
     <tr>
       <td></td>
       <td>
       <a href="api.html#post--api-experimental-dags--DAG_ID--dag_runs"><code class="xref">POST /api/experimental/dags/&lt;DAG_ID&gt;/dag_runs</code></a></td><td>
       <em></em></td></tr>
     <tr>
       <td></td>
       <td>
       <a href="api.html#post--api-experimental-pools"><code class="xref">POST /api/experimental/pools</code></a></td><td>
       <em></em></td></tr>
     <tr>
       <td></td>
       <td>
       <a href="api.html#delete--api-experimental-pools--string-name-"><code class="xref">DELETE /api/experimental/pools/&lt;string:name&gt;</code></a></td><td>
       <em></em></td></tr>
   </table>


           </div>
           
          </div>
          <footer>
  

  <hr/>

  <div role="contentinfo">
    <p>

    </p>
  </div>
  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 

</footer>

        </div>
      </div>

    </section>

  </div>
  


  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
   

</body>
</html>
