<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
				<meta name="keywords" content="SMILA/Documentation/REST API Reference,SMILA/Documentation/AgentController,SMILA/Documentation/Bulkbuilder,SMILA/Documentation/CrawlerController,SMILA/Documentation/DataObjectTypesAndBuckets,SMILA/Documentation/Importing/DeltaCheck,SMILA/Documentation/Importing/VisitedLinks,SMILA/Documentation/JobDefinitions,SMILA/Documentation/JobRuns,SMILA/Documentation/ObjectStore/Bundle org.eclipse.smila.objectstore,SMILA/Documentation/Processing/JSON REST API for BPEL pipelines" />
		<link rel="shortcut icon" href="http://wiki.eclipse.org/SMILA/Documentation/favicon.ico" />
		<link rel="search" type="application/opensearchdescription+xml" href="http://wiki.eclipse.org/opensearch_desc.php" title="Eclipsepedia (English)" />
<link rel="alternate" type="application/rss+xml" title="Eclipsepedia RSS Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=rss" />
<link rel="alternate" type="application/atom+xml" title="Eclipsepedia Atom Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=atom" />
	
		
		<title>SMILA/Documentation/REST API Reference - Eclipsepedia</title>

		<style type="text/css" media="screen,projection">/*<![CDATA[*/ @import "http://wiki.eclipse.org/skins/eclipsenova/novaWide.css?116"; /*]]>*/</style>
		<link rel="stylesheet" type="text/css" media="print" href="http://wiki.eclipse.org/skins/eclipsenova/eclipsenovaPrint.css?116" />
		<link rel="stylesheet" type="text/css" media="handheld" href="http://wiki.eclipse.org/skins/eclipsenova/handheld.css?116" />
		<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/header.css" media="screen" />
		<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/tabs.css" media="screen" />
		<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/visual.css" media="screen" />
		<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/layout.css" media="screen" />
		<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/footer.css" media="screen" />
	        <!--[if IE]><link rel="stylesheet" type="text/css" href="/skins/eclipsenova/IEpngfix.css" media="screen" /><![endif]-->
		<!--[if lt IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE50Fixes.css?116";</style> <![endif]-->
		<!--[if IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE55Fixes.css?116";</style><![endif]-->
		<!--[if IE 6]><style type="text/css">@import "/skins/eclipsenova/IE60Fixes.css?116";</style><![endif]-->
		<!--[if IE 7]><style type="text/css">@import "/skins/eclipsenova/IE70Fixes.css?116";</style><![endif]-->
		<!--[if lt IE 7]><script type="text/javascript" src="/skins/common/IEFixes.js?116"></script>
		<meta http-equiv="imagetoolbar" content="no" /><![endif]-->
		<script type= "text/javascript">/*<![CDATA[*/
var skin = "eclipsenova";
var stylepath = "/skins";
var wgArticlePath = "/$1";
var wgScriptPath = "";
var wgScript = "/index.php";
var wgServer = "http://wiki.eclipse.org";
var wgCanonicalNamespace = "";
var wgCanonicalSpecialPageName = false;
var wgNamespaceNumber = 0;
var wgPageName = "SMILA/Documentation/REST_API_Reference";
var wgTitle = "SMILA/Documentation/REST API Reference";
var wgAction = "view";
var wgRestrictionEdit = [];
var wgRestrictionMove = [];
var wgArticleId = "35451";
var wgIsArticle = true;
var wgUserName = null;
var wgUserGroups = null;
var wgUserLanguage = "en";
var wgContentLanguage = "en";
var wgBreakFrames = false;
var wgCurRevisionId = "313923";
var wgVersion = "1.12.0";
var wgEnableAPI = true;
var wgEnableWriteAPI = false;
/*]]>*/</script>
                
		<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/wikibits.js?116"><!-- wikibits js --></script>

<!-- Performance mods similar to those for bug 166401 -->
		<script type="text/javascript" src="http://wiki.eclipse.org/index.php?title=-&amp;action=raw&amp;gen=js&amp;useskin=eclipsenova"><!-- site js --></script>

		<!-- Head Scripts -->
				<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/ajax.js?116"></script>
<link rel="stylesheet" type="text/css" href="REST_API_Reference.html" />	</head>
<body  class="mediawiki ns-0 ltr page-SMILA_Documentation_REST_API_Reference">
	<div id="globalWrapper">


		<div id="column-one">
<!-- Eclipse Additions for the Top Nav start here M. Ward-->

		      <div id="header">
               <div id="header-graphic">
                 <img src="http://wiki.eclipse.org/skins/eclipsenova/eclipse.png" alt="Eclipse Wiki">
               </div>
<!-- Pulled 101409 Mward	   -->
            
            <div class="portlet" id="p-personal">
              <div class="pBody">
              <ul>
                <li id="pt-login"><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Documentation/REST_API_Reference">Log in</a></li>
                      </ul>
              </div>
            </div>

            <div id="header-icons">
	      <div id="sites">
              <ul id="sitesUL">
                <li><a href="http://www.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/eclipseIcon.png" width="28" height="28" alt="Eclipse Foundation" title="Eclipse Foundation" /><div>Eclipse Foundation</div></a></li>
                <li><a href="http://marketplace.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/marketplace.png" width="28" height="28" alt="Eclipse Marketplace" title="Eclipse Marketplace" /><div>Eclipse Marketplace</div></a></li>
                <li><a href="https://bugs.eclipse.org/bugs"><img src="http://dev.eclipse.org/custom_icons/system-search-bw.png" width="28" height="28" alt="Bugzilla" title="Bugzilla" /><div>Bugzilla</div></a></li>
                <li><a href="http://live.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/audio-input-microphone-bw.png" width="28" height="28" alt="Live" title="Live" /><div>Eclipse Live</div></a></li>
                <li><a href="http://planeteclipse.org"><img src="http://dev.eclipse.org/large_icons/devices/audio-card.png" width="28" height="28" alt="PlanetEclipse" title="Planet" /><div>Planet Eclipse</div></a></li>
                <li><a href="http://portal.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/preferences-system-network-proxy-bw.png" width="28" height="28" alt="Portal" title="Portal" /><div>My Foundation Portal</div></a></li>
              </ul>
              </div>
            </div>
        </div> 
<!-- NEW HEADER STUFF HERE -->
       <div id="header-menu">
         <div id="header-nav">
               <ul> 		 <li><a class="first_one" href="http://wiki.eclipse.org/" target="_self">Home</a></li>                  <li><a  href="http://www.eclipse.org/downloads/" target="_self">Downloads</a></li> 
                 <li><a  href="http://www.eclipse.org/users/" target="_self">Users</a></li> 
                 <li><a  href="http://www.eclipse.org/membership/" target="_self">Members</a></li> 
                 <li><a  href="http://wiki.eclipse.org/index.php/Development_Resources" target="_self">Committers</a></li> 
                 <li><a  href="http://www.eclipse.org/resources/" target="_self">Resources</a></li> 
                 <li><a  href="http://www.eclipse.org/projects/" target="_self">Projects</a></li> 
                 <li><a  href="http://www.eclipse.org/org/" target="_self">About Us</a></li> 
                </ul>
         </div>
         <div id="header-utils">
<!-- moved the search window here -->
                           <form action="http://wiki.eclipse.org/Special:Search" >
                  <input class="input" name="search" type="text" accesskey="f" value="" />
                    <input type='submit' onclick="this.submit();" name="go" id="searchGoButton" class="button" title="Go to a page with this exact name if one exists" value="Go" />&nbsp;
                    <input type='submit' onclick="this.submit();" name="fulltext" class="button" id="mw-searchButton" title="Search Eclipsepedia for this text"  value="Search" />
                </form>
		 </div>
      </div>


<!-- Eclipse Additions for the Header stop here -->
<!-- Additions and mods for leftside nav Start here -->

<!--Started nav  rip here-->
<!-- these are the nav controls main page, changes etc -->
    <div id="novaContent" class="faux">
            <div id="leftcol">
          <ul id="leftnav">
<!-- these are the page controls, edit history etc -->
            	  <li class="separator"><a class="separator">Navigation &#160;&#160;</li>
                                <li id="n-mainpage"><a href="http://wiki.eclipse.org/Main_Page">Main Page</a></li>
	                                <li id="n-portal"><a href="http://wiki.eclipse.org/Eclipsepedia:Community_Portal">Community portal</a></li>
	                                <li id="n-currentevents"><a href="http://wiki.eclipse.org/Eclipsepedia:Current_events">Current events</a></li>
	                                <li id="n-recentchanges"><a href="http://wiki.eclipse.org/Special:Recentchanges">Recent changes</a></li>
	                                <li id="n-randompage"><a href="http://wiki.eclipse.org/Special:Random">Random page</a></li>
	                                <li id="n-help"><a href="http://wiki.eclipse.org/Help:Contents">Help</a></li>
		  <li class="separator"><a class="separator">Toolbox &#160;&#160;</a></li>

				<li id="t-whatlinkshere"><a href="http://wiki.eclipse.org/Special:Whatlinkshere/SMILA/Documentation/REST_API_Reference">What links here</a></li>
				<li id="t-recentchangeslinked"><a href="http://wiki.eclipse.org/Special:Recentchangeslinked/SMILA/Documentation/REST_API_Reference">Related changes</a></li>
                <!-- This is the toolbox section -->
<li id="t-upload"><a href="http://wiki.eclipse.org/Special:Upload">Upload file</a></li>
<li id="t-specialpages"><a href="http://wiki.eclipse.org/Special:Specialpages">Special pages</a></li>
				<li id="t-print"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/REST_API_Reference&amp;printable=yes">Printable version</a></li>				<li id="t-permalink"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/REST_API_Reference&amp;oldid=313923">Permanent link</a></li>	  </ul>
        </div>


<!-- Additions and mods for leftside nav End here -->


  <div id="column-content">
    <div id="content">
      <a name="top" id="top"></a>

              <div id="tabs">
         <ul class="primary">
                                         <li class="active"><a href="REST_API_Reference.html"><span class="tab">Page</span></a></li>
                                                         <li><a href="http://wiki.eclipse.org/index.php?title=Talk:SMILA/Documentation/REST_API_Reference&amp;action=edit"><span class="tab">Discussion</span></a></li>
                                         <li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/REST_API_Reference&amp;action=edit"><span class="tab">View source</span></a></li>
                                         <li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/REST_API_Reference&amp;action=history"><span class="tab">History</span></a></li>
                                         <li><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Documentation/REST&#32;API&#32;Reference"><span class="tab">Edit</span></a></li>
                  </ul>
        </div>


          <script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
            <h1 class="firstHeading">SMILA/Documentation/REST API Reference</h1>
      <div id="bodyContent">
        <h3 id="siteSub">From Eclipsepedia</h3>
        <div id="contentSub"><span class="subpages">&lt; <a href="../../SMILA.html" title="SMILA">SMILA</a> | <a href="../Documentation.1.html" title="SMILA/Documentation">Documentation</a></span></div>
                              <div id="jump-to-nav">Jump to: <a href="REST_API_Reference.html#column-one">navigation</a>, <a href="REST_API_Reference.html#searchInput">search</a></div>          <!-- start content -->
          <p>This page is intended to serve as a cross reference to the SMILA manual based on the SMILA ReST API. It lists all URLs of the ReST API and links them to the manual page that describes it.
</p>
<ul><li> <b><tt>/smila/</tt></b>: Main entry page: system state overview and links to the other APIs.
<ul><li> <tt><a href="Processing/JSON_REST_API_for_pipelets.html" title="SMILA/Documentation/Processing/JSON REST API for pipelets">pipelets/</a></tt>: Show available pipelets.
</li><li> <tt><a href="Processing/JSON_REST_API_for_BPEL_pipelines.html" title="SMILA/Documentation/Processing/JSON REST API for BPEL pipelines">pipeline/</a></tt>: Show, modify and invoke available pipelines.
</li><li> <tt>jobmanager/</tt>: JobManager entry page, just links to the APIs below:
<ul><li> <tt><a href="DataObjectTypesAndBuckets.html#List_data_object_types" title="SMILA/Documentation/DataObjectTypesAndBuckets">dataobjecttypes/</a></tt>: show available DOTs.
</li><li> <tt><a href="DataObjectTypesAndBuckets.html#List.2C_create.2C_and_modify_buckets" title="SMILA/Documentation/DataObjectTypesAndBuckets">buckets/</a></tt>: Show and modify availabe persistent buckets.
</li><li> <tt><a href="WorkerAndWorkflows.html#List_workers" title="SMILA/Documentation/WorkerAndWorkflows">workers/</a></tt>: Show available workers.
</li><li> <tt><a href="WorkerAndWorkflows.html#List.2C_create.2C_and_modify_workflows" title="SMILA/Documentation/WorkerAndWorkflows">workflows/</a></tt>: Show and modify available workflows.
</li><li> <tt><a href="JobDefinitions.html#List.2C_create.2C_modify_jobs" title="SMILA/Documentation/JobDefinitions">jobs/</a></tt>: Show and modify available jobs.
<ul><li> <tt><a href="JobDefinitions.html#Specific_job" title="SMILA/Documentation/JobDefinitions">&lt;jobName&gt;/</a></tt>: show job information and start job run.
<ul><li> <tt><a href="JobRuns.html#Monitor_a_job_run_or_delete_job_run_data" title="SMILA/Documentation/JobRuns">&lt;jobRunId&gt;/</a></tt>: monitor a  job run, delete data of a finished job run.
<ul><li> <tt><a href="JobRuns.html#Finish_job_run" title="SMILA/Documentation/JobRuns">finish/</a></tt>: Finish a job run.
</li><li> <tt><a href="JobRuns.html#Cancel_job_run" title="SMILA/Documentation/JobRuns">cancel/</a></tt>: Cancel a job run.
</li></ul>
</li></ul>
</li></ul>
</li></ul>
</li><li> <tt><a href="Bulkbuilder.html#Record_push_REST_API" title="SMILA/Documentation/Bulkbuilder">job/&lt;jobName&gt;/</a></tt>: Bulkbuilder Push API
<ul><li> <tt><a href="Bulkbuilder.html#Record_push_REST_API" title="SMILA/Documentation/Bulkbuilder">record/</a></tt>: Add a record to a running job for adding or deleting.
</li><li> <tt><a href="Bulkbuilder.html#push_a_micro_bulk" title="SMILA/Documentation/Bulkbuilder">bulk/</a></tt>: Add a bulk of records to a running job for adding or deleting.
</li></ul>
</li><li> <tt><a href="TaskManager.html#External_REST_API" title="SMILA/Documentation/TaskManager">tasks/</a></tt>: Show and inspect worker task queues.
</li><li> <tt>importing/</tt>: Entry page for service APIs of the importing framework, just links to APIs below:
<ul><li> <tt><a href="Importing/DeltaCheck.html#DeltaService_ReST_API" title="SMILA/Documentation/Importing/DeltaCheck">delta/</a></tt>: Show and cleanup state of datasources in Delta service.
</li><li> <tt><a href="Importing/VisitedLinks.html#VisitedLinks_ReST_API" title="SMILA/Documentation/Importing/VisitedLinks">visitedlinks/</a></tt>: Show and cleanup state of datasources in VisitedLinks service.
</li></ul>
</li><li> <tt><a href="ObjectStore/Bundle_org.eclipse.smila.objectstore.html#Handlers_in_org.eclipse.smila.objectstore" title="SMILA/Documentation/ObjectStore/Bundle org.eclipse.smila.objectstore">store/</a></tt>: Show, modify and inspect the ObjectStore service.
</li><li> <tt><a href="CrawlerController.html#HTTP_ReST_JSON_interface" title="SMILA/Documentation/CrawlerController">crawlers/</a></tt>: Show and control crawlers in the old ConnectivityFramework (<b>deprecated</b>) 
</li><li> <tt><a href="AgentController.html#HTTP_ReST_JSON_interface" title="SMILA/Documentation/AgentController">agents/</a></tt>: Show and control ageints in the old ConnectivityFramework (<b>deprecated</b>) 
</li><li> <tt>debug/</tt>: Internal information for debugging purposes. May change at any time and without notice, therefore intentionally left undocumented.
</li></ul>
</li><li> <b><tt><a href="TaskManager.html#Internal_REST_API" title="SMILA/Documentation/TaskManager">/taskmanager/</a></tt></b>: TaskManager API for workers not running embedded in SMILA. <i>Not intended for usage with web browsers</i>
</li><li> <b><tt>/zookeeper/</tt></b>: Inspect contents of Zookeeper's z-node tree. For debugging purposes.
</li></ul>

<!-- 
NewPP limit report
Preprocessor node count: 27/1000000
Post-expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
#ifexist count: 0/100
-->

<!-- Saved in parser cache with key wikidb:pcache:idhash:35451-0!1!0!!en!2!edit=0 and timestamp 20130416060928 -->
<div class="printfooter">
Retrieved from "<a href="REST_API_Reference.html">http://wiki.eclipse.org/SMILA/Documentation/REST_API_Reference</a>"</div>
                    <!-- end content -->
          <div class="visualClear"></div>
        </div>
      </div>


    </div>


	<!-- Yoink of toolbox for phoenix moved up -->


  </div>
  </div>
              <div id="clearFooter"/>
            <div id="footer" >  
	      <ul id="footernav">
                <li class="first"><a href="http://www.eclipse.org/">Home</a></li>
               	<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
	        <li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
		<li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
                <li><a href="http://www.eclipse.org/org/foundation/contact.php">Contact</a></li>
               	<li><a href="http://wiki.eclipse.org/Eclipsepedia:About" title="Eclipsepedia:About">About Eclipsepedia</a></li>
	      </ul>
              <span id="copyright">Copyright &copy; 2013 The Eclipse Foundation. All Rights Reserved</span>
	      <p id="footercredit">This page was last modified 13:05, 29 August 2012 by <a href="http://wiki.eclipse.org/index.php?title=User:Nadine.auslaender.empolis.com&amp;action=edit" class="new" title="User:Nadine.auslaender.empolis.com">Nadine Ausländer</a>. Based on work by <a href="http://wiki.eclipse.org/index.php?title=User:Juergen.schumacher.attensity.com&amp;action=edit" class="new" title="User:Juergen.schumacher.attensity.com">Juergen Schumacher</a>, <a href="http://wiki.eclipse.org/index.php?title=User:Nadine.auslaender.attensity.com&amp;action=edit" class="new" title="User:Nadine.auslaender.attensity.com"> </a> and <a href="http://wiki.eclipse.org/User:Andreas.schank.attensity.com" title="User:Andreas.schank.attensity.com">A. Schank</a>.</p>
	      <p id="footerviews">This page has been accessed 2,067 times.</p>
	    </div>

            <script type="text/javascript">
              var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
              document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
            </script>
            <script type="text/javascript">
              var pageTracker = _gat._getTracker("UA-910670-4");
              pageTracker._trackPageview();
            </script>
 
 	



		

<!-- 			<div class="visualClear"></div> -->
	
		<script type="text/javascript">if (window.runOnloadHook) runOnloadHook();</script>
</div>

<!-- Served in 0.050 secs. --></body></html>
