blob: 369a3515851494b4805982fc7d61923a73327ca9 [file] [log] [blame]
<!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 - RESTful Resources</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">
<div id="banner">
<div class="pull-left">
<div id="bannerLeft">
<img src="../images/falcon-logo.png" alt="Apache Falcon" width="200px" height="45px"/>
</div>
</div>
<div class="pull-right"> </div>
<div class="clear"><hr/></div>
</div>
<div id="breadcrumbs">
<ul class="breadcrumb">
<li class="">
<a href="../index.html" title="Falcon">
Falcon</a>
</li>
<li class="divider ">/</li>
<li class="">RESTful Resources</li>
<li id="publishDate" class="pull-right">Last Published: 2018-03-12</li> <li class="divider pull-right">|</li>
<li id="projectVersion" class="pull-right">Version: 0.11</li>
</ul>
</div>
<div id="bodyColumn" >
<div class="section">
<h2>RESTful Resources<a name="RESTful_Resources"></a></h2></div>
<div class="section">
<h3>Resource List<a name="Resource_List"></a></h3>
<p></p>
<ul>
<li><a href="#REST_Call_on_Entity_Resource">REST Call on Entity Resource</a></li>
<li><a href="#REST_Call_on_Feed_and_Process_Instances">REST Call on Feed/Process Instances</a></li>
<li><a href="#REST_Call_on_Admin_Resource">REST Call on Admin Resource</a></li>
<li><a href="#REST_Call_on_Lineage_Graph">REST Call on Lineage Graph Resource</a></li>
<li><a href="#REST_Call_on_Metadata_Resource">REST Call on Metadata Resource</a></li>
<li><a href="#REST_Call_on_Extension_Artifact">REST Call on Extension artifact</a></li>
<li><a href="#REST_Call_on_Extension_Job Management">REST Call on Extension Job Management</a></li></ul></div>
<div class="section">
<h3>Authentication<a name="Authentication"></a></h3>
<p>When security is off (Pseudo/Simple), the authenticated user is the username specified in the user.name query parameter. If the user.name parameter is not set, the server may either set the authenticated user to a default web user, if there is any, or return an error response.</p>
<p>When security is on (kerberos), authentication is performed by Kerberos SPNEGO.</p>
<p>Below are examples using the curl command tool.</p>
<p>Authentication when security is off (Pseudo/Simple):</p>
<div class="source">
<pre>
curl -i &quot;http://&lt;HOST&gt;:&lt;PORT&gt;/&lt;PATH&gt;?[user.name=&lt;USER&gt;&amp;]&lt;PARAM&gt;=...&quot;
</pre></div>
<p>Authentication using Kerberos SPNEGO when security is on:</p>
<div class="source">
<pre>
curl -i --negotiate -u : &quot;http://&lt;HOST&gt;:&lt;PORT&gt;/&lt;PATH&gt;?&lt;PARAM&gt;=...&quot;
</pre></div>
<p>See also: <a href="./../Security.twiki.html">Security in Falcon</a></p>
<p>The current version of the rest api's documentation is also hosted on the Falcon server and Prism Server (in distributed mode) at the url <a class="externalLink" href="http://&lt;HOST&gt;:&lt;PORT&gt;/docs">http://&lt;HOST&gt;:&lt;PORT&gt;/docs</a></p></div>
<div class="section">
<h3>REST Call on Admin Resource<a name="REST_Call_on_Admin_Resource"></a></h3>
<p></p>
<table border="0" class="table table-striped">
<tr class="a">
<th>Call Type</th>
<th>Resource</th>
<th>Description</th></tr>
<tr class="b">
<td>GET</td>
<td><a href="./AdminStack.html">api/admin/stack</a></td>
<td>Get stack of the server</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./AdminVersion.html">api/admin/version</a></td>
<td>Get version of the server</td></tr>
<tr class="b">
<td>GET</td>
<td><a href="./AdminConfig.html">api/admin/config/:config-type</a></td>
<td>Get configuration information of the server</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./AdminSafemode.html">api/admin/setSafeMode/:mode</a></td>
<td>Set safemode to true/false in falcon server</td></tr></table></div>
<div class="section">
<h3>REST Call on Entity Resource<a name="REST_Call_on_Entity_Resource"></a></h3>
<p></p>
<table border="0" class="table table-striped">
<tr class="a">
<th>Call Type</th>
<th>Resource</th>
<th>Description</th></tr>
<tr class="b">
<td>POST</td>
<td><a href="./EntityValidate.html">api/entities/validate/:entity-type</a></td>
<td>Validate the entity</td></tr>
<tr class="a">
<td>POST</td>
<td><a href="./EntitySubmit.html">api/entities/submit/:entity-type</a></td>
<td>Submit the entity</td></tr>
<tr class="b">
<td>POST</td>
<td><a href="./EntityUpdate.html">api/entities/update/:entity-type/:entity-name</a></td>
<td>Update the entity</td></tr>
<tr class="a">
<td>POST</td>
<td><a href="./EntitySubmitAndSchedule.html">api/entities/submitAndSchedule/:entity-type</a></td>
<td>Submit &amp; Schedule the entity</td></tr>
<tr class="b">
<td>POST</td>
<td><a href="./EntitySchedule.html">api/entities/schedule/:entity-type/:entity-name</a></td>
<td>Schedule the entity</td></tr>
<tr class="a">
<td>POST</td>
<td><a href="./EntitySuspend.html">api/entities/suspend/:entity-type/:entity-name</a></td>
<td>Suspend the entity</td></tr>
<tr class="b">
<td>POST</td>
<td><a href="./EntityResume.html">api/entities/resume/:entity-type/:entity-name</a></td>
<td>Resume the entity</td></tr>
<tr class="a">
<td>DELETE</td>
<td><a href="./EntityDelete.html">api/entities/delete/:entity-type/:entity-name</a></td>
<td>Delete the entity</td></tr>
<tr class="b">
<td>GET</td>
<td><a href="./EntityStatus.html">api/entities/status/:entity-type/:entity-name</a></td>
<td>Get the status of the entity</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./EntityDefinition.html">api/entities/definition/:entity-type/:entity-name</a></td>
<td>Get the definition of the entity</td></tr>
<tr class="b">
<td>GET</td>
<td><a href="./EntityList.html">api/entities/list/{:entity-type}</a></td>
<td>Get the list of entities</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./EntitySummary.html">api/entities/summary/:entity-type/:cluster</a></td>
<td>Get instance summary of all entities</td></tr>
<tr class="b">
<td>GET</td>
<td><a href="./EntityDependencies.html">api/entities/dependencies/:entity-type/:entity-name</a></td>
<td>Get the dependencies of the entity</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./FeedSLA.html">api/entities/sla-alert/:entity-type</a></td>
<td>Get pending feed instances which missed sla</td></tr>
<tr class="b">
<td>GET</td>
<td><a href="./FeedLookup.html">api/entities/lookup/feed/</a></td>
<td>Get feed for given path</td></tr></table></div>
<div class="section">
<h3>REST Call on Feed and Process Instances<a name="REST_Call_on_Feed_and_Process_Instances"></a></h3>
<p></p>
<table border="0" class="table table-striped">
<tr class="a">
<th>Call Type</th>
<th>Resource</th>
<th>Description</th></tr>
<tr class="b">
<td>GET</td>
<td><a href="./InstanceRunning.html">api/instance/running/:entity-type/:entity-name</a></td>
<td>List of running instances.</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./InstanceParams.html">api/instance/params/:entity-type/:entity-name</a></td>
<td>List of entity instances along with their workflow params.</td></tr>
<tr class="b">
<td>GET</td>
<td><a href="./InstanceList.html">api/instance/list/:entity-type/:entity-name</a></td>
<td>List of instances</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./InstanceStatus.html">api/instance/status/:entity-type/:entity-name</a></td>
<td>Status of a given instance</td></tr>
<tr class="b">
<td>POST</td>
<td><a href="./InstanceKill.html">api/instance/kill/:entity-type/:entity-name</a></td>
<td>Kill a given instance</td></tr>
<tr class="a">
<td>POST</td>
<td><a href="./InstanceSuspend.html">api/instance/suspend/:entity-type/:entity-name</a></td>
<td>Suspend a running instance</td></tr>
<tr class="b">
<td>POST</td>
<td><a href="./InstanceResume.html">api/instance/resume/:entity-type/:entity-name</a></td>
<td>Resume a given instance</td></tr>
<tr class="a">
<td>POST</td>
<td><a href="./InstanceRerun.html">api/instance/rerun/:entity-type/:entity-name</a></td>
<td>Rerun a given instance</td></tr>
<tr class="b">
<td>GET</td>
<td><a href="./InstanceLogs.html">api/instance/logs/:entity-type/:entity-name</a></td>
<td>Get logs of a given instance</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./Triage.html">api/instance/triage/:entity-type/:entity-name</a></td>
<td>Triage an instance to see it's stuck lineage</td></tr>
<tr class="b">
<td>GET</td>
<td><a href="./InstanceSummary.html">api/instance/summary/:entity-type/:entity-name</a></td>
<td>Return summary of instances for an entity</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./InstanceDependency.html">api/instance/dependencies/:entity-type/:entity-name</a></td>
<td>Return dependent instances for a given instance</td></tr></table></div>
<div class="section">
<h3>REST Call on Metadata Lineage Resource<a name="REST_Call_on_Metadata_Lineage_Resource"></a></h3>
<p></p>
<table border="0" class="table table-striped">
<tr class="a">
<th>Call Type</th>
<th>Resource</th>
<th>Description</th></tr>
<tr class="b">
<td>GET</td>
<td><a href="./Graph.html">api/metadata/lineage/serialize</a></td>
<td>dump the graph</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./AllVertices.html">api/metadata/lineage/vertices/all</a></td>
<td>get all vertices</td></tr>
<tr class="b">
<td>GET</td>
<td><a href="./Vertices.html">api/metadata/lineage/vertices?key=:key&amp;value=:value</a></td>
<td>get all vertices for a key index</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./Vertex.html">api/metadata/lineage/vertices/:id</a></td>
<td>get the vertex with the specified id</td></tr>
<tr class="b">
<td>GET</td>
<td><a href="./VertexProperties.html">api/metadata/lineage/vertices/properties/:id?relationships=:true</a></td>
<td>get the properties of the vertex with the specified id</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./AdjacentVertices.html">api/metadata/lineage/vertices/:id/:direction</a></td>
<td>get the adjacent vertices or edges of the vertex with the specified direction</td></tr>
<tr class="b">
<td>GET</td>
<td><a href="./AllEdges.html">api/metadata/lineage/edges/all</a></td>
<td>get all edges</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./Edge.html">api/metadata/lineage/edges/:id</a></td>
<td>get the edge with the specified id</td></tr>
<tr class="b">
<td>GET</td>
<td><a href="./EntityLineage.html">api/metadata/lineage/entities?pipeline=:name</a></td>
<td>Get lineage graph for processes and feeds in the specified pipeline</td></tr></table></div>
<div class="section">
<h3>REST Call on Metadata Discovery Resource<a name="REST_Call_on_Metadata_Discovery_Resource"></a></h3>
<p></p>
<table border="0" class="table table-striped">
<tr class="a">
<th>Call Type</th>
<th>Resource</th>
<th>Description</th></tr>
<tr class="b">
<td>GET</td>
<td><a href="./MetadataList.html">api/metadata/discovery/:dimension-type/list</a></td>
<td>list of dimensions</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./MetadataRelations.html">api/metadata/discovery/:dimension-type/:dimension-name/relations</a></td>
<td>Return all relations of a dimension</td></tr></table></div>
<div class="section">
<h3>REST Call on Extension Artifact<a name="REST_Call_on_Extension_Artifact"></a></h3>
<p></p>
<table border="0" class="table table-striped">
<tr class="a">
<th>Call Type</th>
<th>Resource</th>
<th>Description</th></tr>
<tr class="b">
<td>GET</td>
<td><a href="./ExtensionEnumeration.html">api/extension/enumerate</a></td>
<td>List all the extensions supported</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./ExtensionDescription.html">api/extension/describe/:extension&#xc2;&#xad;name</a></td>
<td>Return the README of the specified extension</td></tr>
<tr class="b">
<td>GET</td>
<td><a href="./ExtensionDefinition.html">api/extension/definition/:extension&#xc2;&#xad;name</a></td>
<td>Return a JSON document describing the extension invocation parameters</td></tr></table></div>
<div class="section">
<h3>REST Call on Extension Job Management<a name="REST_Call_on_Extension_Job_Management"></a></h3>
<p></p>
<table border="0" class="table table-striped">
<tr class="a">
<th>Call Type</th>
<th>Resource</th>
<th>Description</th></tr>
<tr class="b">
<td>GET</td>
<td><a href="./ExtensionList.html">api/extension/list/:extension&#xc2;&#xad;name</a></td>
<td>List jobs generated from an extension</td></tr>
<tr class="a">
<td>GET</td>
<td><a href="./ExtensionInstances.html">api/extension/instances/:job-name</a></td>
<td>List instances of an extension job</td></tr>
<tr class="b">
<td>POST</td>
<td><a href="./ExtensionValidate.html">api/extension/validate/:extension&#xc2;&#xad;name</a></td>
<td>Validate an extension job</td></tr>
<tr class="a">
<td>POST</td>
<td><a href="./ExtensionSubmit.html">api/extension/submit/:extension&#xc2;&#xad;name</a></td>
<td>Submit an extension job</td></tr>
<tr class="b">
<td>POST</td>
<td><a href="./ExtensionUpdate.html">api/extension/update/:extension&#xc2;&#xad;name</a></td>
<td>Update an extension job</td></tr>
<tr class="a">
<td>POST</td>
<td><a href="./ExtensionSubmitAndSchedule.html">api/extension/submitAndSchedule/:extension&#xc2;&#xad;name</a></td>
<td>Submit and schedule an extension job</td></tr>
<tr class="b">
<td>POST</td>
<td><a href="./ExtensionSchedule.html">api/extension/schedule/:job-name</a></td>
<td>Schedule an extension job</td></tr>
<tr class="a">
<td>POST</td>
<td><a href="./ExtensionSuspend.html">api/extension/suspend/:job-name</a></td>
<td>Suspend an extension job</td></tr>
<tr class="b">
<td>POST</td>
<td><a href="./ExtensionResume.html">api/extension/resume/:job-name</a></td>
<td>Resume an extension job</td></tr>
<tr class="a">
<td>POST</td>
<td><a href="./ExtensionDelete.html">api/extension/delete/:job-name</a></td>
<td>Delete an extension job</td></tr></table></div>
</div>
</div>
<hr/>
<footer>
<div class="container">
<div class="row span12">Copyright &copy; 2013-2018
<a href="http://www.apache.org">Apache Software Foundation</a>.
All Rights Reserved.
</div>
<p id="poweredBy" class="pull-right">
<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>
</p>
</div>
</footer>
</body>
</html>