<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia at 2018-03-12
 | Rendered using Apache Maven Fluido Skin 1.3.0
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20180312" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Falcon - GET api/entities/lookup/feed</title>
    <link rel="stylesheet" href="../css/apache-maven-fluido-1.3.0.min.css" />
    <link rel="stylesheet" href="../css/site.css" />
    <link rel="stylesheet" href="../css/print.css" media="print" />

      
    <script type="text/javascript" src="../js/apache-maven-fluido-1.3.0.min.js"></script>

                          
        
<script type="text/javascript">$( document ).ready( function() { $( '.carousel' ).carousel( { interval: 3500 } ) } );</script>
          
            </head>
        <body class="topBarDisabled">
          
        
    
        <div class="container-fluid">
          <div id="banner">
        <div class="pull-left">
                                                  <a href="../../index.html" id="bannerLeft">
                                                                                                <img src="../images/falcon-logo.png"  alt="Apache Falcon" width="200px" height="45px"/>
                </a>
                      </div>
        <div class="pull-right">                  <a href="http://www.apache.org" id="bannerRight">
                                                                                                <img src="../images/apache-feather-tm.gif"  alt="Falcon" height="45px"/>
                </a>
      </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
                
                    
                              <li class="">
                    <a href="http://www.apache.org" class="externalLink" title="Apache">
        Apache</a>
        </li>
      <li class="divider ">/</li>
            <li class="">
                    <a href="../index.html" title="Falcon">
        Falcon</a>
        </li>
      <li class="divider ">/</li>
        <li class="">GET api/entities/lookup/feed</li>
        
                
                    
                  <li id="publishDate" class="pull-right">Last Published: 2018-03-12</li> 
            
                            </ul>
      </div>

            
      <div class="row-fluid">
        <div id="leftColumn" class="span3">
          <div class="well sidebar-nav">
                
                    
                <ul class="nav nav-list">
                    <li class="nav-header">Falcon</li>
                                
      <li>
    
                          <a href="../index.html" title="About">
          <i class="none"></i>
        About</a>
            </li>
                  
      <li>
    
                          <a href="../slides/falcon-overview.html" title="Overview">
          <i class="none"></i>
        Overview</a>
            </li>
                  
      <li>
    
                          <a href="../slides/falcon-user-guide.html" title="User Guide">
          <i class="none"></i>
        User Guide</a>
            </li>
                  
      <li>
    
                          <a href="../GettingStarted.html" title="Getting Started">
          <i class="none"></i>
        Getting Started</a>
            </li>
                  
      <li>
    
                          <a href="../FalconDocumentation.html" title="Architecture">
          <i class="none"></i>
        Architecture</a>
            </li>
                  
      <li>
    
                          <a href="../InstallationSteps.html" title="Installation">
          <i class="none"></i>
        Installation</a>
            </li>
                  
      <li>
    
                          <a href="../OnBoarding.html" title="On Boarding">
          <i class="none"></i>
        On Boarding</a>
            </li>
                  
      <li>
    
                          <a href="../MigrationInstructions.html" title="Migrate to 0.10">
          <i class="none"></i>
        Migrate to 0.10</a>
            </li>
                  
      <li>
    
                          <a href="../Operability.html" title="Operability">
          <i class="none"></i>
        Operability</a>
            </li>
                  
      <li>
    
                          <a href="../EntitySpecification.html" title="Entity Specification">
          <i class="none"></i>
        Entity Specification</a>
            </li>
                  
      <li>
    
                          <a href="../falconcli/FalconCLI.html" title="Client (Falcon CLI)">
          <i class="none"></i>
        Client (Falcon CLI)</a>
            </li>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
      <li>
    
                          <a href="../restapi/ResourceList.html" title="Rest API">
          <i class="icon-chevron-down"></i>
        Rest API</a>
                    <ul class="nav nav-list">
                                                                                                                                                                                                                                                                                                                                              
      <li>
    
                          <a href="../restapi/ResourceList.html" title="Entity Resource">
          <i class="icon-chevron-down"></i>
        Entity Resource</a>
                    <ul class="nav nav-list">
                      
      <li>
    
                          <a href="../restapi/EntityValidate.html" title="Validate the entity">
          <i class="none"></i>
        Validate the entity</a>
            </li>
                      
      <li>
    
                          <a href="../restapi/EntitySubmit.html" title="Submit the entity">
          <i class="none"></i>
        Submit the entity</a>
            </li>
                      
      <li>
    
                          <a href="../restapi/EntityUpdate.html" title="Update the entity">
          <i class="none"></i>
        Update the entity</a>
            </li>
                      
      <li>
    
                          <a href="../restapi/EntitySubmitAndSchedule.html" title="Submit & Schedule the entity">
          <i class="none"></i>
        Submit & Schedule the entity</a>
            </li>
                      
      <li>
    
                          <a href="../restapi/EntitySchedule.html" title="Schedule the entity">
          <i class="none"></i>
        Schedule the entity</a>
            </li>
                      
      <li>
    
                          <a href="../restapi/EntitySuspend.html" title="Suspend the entity">
          <i class="none"></i>
        Suspend the entity</a>
            </li>
                      
      <li>
    
                          <a href="../restapi/EntityResume.html" title="Resume the entity">
          <i class="none"></i>
        Resume the entity</a>
            </li>
                      
      <li>
    
                          <a href="../restapi/EntityDelete.html" title="Delete the entity">
          <i class="none"></i>
        Delete the entity</a>
            </li>
                      
      <li>
    
                          <a href="../restapi/EntityStatus.html" title="Get the status of the entity">
          <i class="none"></i>
        Get the status of the entity</a>
            </li>
                      
      <li>
    
                          <a href="../restapi/EntityDefinition.html" title="Get the definition of the entity">
          <i class="none"></i>
        Get the definition of the entity</a>
            </li>
                      
      <li>
    
                          <a href="../restapi/EntityList.html" title="Get the list of entities">
          <i class="none"></i>
        Get the list of entities</a>
            </li>
                      
      <li>
    
                          <a href="../restapi/EntitySummary.html" title="Get instance summary of all entities">
          <i class="none"></i>
        Get instance summary of all entities</a>
            </li>
                      
      <li>
    
                          <a href="../restapi/EntityDependencies.html" title="Get the dependencies of the entity">
          <i class="none"></i>
        Get the dependencies of the entity</a>
            </li>
                      
      <li class="active">
    
            <a href="#"><i class="none"></i>Get feed for given path</a>
          </li>
                      
      <li>
    
                          <a href="../restapi/FeedSLA.html" title="Get feed instances which missed SLA">
          <i class="none"></i>
        Get feed instances which missed SLA</a>
            </li>
              </ul>
        </li>
                                                                                                                                                                                                                                                                              
      <li>
    
                          <a href="../restapi/ResourceList.html" title="Feed/Process Instances">
          <i class="icon-chevron-right"></i>
        Feed/Process Instances</a>
                  </li>
                                                                                                                              
      <li>
    
                          <a href="../restapi/ResourceList.html" title="Admin Resource">
          <i class="icon-chevron-right"></i>
        Admin Resource</a>
                  </li>
                                                                                                                                                                                                                        
      <li>
    
                          <a href="../restapi/ResourceList.html" title="Lineage Graph Resource">
          <i class="icon-chevron-right"></i>
        Lineage Graph Resource</a>
                  </li>
                                                                                          
      <li>
    
                          <a href="../restapi/ResourceList.html" title="Metadata Resource">
          <i class="icon-chevron-right"></i>
        Metadata Resource</a>
                  </li>
                                                                                                                                                                                                                                                                                                
      <li>
    
                          <a href="../restapi/ResourceList.html" title="Falcon Extensions">
          <i class="icon-chevron-right"></i>
        Falcon Extensions</a>
                  </li>
              </ul>
        </li>
                  
      <li>
    
                          <a href="../HiveIntegration.html" title="Hive Integration">
          <i class="none"></i>
        Hive Integration</a>
            </li>
                  
      <li>
    
                          <a href="../Extensions.html" title="Server side Extensions">
          <i class="none"></i>
        Server side Extensions</a>
            </li>
                  
      <li>
    
                          <a href="../Security.html" title="Security">
          <i class="none"></i>
        Security</a>
            </li>
                              <li class="nav-header">Project Information</li>
                                
      <li>
    
                          <a href="../project-info.html" title="Summary">
          <i class="none"></i>
        Summary</a>
            </li>
                  
      <li>
    
                          <a href="../mail-lists.html" title="Mailing Lists">
          <i class="none"></i>
        Mailing Lists</a>
            </li>
                  
      <li>
    
                          <a href="http://webchat.freenode.net?channels=apachefalcon&uio=d4" class="externalLink" title="IRC">
          <i class="none"></i>
        IRC</a>
            </li>
                  
      <li>
    
                          <a href="../team-list.html" title="Team">
          <i class="none"></i>
        Team</a>
            </li>
                  
      <li>
    
                          <a href="../issue-tracking.html" title="Issue Tracking">
          <i class="none"></i>
        Issue Tracking</a>
            </li>
                  
      <li>
    
                          <a href="../source-repository.html" title="Source Repository">
          <i class="none"></i>
        Source Repository</a>
            </li>
                  
      <li>
    
                          <a href="https://cwiki.apache.org/confluence/display/FALCON/Index" class="externalLink" title="Wiki">
          <i class="none"></i>
        Wiki</a>
            </li>
                  
      <li>
    
                          <a href="../license.html" title="License">
          <i class="none"></i>
        License</a>
            </li>
                  
      <li>
    
                          <a href="https://cwiki.apache.org/confluence/display/FALCON/News" class="externalLink" title="News">
          <i class="none"></i>
        News</a>
            </li>
                  
      <li>
    
                          <a href="https://cwiki.apache.org/confluence/display/FALCON/PoweredBy" class="externalLink" title="Powered by">
          <i class="none"></i>
        Powered by</a>
            </li>
                  
      <li>
    
                          <a href="https://cwiki.apache.org/confluence/display/FALCON/Acknowledgements" class="externalLink" title="Acknowledgements">
          <i class="none"></i>
        Acknowledgements</a>
            </li>
                  
      <li>
    
                          <a href="http://blogs.apache.org/falcon/" class="externalLink" title="Blog">
          <i class="none"></i>
        Blog</a>
            </li>
                              <li class="nav-header">Releases</li>
                                
      <li>
    
                          <a href="http://www.apache.org/dyn/closer.lua/falcon/0.11" class="externalLink" title="0.11">
          <i class="none"></i>
        0.11</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/dyn/closer.lua/falcon/0.10" class="externalLink" title="0.10">
          <i class="none"></i>
        0.10</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/dyn/closer.lua/falcon/0.9" class="externalLink" title="0.9">
          <i class="none"></i>
        0.9</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/dyn/closer.lua/falcon/0.8" class="externalLink" title="0.8">
          <i class="none"></i>
        0.8</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/dyn/closer.lua/falcon/0.7" class="externalLink" title="0.7">
          <i class="none"></i>
        0.7</a>
            </li>
                  
      <li>
    
                          <a href="http://archive.apache.org/dist/falcon/0.6.1" class="externalLink" title="0.6.1">
          <i class="none"></i>
        0.6.1</a>
            </li>
                  
      <li>
    
                          <a href="http://archive.apache.org/dist/incubator/falcon/0.6-incubating" class="externalLink" title="0.6-incubating">
          <i class="none"></i>
        0.6-incubating</a>
            </li>
                  
      <li>
    
                          <a href="http://archive.apache.org/dist/incubator/falcon/0.5-incubating" class="externalLink" title="0.5-incubating">
          <i class="none"></i>
        0.5-incubating</a>
            </li>
                  
      <li>
    
                          <a href="http://archive.apache.org/dist/incubator/falcon/0.4-incubating" class="externalLink" title="0.4-incubating">
          <i class="none"></i>
        0.4-incubating</a>
            </li>
                  
      <li>
    
                          <a href="http://archive.apache.org/dist/incubator/falcon/0.3-incubating" class="externalLink" title="0.3-incubating">
          <i class="none"></i>
        0.3-incubating</a>
            </li>
                  
      <li>
    
                          <a href="https://cwiki.apache.org/confluence/display/FALCON/Roadmap" class="externalLink" title="Coming soon">
          <i class="none"></i>
        Coming soon</a>
            </li>
                              <li class="nav-header">Documentation</li>
                                
      <li>
    
                          <a href="../0.11/index.html" title="0.11 (Current)">
          <i class="none"></i>
        0.11 (Current)</a>
            </li>
                  
      <li>
    
                          <a href="../0.10/index.html" title="0.10">
          <i class="none"></i>
        0.10</a>
            </li>
                  
      <li>
    
                          <a href="../0.9/index.html" title="0.9">
          <i class="none"></i>
        0.9</a>
            </li>
                  
      <li>
    
                          <a href="../0.8/index.html" title="0.8">
          <i class="none"></i>
        0.8</a>
            </li>
                  
      <li>
    
                          <a href="../0.7/index.html" title="0.7">
          <i class="none"></i>
        0.7</a>
            </li>
                  
      <li>
    
                          <a href="../0.6.1/index.html" title="0.6.1">
          <i class="none"></i>
        0.6.1</a>
            </li>
                  
      <li>
    
                          <a href="../0.6-incubating/index.html" title="0.6-incubating">
          <i class="none"></i>
        0.6-incubating</a>
            </li>
                  
      <li>
    
                          <a href="../0.5-incubating/index.html" title="0.5-incubating">
          <i class="none"></i>
        0.5-incubating</a>
            </li>
                  
      <li>
    
                          <a href="../0.4-incubating/index.html" title="0.4-incubating">
          <i class="none"></i>
        0.4-incubating</a>
            </li>
                  
      <li>
    
                          <a href="../0.3-incubating/index.html" title="0.3-incubating">
          <i class="none"></i>
        0.3-incubating</a>
            </li>
                              <li class="nav-header">ASF</li>
                                
      <li>
    
                          <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How Apache Works">
          <i class="none"></i>
        How Apache Works</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/foundation/" class="externalLink" title="Foundation">
          <i class="none"></i>
        Foundation</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsoring Apache">
          <i class="none"></i>
        Sponsoring Apache</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">
          <i class="none"></i>
        Thanks</a>
            </li>
            </ul>
                
                    
                
          <hr class="divider" />

           <div id="poweredBy">
                            <div class="clear"></div>
                            <div class="clear"></div>
                            <div class="clear"></div>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" />
      </a>
                  </div>
          </div>
        </div>
        
                
        <div id="bodyColumn"  class="span9" >
                                  
            <div class="section">
<h3>GET api/entities/lookup/feed<a name="GET_apientitieslookupfeed"></a></h3>
<p></p>
<ul>
<li><a href="#Description">Description</a></li>
<li><a href="#Parameters">Parameters</a></li>
<li><a href="#Results">Results</a></li>
<li><a href="#Examples">Examples</a></li></ul></div>
<div class="section">
<h3>Description<a name="Description"></a></h3></div>
<div class="section">
<h3>Parameters<a name="Parameters"></a></h3>
<p>* path path of the instance for which you want to determine the feed. e.g. /data/project1/2014/10/10/23/     Path has to be the complete path and can't be a part of it.     * doAs &lt;optional query param&gt; allows the current user to impersonate the user passed in doAs when interacting with the Falcon system.</p></div>
<div class="section">
<h3>Results<a name="Results"></a></h3>
<p>Returns the name of the feed along with the location type(meta/data/stats) and cluster on which the given path belongs to this feed.</p></div>
<div class="section">
<h3>Examples<a name="Examples"></a></h3></div>
<div class="section">
<h4>Rest Call<a name="Rest_Call"></a></h4>
<div class="source">
<pre>
GET http://localhost:15000/api/entities/lookup/feed?path=/data/project1/2014/10/10/23&amp;doAs=joe

</pre></div></div>
<div class="section">
<h4>Result<a name="Result"></a></h4>
<p>{     &quot;feeds&quot;:     [         {            &quot;feedName&quot;: &quot;My-Feed1&quot;,            &quot;locationType&quot;: &quot;DATA&quot;,            &quot;clusterName&quot;: &quot;My-cluster1&quot;         },         {            &quot;feedName&quot;: &quot;My-Feed2&quot;,            &quot;locationType&quot;: &quot;DATA&quot;,            &quot;clusterName&quot;: &quot;My-cluster2&quot;         }     ] }</p></div>
                  </div>
            </div>
          </div>

    <hr/>

    <footer>
            <div class="container-fluid">
              <div class="row span12">Copyright &copy;                    2013-2018
                        <a href="http://www.apache.org">Apache Software Foundation</a>.
            All Rights Reserved.      
                    
      </div>

                          
        
                </div>
    </footer>
  </body>
</html>
