You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ma...@apache.org on 2018/01/25 22:20:48 UTC

[18/51] [partial] atlas-website git commit: ATLAS-2366: Update atlas website about 1.0.0-alpha release

http://git-wip-us.apache.org/repos/asf/atlas-website/blob/c3e5130b/TypeSystem.html
----------------------------------------------------------------------
diff --git a/TypeSystem.html b/TypeSystem.html
index 820532d..c8be364 100644
--- a/TypeSystem.html
+++ b/TypeSystem.html
@@ -1,220 +1,117 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2017-08-09
- | Rendered using Apache Maven Fluido Skin 1.3.0
+ | Generated by Apache Maven Doxia Site Renderer 1.8 from src/site/twiki/TypeSystem.twiki at 2018-01-25
+ | Rendered using Apache Maven Fluido Skin 1.7
 -->
 <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="20170809" />
+    <meta name="Date-Revision-yyyymmdd" content="20180125" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache Atlas &#x2013; Type System</title>
-    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
+    <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.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="topBarEnabled">
-          
-                        
-                    
-                
-
+    <script type="text/javascript" src="./js/apache-maven-fluido-1.7.min.js"></script>
+  </head>
+  <body class="topBarEnabled">
     <div id="topbar" class="navbar navbar-fixed-top ">
       <div class="navbar-inner">
-                                  <div class="container" style="width: 68%;"><div class="nav-collapse">
-            
-                
-                                <ul class="nav">
-                          <li class="dropdown">
+            <div class="container" style="width: 68%;"><div class="nav-collapse">
+            <ul class="nav">
+      <li class="dropdown">
         <a href="#" class="dropdown-toggle" data-toggle="dropdown">Atlas <b class="caret"></b></a>
         <ul class="dropdown-menu">
-        
-                      <li>      <a href="index.html"  title="About">About</a>
-</li>
-                  
-                      <li>      <a href="https://cwiki.apache.org/confluence/display/ATLAS"  title="Wiki">Wiki</a>
-</li>
-                  
-                      <li>      <a href="https://cwiki.apache.org/confluence/display/ATLAS"  title="News">News</a>
-</li>
-                  
-                      <li>      <a href="https://git-wip-us.apache.org/repos/asf/atlas.git"  title="Git">Git</a>
-</li>
-                  
-                      <li>      <a href="https://issues.apache.org/jira/browse/ATLAS"  title="Jira">Jira</a>
-</li>
-                  
-                      <li>      <a href="https://cwiki.apache.org/confluence/display/ATLAS/PoweredBy"  title="Powered by">Powered by</a>
-</li>
-                  
-                      <li>      <a href="http://blogs.apache.org/atlas/"  title="Blog">Blog</a>
-</li>
-                          </ul>
+            <li><a href="index.html" title="About">About</a></li>
+            <li><a href="https://cwiki.apache.org/confluence/display/ATLAS" title="Wiki">Wiki</a></li>
+            <li><a href="https://cwiki.apache.org/confluence/display/ATLAS" title="News">News</a></li>
+            <li><a href="https://git-wip-us.apache.org/repos/asf/atlas.git" title="Git">Git</a></li>
+            <li><a href="https://issues.apache.org/jira/browse/ATLAS" title="Jira">Jira</a></li>
+            <li><a href="https://cwiki.apache.org/confluence/display/ATLAS/PoweredBy" title="Powered by">Powered by</a></li>
+            <li><a href="http://blogs.apache.org/atlas/" title="Blog">Blog</a></li>
+        </ul>
       </li>
-                <li class="dropdown">
+      <li class="dropdown">
         <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Information <b class="caret"></b></a>
         <ul class="dropdown-menu">
-        
-                      <li>      <a href="project-info.html"  title="Summary">Summary</a>
-</li>
-                  
-                      <li>      <a href="mail-lists.html"  title="Mailing Lists">Mailing Lists</a>
-</li>
-                  
-                      <li>      <a href="http://webchat.freenode.net?channels=apacheatlas&uio=d4"  title="IRC">IRC</a>
-</li>
-                  
-                      <li>      <a href="team-list.html"  title="Team">Team</a>
-</li>
-                  
-                      <li>      <a href="issue-tracking.html"  title="Issue Tracking">Issue Tracking</a>
-</li>
-                  
-                      <li>      <a href="source-repository.html"  title="Source Repository">Source Repository</a>
-</li>
-                  
-                      <li>      <a href="license.html"  title="License">License</a>
-</li>
-                          </ul>
+            <li><a href="project-info.html" title="Summary">Summary</a></li>
+            <li><a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a></li>
+            <li><a href="http://webchat.freenode.net?channels=apacheatlas&uio=d4" title="IRC">IRC</a></li>
+            <li><a href="team-list.html" title="Team">Team</a></li>
+            <li><a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a></li>
+            <li><a href="source-repository.html" title="Source Repository">Source Repository</a></li>
+            <li><a href="license.html" title="License">License</a></li>
+        </ul>
       </li>
-                <li class="dropdown">
+      <li class="dropdown">
         <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
         <ul class="dropdown-menu">
-        
-                      <li>      <a href="http://www.apache.org/dyn/closer.cgi/atlas/0.8.0-incubating/"  title="0.8-incubating">0.8-incubating</a>
-</li>
-                  
-                      <li>      <a href="http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/"  title="0.7.1-incubating">0.7.1-incubating</a>
-</li>
-                  
-                      <li>      <a href="http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/"  title="0.7-incubating">0.7-incubating</a>
-</li>
-                  
-                      <li>      <a href="http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/"  title="0.6-incubating">0.6-incubating</a>
-</li>
-                  
-                      <li>      <a href="http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/"  title="0.5-incubating">0.5-incubating</a>
-</li>
-                          </ul>
+            <li><a href="http://www.apache.org/dyn/closer.cgi/atlas/1.0.0-alpha/" title="1.0.0-alpha">1.0.0-alpha</a></li>
+            <li><a href="http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/" title="0.8.1">0.8.1</a></li>
+            <li><a href="http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/" title="0.8-incubating">0.8-incubating</a></li>
+            <li><a href="http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/" title="0.7.1-incubating">0.7.1-incubating</a></li>
+            <li><a href="http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/" title="0.7-incubating">0.7-incubating</a></li>
+            <li><a href="http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/" title="0.6-incubating">0.6-incubating</a></li>
+            <li><a href="http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/" title="0.5-incubating">0.5-incubating</a></li>
+        </ul>
       </li>
-                <li class="dropdown">
+      <li class="dropdown">
         <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
         <ul class="dropdown-menu">
-        
-                      <li>      <a href="0.8.0-incubating/index.html"  title="0.8-incubating">0.8-incubating</a>
-</li>
-                  
-                      <li>      <a href="0.7.1-incubating/index.html"  title="0.7.1-incubating">0.7.1-incubating</a>
-</li>
-                  
-                      <li>      <a href="0.7.0-incubating/index.html"  title="0.7-incubating">0.7-incubating</a>
-</li>
-                  
-                      <li>      <a href="0.6.0-incubating/index.html"  title="0.6-incubating">0.6-incubating</a>
-</li>
-                  
-                      <li>      <a href="0.5.0-incubating/index.html"  title="0.5-incubating">0.5-incubating</a>
-</li>
-                          </ul>
+            <li><a href="1.0.0-alpha/index.html" title="1.0.0-alpha">1.0.0-alpha</a></li>
+            <li><a href="0.8.1/index.html" title="0.8.1">0.8.1</a></li>
+            <li><a href="0.8.0-incubating/index.html" title="0.8-incubating">0.8-incubating</a></li>
+            <li><a href="0.7.1-incubating/index.html" title="0.7.1-incubating">0.7.1-incubating</a></li>
+            <li><a href="0.7.0-incubating/index.html" title="0.7-incubating">0.7-incubating</a></li>
+            <li><a href="0.6.0-incubating/index.html" title="0.6-incubating">0.6-incubating</a></li>
+            <li><a href="0.5.0-incubating/index.html" title="0.5-incubating">0.5-incubating</a></li>
+        </ul>
       </li>
-                <li class="dropdown">
+      <li class="dropdown">
         <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
         <ul class="dropdown-menu">
-        
-                      <li>      <a href="http://www.apache.org/foundation/how-it-works.html"  title="How Apache Works">How Apache Works</a>
-</li>
-                  
-                      <li>      <a href="http://www.apache.org/foundation/"  title="Foundation">Foundation</a>
-</li>
-                  
-                      <li>      <a href="http://www.apache.org/foundation/sponsorship.html"  title="Sponsoring Apache">Sponsoring Apache</a>
-</li>
-                  
-                      <li>      <a href="http://www.apache.org/foundation/thanks.html"  title="Thanks">Thanks</a>
-</li>
-                          </ul>
+            <li><a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a></li>
+            <li><a href="http://www.apache.org/foundation/" title="Foundation">Foundation</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a></li>
+            <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li>
+        </ul>
       </li>
-                  </ul>
-          
-                      <form id="search-form" action="http://www.google.com/search" method="get"  class="navbar-search pull-right" >
-    
+            </ul>
+<form id="search-form" action="https://www.google.com/search" method="get"  class="navbar-search pull-right" >
   <input value="http://atlas.apache.org" name="sitesearch" type="hidden"/>
   <input class="search-query" name="q" id="query" type="text" />
 </form>
-<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=search-form"></script>
-          
-                            
-            
-            
-            
-    <iframe src="http://www.facebook.com/plugins/like.php?href=http://atlas.apache.org/atlas-docs&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark"
+<script type="text/javascript">asyncJs( 'https://cse.google.com/brand?form=search-form' )</script>
+    <iframe src="https://www.facebook.com/plugins/like.php?href=http://atlas.apache.org/atlas-docs&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark"
         scrolling="no" frameborder="0"
-        style="border:none; width:80px; height:20px; margin-top: 10px;"  class="pull-right" ></iframe>
-                        
-    <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
-
-        <ul class="nav pull-right"><li style="margin-top: 10px;">
-    
+        style="border:none; width:100px; height:20px; margin-top: 10px;"  class="pull-right" ></iframe>
+    <script type="text/javascript">asyncJs( 'https://apis.google.com/js/plusone.js' )</script>
+    <ul class="nav pull-right"><li style="margin-top: 10px;">
     <div class="g-plusone" data-href="http://atlas.apache.org/atlas-docs" data-size="medium"  width="60px" align="right" ></div>
-
-        </li></ul>
-                              
-                   
-                      </div>
-          
+    </li></ul>
+            </div>
         </div>
       </div>
     </div>
-    
-        <div class="container">
-          <div id="banner">
-        <div class="pull-left">
-                                                  <a href=".." id="bannerLeft">
-                                                                                                <img src="images/atlas-logo.png"  alt="Apache Atlas" width="200px" height="45px"/>
-                </a>
-                      </div>
-        <div class="pull-right">  </div>
+    <div class="container">
+      <div id="banner">
+        <div class="pull-left"><a href=".." id="bannerLeft"><img src="images/atlas-logo.png"  alt="Apache Atlas" width="200px" height="45px"/></a></div>
+        <div class="pull-right"></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="Atlas">
-        Atlas</a>
-        </li>
-      <li class="divider ">/</li>
-        <li class="">Type System</li>
-        
-                
-                    
-                  <li id="publishDate" class="pull-right">Last Published: 2017-08-09</li> <li class="divider pull-right">|</li>
-              <li id="projectVersion" class="pull-right">Version: 0.9-SNAPSHOT</li>
-            
-                            </ul>
+      <li class=""><a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li>
+      <li class=""><a href="index.html" title="Atlas">Atlas</a><span class="divider">/</span></li>
+    <li class="active ">Type System</li>
+        <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2018-01-25</li>
+          <li id="projectVersion" class="pull-right">Version: 1.0.0-alpha</li>
+        </ul>
       </div>
-
-      
-                        
         <div id="bodyColumn" >
-                                  
-            <div class="section">
+<div class="section">
 <h2><a name="Type_System"></a>Type System</h2></div>
 <div class="section">
 <h3><a name="Overview"></a>Overview</h3>
@@ -223,104 +120,94 @@
 <h3><a name="Types"></a>Types</h3>
 <p>A &#x2018;Type&#x2019; in Atlas is a definition of how a particular type of metadata objects are stored and accessed. A type represents one or a collection of attributes that define the properties for the metadata object. Users with a development background will recognize the similarity of a type to a &#x2018;Class&#x2019; definition of object oriented programming languages, or a &#x2018;table schema&#x2019; of relational databases.</p>
 <p>An example of a type that comes natively defined with Atlas is a Hive table. A Hive table is defined with these attributes:</p>
-<div class="source">
-<pre>
-Name: hive_table
-MetaType: Class
-SuperTypes: DataSet
+<div class="source"><pre class="prettyprint">
+Name:         hive_table
+TypeCategory: Entity
+SuperTypes:   DataSet
 Attributes:
-    name: String (name of the table)
-    db: Database object of type hive_db
-    owner: String
-    createTime: Date
-    lastAccessTime: Date
-    comment: String
-    retention: int
-    sd: Storage Description object of type hive_storagedesc
-    partitionKeys: Array of objects of type hive_column
-    aliases: Array of strings
-    columns: Array of objects of type hive_column
-    parameters: Map of String keys to String values
-    viewOriginalText: String
-    viewExpandedText: String
-    tableType: String
-    temporary: Boolean
-
+    name:             string
+    db:               hive_db
+    owner:            string
+    createTime:       date
+    lastAccessTime:   date
+    comment:          string
+    retention:        int
+    sd:               hive_storagedesc
+    partitionKeys:    array&lt;hive_column&gt;
+    aliases:          array&lt;string&gt;
+    columns:          array&lt;hive_column&gt;
+    parameters:       map&lt;string,string&gt;
+    viewOriginalText: string
+    viewExpandedText: string
+    tableType:        string
+    temporary:        boolean
 </pre></div>
 <p>The following points can be noted from the above example:</p>
 <p></p>
 <ul>
 <li>A type in Atlas is identified uniquely by a &#x2018;name&#x2019;</li>
-<li>A type has a metatype. A metatype represents the type of this model in Atlas. Atlas has the following metatypes:
+<li>A type has a metatype. Atlas has the following metatypes:
 <ul>
-<li>Basic metatypes: E.g. Int, String, Boolean etc.</li>
+<li>Primitive metatypes: boolean, byte, short, int, long, float, double, biginteger, bigdecimal, string, date</li>
 <li>Enum metatypes</li>
-<li>Collection metatypes: E.g. Array, Map</li>
-<li>Composite metatypes: E.g. Class, Struct, Trait</li></ul></li>
-<li>A type can &#x2018;extend&#x2019; from a parent type called &#x2018;supertype&#x2019; - by virtue of this, it will get to include the attributes that are defined in the supertype as well. This allows modellers to define common attributes across a set of related types etc. This is again similar to the concept of how Object Oriented languages define super classes for a class. It is also possible for a type in Atlas to extend from multiple super types.
+<li>Collection metatypes: array, map</li>
+<li>Composite metatypes: Entity, Struct, Classification, Relationship</li></ul></li>
+<li>Entity &amp; Classification types can &#x2018;extend&#x2019; from other types, called &#x2018;supertype&#x2019; - by virtue of this, it will get to include the attributes that are defined in the supertype as well. This allows modellers to define common attributes across a set of related types etc. This is again similar to the concept of how Object Oriented languages define super classes for a class. It is also possible for a type in Atlas to extend from multiple super types.
 <ul>
 <li>In this example, every hive table extends from a pre-defined supertype called a &#x2018;DataSet&#x2019;. More details about this pre-defined types will be provided later.</li></ul></li>
-<li>Types which have a metatype of &#x2018;Class&#x2019;, &#x2018;Struct&#x2019; or &#x2018;Trait&#x2019; can have a collection of attributes. Each attribute has a name (e.g.  &#x2018;name&#x2019;) and some other associated properties. A property can be referred to using an expression type_name.attribute_name. It is also good to note that attributes themselves are defined using Atlas metatypes.
+<li>Types which have a metatype of &#x2018;Entity&#x2019;, &#x2018;Struct&#x2019;, &#x2018;Classification&#x2019; or 'Relationship' can have a collection of attributes. Each attribute has a name (e.g.  &#x2018;name&#x2019;) and some other associated properties. A property can be referred to using an expression type_name.attribute_name. It is also good to note that attributes themselves are defined using Atlas metatypes.
 <ul>
 <li>In this example, hive_table.name is a String, hive_table.aliases is an array of Strings, hive_table.db refers to an instance of a type called hive_db and so on.</li></ul></li>
-<li>Type references in attributes, (like hive_table.db) are particularly interesting. Note that using such an attribute, we can define arbitrary relationships between two types defined in Atlas and thus build rich models. Note that one can also collect a list of references as an attribute type (e.g. hive_table.cols which represents a list of references from hive_table to the hive_column type)</li></ul></div>
+<li>Type references in attributes, (like hive_table.db) are particularly interesting. Note that using such an attribute, we can define arbitrary relationships between two types defined in Atlas and thus build rich models. Note that one can also collect a list of references as an attribute type (e.g. hive_table.columns which represents a list of references from hive_table to hive_column type)</li></ul></div>
 <div class="section">
 <h3><a name="Entities"></a>Entities</h3>
-<p>An &#x2018;entity&#x2019; in Atlas is a specific value or instance of a Class &#x2018;type&#x2019; and thus represents a specific metadata object in the real world. Referring back to our analogy of Object Oriented Programming languages, an &#x2018;instance&#x2019; is an &#x2018;Object&#x2019; of a certain &#x2018;Class&#x2019;.</p>
-<p>An example of an entity will be a specific Hive Table. Say Hive has a table called &#x2018;customers&#x2019; in the &#x2018;default&#x2019; database. This table will be an &#x2018;entity&#x2019; in Atlas of type hive_table. By virtue of being an instance of a class type, it will have values for every attribute that are a part of the Hive table &#x2018;type&#x2019;, such as:</p>
-<div class="source">
-<pre>
-id: &quot;9ba387dd-fa76-429c-b791-ffc338d3c91f&quot;
-typeName: &#x201c;hive_table&#x201d;
+<p>An &#x2018;entity&#x2019; in Atlas is a specific value or instance of an Entity &#x2018;type&#x2019; and thus represents a specific metadata object in the real world. Referring back to our analogy of Object Oriented Programming languages, an &#x2018;instance&#x2019; is an &#x2018;Object&#x2019; of a certain &#x2018;Class&#x2019;.</p>
+<p>An example of an entity will be a specific Hive Table. Say Hive has a table called &#x2018;customers&#x2019; in the &#x2018;default&#x2019; database. This table will be an &#x2018;entity&#x2019; in Atlas of type hive_table. By virtue of being an instance of an entity type, it will have values for every attribute that are a part of the Hive table &#x2018;type&#x2019;, such as:</p>
+<div class="source"><pre class="prettyprint">
+guid:     &quot;9ba387dd-fa76-429c-b791-ffc338d3c91f&quot;
+typeName: &quot;hive_table&quot;
+status:   &quot;ACTIVE&quot;
 values:
-    name: &#x201c;customers&#x201d;
-    db: &quot;b42c6cfc-c1e7-42fd-a9e6-890e0adf33bc&quot;
-    owner: &#x201c;admin&#x201d;
-    createTime: &quot;2016-06-20T06:13:28.000Z&quot;
-    lastAccessTime: &quot;2016-06-20T06:13:28.000Z&quot;
-    comment: null
-    retention: 0
-    sd: &quot;ff58025f-6854-4195-9f75-3a3058dd8dcf&quot;
-    partitionKeys: null
-    aliases: null
-    columns: [&quot;65e2204f-6a23-4130-934a-9679af6a211f&quot;, &quot;d726de70-faca-46fb-9c99-cf04f6b579a6&quot;, ...]
-    parameters: {&quot;transient_lastDdlTime&quot;: &quot;1466403208&quot;}
+    name:             &#x201c;customers&#x201d;
+    db:               { &quot;guid&quot;: &quot;b42c6cfc-c1e7-42fd-a9e6-890e0adf33bc&quot;, &quot;typeName&quot;: &quot;hive_db&quot; }
+    owner:            &#x201c;admin&#x201d;
+    createTime:       1490761686029
+    updateTime:       1516298102877
+    comment:          null
+    retention:        0
+    sd:               { &quot;guid&quot;: &quot;ff58025f-6854-4195-9f75-3a3058dd8dcf&quot;, &quot;typeName&quot;: &quot;hive_storagedesc&quot; }
+    partitionKeys:    null
+    aliases:          null
+    columns:          [ { &quot;guid&quot;: &quot;&quot;65e2204f-6a23-4130-934a-9679af6a211f&quot;, &quot;typeName&quot;: &quot;hive_column&quot; }, { &quot;guid&quot;: &quot;&quot;d726de70-faca-46fb-9c99-cf04f6b579a6&quot;, &quot;typeName&quot;: &quot;hive_column&quot; }, ...]
+    parameters:       { &quot;transient_lastDdlTime&quot;: &quot;1466403208&quot;}
     viewOriginalText: null
     viewExpandedText: null
-    tableType: &#x201c;MANAGED_TABLE&#x201d;
-    temporary: false
-
+    tableType:        &#x201c;MANAGED_TABLE&#x201d;
+    temporary:        false
 </pre></div>
 <p>The following points can be noted from the example above:</p>
 <p></p>
 <ul>
-<li>Every entity that is an instance of a Class type is identified by a unique identifier, a GUID. This GUID is generated by the Atlas server when the object is defined, and remains constant for the entire lifetime of the entity. At any point in time, this particular entity can be accessed using its GUID.
+<li>Every instance ofan entity type is identified by a unique identifier, a GUID. This GUID is generated by the Atlas server when the object is defined, and remains constant for the entire lifetime of the entity. At any point in time, this particular entity can be accessed using its GUID.
 <ul>
 <li>In this example, the &#x2018;customers&#x2019; table in the default database is uniquely identified by the GUID &quot;9ba387dd-fa76-429c-b791-ffc338d3c91f&quot;</li></ul></li>
 <li>An entity is of a given type, and the name of the type is provided with the entity definition.
 <ul>
 <li>In this example, the &#x2018;customers&#x2019; table is a &#x2018;hive_table.</li></ul></li>
 <li>The values of this entity are a map of all the attribute names and their values for attributes that are defined in the hive_table type definition.</li>
-<li>Attribute values will be according to the metatype of the attribute.
-<ul>
-<li>Basic metatypes: integer, String, boolean values. E.g. &#x2018;name&#x2019; = &#x2018;customers&#x2019;, &#x2018;Temporary&#x2019; = &#x2018;false&#x2019;</li>
-<li>Collection metatypes: An array or map of values of the contained metatype. E.g. parameters = { &#x201c;transient_lastDdlTime&#x201d;: &#x201c;1466403208&#x201d;}</li>
-<li>Composite metatypes: For classes, the value will be an entity with which this particular entity will have a relationship. E.g. The hive table &#x201c;customers&#x201d; is present in a database called &#x201c;default&#x201d;. The relationship between the table and database are captured via the &#x201c;db&#x201d; attribute. Hence, the value of the &#x201c;db&#x201d; attribute will be a GUID that uniquely identifies the hive_db entity called &#x201c;default&#x201d;</li></ul></li></ul>
-<p>With this idea on entities, we can now see the difference between Class and Struct metatypes. Classes and Structs both compose attributes of other types. However, entities of Class types have the Id attribute (with a GUID value) a nd can be referenced from other entities (like a hive_db entity is referenced from a hive_table entity). Instances of Struct types do not have an identity of their own. The value of a Struct type is a collection of attributes that are &#x2018;embedded&#x2019; inside the entity itself.</p></div>
+<li>Attribute values will be according to the datatype of the attribute. Entity-type attributes will have value of type <a href="./AtlasObjectId.html">AtlasObjectId</a></li></ul>
+<p>With this idea on entities, we can now see the difference between Entity and Struct metatypes. Entities and Structs both compose attributes of other types. However, instances of Entity types have an identity (with a GUID value) and can be referenced from other entities (like a hive_db entity is referenced from a hive_table entity). Instances of Struct types do not have an identity of their own. The value of a Struct type is a collection of attributes that are &#x2018;embedded&#x2019; inside the entity itself.</p></div>
 <div class="section">
 <h3><a name="Attributes"></a>Attributes</h3>
-<p>We already saw that attributes are defined inside composite metatypes like Class and Struct. But we simplistically referred to attributes as having a name and a metatype value. However, attributes in Atlas have some more properties that define more concepts related to the type system.</p>
+<p>We already saw that attributes are defined inside metatypes like Entity, Struct, Classification and Relationship. But we implistically referred to attributes as having a name and a metatype value. However, attributes in Atlas have some more properties that define more concepts related to the type system.</p>
 <p>An attribute has the following properties:</p>
-<div class="source">
-<pre>
-    name: string,
-    dataTypeName: string,
-    isComposite: boolean,
+<div class="source"><pre class="prettyprint">
+    name:        string,
+    typeName:    string,
+    isOptional:  boolean,
     isIndexable: boolean,
-    isUnique: boolean,
-    multiplicity: enum,
-    reverseAttributeName: string
-
+    isUnique:    boolean,
+    cardinality: enum
 </pre></div>
 <p>The properties above have the following meanings:</p>
 <p></p>
@@ -336,68 +223,53 @@ values:
 <li>This flag indicates whether this property should be indexed on, so that look ups can be performed using the attribute value as a predicate and can be performed efficiently.</li></ul></li>
 <li>isUnique -
 <ul>
-<li>This flag is again related to indexing. If specified to be unique, it means that a special index is created for this attribute in Titan that allows for equality based look ups.</li>
+<li>This flag is again related to indexing. If specified to be unique, it means that a special index is created for this attribute in <a href="./JanusGraph.html">JanusGraph</a> that allows for equality based look ups.</li>
 <li>Any attribute with a true value for this flag is treated like a primary key to distinguish this entity from other entities. Hence care should be taken ensure that this attribute does model a unique property in real world.
 <ul>
 <li>For e.g. consider the name attribute of a hive_table. In isolation, a name is not a unique attribute for a hive_table, because tables with the same name can exist in multiple databases. Even a pair of (database name, table name) is not unique if Atlas is storing metadata of hive tables amongst multiple clusters. Only a cluster location, database name and table name can be deemed unique in the physical world.</li></ul></li></ul></li>
 <li>multiplicity - indicates whether this attribute is required, optional, or could be multi-valued. If an entity&#x2019;s definition of the attribute value does not match the multiplicity declaration in the type definition, this would be a constraint violation and the entity addition will fail. This field can therefore be used to define some constraints on the metadata information.</li></ul>
 <p>Using the above, let us expand on the attribute definition of one of the attributes of the hive table below. Let us look at the attribute called &#x2018;db&#x2019; which represents the database to which the hive table belongs:</p>
-<div class="source">
-<pre>
+<div class="source"><pre class="prettyprint">
 db:
-    &quot;dataTypeName&quot;: &quot;hive_db&quot;,
-    &quot;isComposite&quot;: false,
+    &quot;name&quot;:        &quot;db&quot;,
+    &quot;typeName&quot;:    &quot;hive_db&quot;,
+    &quot;isOptional&quot;:  false,
     &quot;isIndexable&quot;: true,
-    &quot;isUnique&quot;: false,
-    &quot;multiplicity&quot;: &quot;required&quot;,
-    &quot;name&quot;: &quot;db&quot;,
-    &quot;reverseAttributeName&quot;: null
-
+    &quot;isUnique&quot;:    false,
+    &quot;cardinality&quot;: &quot;SINGLE&quot;
 </pre></div>
-<p>Note the &#x201c;required&#x201d; constraint on multiplicity. A table entity cannot be sent without a db reference.</p>
-<div class="source">
-<pre>
+<p>Note the &#x201c;isOptional=true&#x201d; constraint - a table entity cannot be created without a db reference.</p>
+<div class="source"><pre class="prettyprint">
 columns:
-    &quot;dataTypeName&quot;: &quot;array&lt;hive_column&gt;&quot;,
-    &quot;isComposite&quot;: true,
+    &quot;name&quot;:        &quot;columns&quot;,
+    &quot;typeName&quot;:    &quot;array&lt;hive_column&gt;&quot;,
+    &quot;isOptional&quot;:  optional,
     &quot;isIndexable&quot;: true,
-    &#x201c;isUnique&quot;: false,
-    &quot;multiplicity&quot;: &quot;optional&quot;,
-    &quot;name&quot;: &quot;columns&quot;,
-    &quot;reverseAttributeName&quot;: null
-
+    &#x201c;isUnique&quot;:    false,
+    &quot;constraints&quot;: [ { &quot;type&quot;: &quot;ownedRef&quot; } ]
 </pre></div>
-<p>Note the &#x201c;isComposite&#x201d; true value for columns. By doing this, we are indicating that the defined column entities should always be bound to the table entity they are defined with.</p>
+<p>Note the &#x201c;ownedRef&#x201d; constraint for columns. By doing this, we are indicating that the defined column entities should always be bound to the table entity they are defined with.</p>
 <p>From this description and examples, you will be able to realize that attribute definitions can be used to influence specific modelling behavior (constraints, indexing, etc) to be enforced by the Atlas system.</p></div>
 <div class="section">
 <h3><a name="System_specific_types_and_their_significance"></a>System specific types and their significance</h3>
-<p>Atlas comes with a few pre-defined system types. We saw one example (DataSet) in the preceding sections. In this section we will see all these types and understand their significance.</p>
+<p>Atlas comes with a few pre-defined system types. We saw one example (DataSet) in preceding sections. In this section we will see more of these types and understand their significance.</p>
 <p><b>Referenceable</b>: This type represents all entities that can be searched for using a unique attribute called qualifiedName.</p>
-<p><b>Asset</b>: This type contains attributes like name, description and owner. Name is a required attribute (multiplicity = required), the others are optional. The purpose of Referenceable and Asset is to provide modellers with way to enforce consistency when defining and querying entities of their own types. Having these fixed set of attributes allows applications and User interfaces to make convention based assumptions about what attributes they can expect of types by default.</p>
-<p><b>Infrastructure</b>: This type extends Referenceable and Asset and typically can be used to be a common super type for infrastructural metadata objects like clusters, hosts etc.</p>
-<p><b>DataSet</b>: This type extends Referenceable and Asset. Conceptually, it can be used to represent an type that stores data. In Atlas, hive tables, Sqoop RDBMS tables etc are all types that extend from DataSet. Types that extend DataSet can be expected to have a Schema in the sense that they would have an attribute that defines attributes of that dataset. For e.g. the columns attribute in a hive_table. Also entities of types that extend DataSet participate in data transformation and this transformation can be captured by Atlas via lineage (or provenance) graphs.</p>
-<p><b>Process</b>: This type extends Referenceable and Asset. Conceptually, it can be used to represent any data transformation operation. For example, an ETL process that transforms a hive table with raw data to another hive table that stores some aggregate can be a specific type that extends the Process type. A Process type has two specific attributes, inputs and outputs. Both  inputs and outputs are arrays of DataSet entities. Thus an instance of a Process type can use these inputs and outputs to capture how the lineage of a DataSet evolves.</p></div>
-                  </div>
-          </div>
-
+<p><b>Asset</b>: This type extends Referenceable and adds attributes like name, description and owner. Name is a required attribute (isOptional=false), the others are optional.</p>
+<p>The purpose of Referenceable and Asset is to provide modellers with way to enforce consistency when defining and querying entities of their own types. Having these fixed set of attributes allows applications and user interfaces to make convention based assumptions about what attributes they can expect of types by default.</p>
+<p><b>Infrastructure</b>: This type extends Asset and typically can be used to be a common super type for infrastructural metadata objects like clusters, hosts etc.</p>
+<p><b>DataSet</b>: This type extends Referenceable. Conceptually, it can be used to represent an type that stores data. In Atlas, hive tables, hbase_tables etc are all types that extend from DataSet. Types that extend DataSet can be expected to have a Schema in the sense that they would have an attribute that defines attributes of that dataset. For e.g. the columns attribute in a hive_table. Also entities of types that extend DataSet participate in data transformation and this transformation can be captured by Atlas via lineage (or provenance) graphs.</p>
+<p><b>Process</b>: This type extends Asset. Conceptually, it can be used to represent any data transformation operation. For example, an ETL process that transforms a hive table with raw data to another hive table that stores some aggregate can be a specific type that extends the Process type. A Process type has two specific attributes, inputs and outputs. Both inputs and outputs are arrays of DataSet entities. Thus an instance of a Process type can use these inputs and outputs to capture how the lineage of a DataSet evolves.</p></div>
+        </div>
+    </div>
     <hr/>
-
     <footer>
-            <div class="container">
-              <div class="row span12">Copyright &copy;                    2015-2017
-                        <a href="http://www.apache.org">Apache Software Foundation</a>.
-            All Rights Reserved.      
-                    
+      <div class="container">
+        <div class="row">
+Copyright © 2018 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+        </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>
-
-                          
-                <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>

http://git-wip-us.apache.org/repos/asf/atlas-website/blob/c3e5130b/api/v2/v2/apidocs/application.wadl
----------------------------------------------------------------------
diff --git a/api/v2/v2/apidocs/application.wadl b/api/v2/v2/apidocs/application.wadl
new file mode 100644
index 0000000..8749cb6
--- /dev/null
+++ b/api/v2/v2/apidocs/application.wadl
@@ -0,0 +1,912 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?enunciate-assumed-base-uri ./?>
+<wadl:application xmlns:wadl="http://wadl.dev.java.net/2009/02" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+  <wadl:doc xmlns:enunciate="http://enunciate.webcohesion.com/" enunciate:generatedBy="Enunciate-2.0"/>
+  
+  <wadl:grammars>
+    <wadl:include href="ns0.xsd"/>
+  </wadl:grammars>
+
+  <wadl:resources base="./">
+
+    <wadl:resource path="v2/entity">
+      <wadl:method name="POST">
+        <wadl:doc><![CDATA[Create new entity or update existing entity in Atlas.
+Existing entity is matched using its unique guid if supplied or by its unique attributes eg: qualifiedName]]></wadl:doc>
+        <wadl:request>
+          <wadl:representation mediaType="application/json;charset=UTF-8">
+          </wadl:representation>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[EntityMutationResponse]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/relationship">
+      <wadl:method name="POST">
+        <wadl:doc><![CDATA[Create a new relationship between entities.]]></wadl:doc>
+        <wadl:request>
+          <wadl:representation mediaType="application/json;charset=UTF-8">
+          </wadl:representation>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/relationship">
+      <wadl:method name="PUT">
+        <wadl:doc><![CDATA[Update an existing relationship between entities.]]></wadl:doc>
+        <wadl:request>
+          <wadl:representation mediaType="application/json;charset=UTF-8">
+          </wadl:representation>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/entity/bulk">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Bulk API to retrieve list of entities identified by its GUIDs.]]></wadl:doc>
+        <wadl:request>
+          <wadl:param name="guid" style="query">
+            <wadl:doc><![CDATA[]]></wadl:doc>
+          </wadl:param>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/entity/bulk">
+      <wadl:method name="POST">
+        <wadl:doc><![CDATA[Bulk API to create new entities or update existing entities in Atlas.
+Existing entity is matched using its unique guid if supplied or by its unique attributes eg: qualifiedName]]></wadl:doc>
+        <wadl:request>
+          <wadl:representation mediaType="application/json;charset=UTF-8">
+          </wadl:representation>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/entity/bulk">
+      <wadl:method name="DELETE">
+        <wadl:doc><![CDATA[Bulk API to delete list of entities identified by its GUIDs]]></wadl:doc>
+        <wadl:request>
+          <wadl:param name="guid" style="query">
+            <wadl:doc><![CDATA[]]></wadl:doc>
+          </wadl:param>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/lineage/{guid}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Returns lineage info about entity.]]></wadl:doc>
+        <wadl:request>
+          <wadl:param name="depth" style="query">
+            <wadl:doc><![CDATA[- number of hops for lineage]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="direction" style="query">
+            <wadl:doc><![CDATA[- input, output or both]]></wadl:doc>
+          </wadl:param>
+        </wadl:request>
+        <wadl:response status="400">
+          <wadl:doc><![CDATA[Bad query parameters]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="404">
+          <wadl:doc><![CDATA[If no lineage is found for the given entity]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[AtlasLineageInfo]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[- unique entity id]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/search/attribute">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Retrieve data for the specified attribute search query]]></wadl:doc>
+        <wadl:request>
+          <wadl:param name="attrName" style="query">
+            <wadl:doc><![CDATA[Attribute name]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="attrValuePrefix" style="query">
+            <wadl:doc><![CDATA[Attibute value to search on]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="limit" style="query">
+            <wadl:doc><![CDATA[limit the result set to only include the specified number of entries]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="offset" style="query">
+            <wadl:doc><![CDATA[start offset of the result set (useful for pagination)]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="typeName" style="query">
+            <wadl:doc><![CDATA[limit the result to only entities of specified type or its sub-types]]></wadl:doc>
+          </wadl:param>
+        </wadl:request>
+        <wadl:response status="400">
+          <wadl:doc><![CDATA[Invalid wildcard or query parameters]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[Search results]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/search/basic">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Retrieve data for the specified fulltext query]]></wadl:doc>
+        <wadl:request>
+          <wadl:param name="classification" style="query">
+            <wadl:doc><![CDATA[limit the result to only entities tagged with the given classification or or its sub-types]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="excludeDeletedEntities" style="query">
+            <wadl:doc><![CDATA[]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="limit" style="query">
+            <wadl:doc><![CDATA[limit the result set to only include the specified number of entries]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="offset" style="query">
+            <wadl:doc><![CDATA[start offset of the result set (useful for pagination)]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="query" style="query">
+            <wadl:doc><![CDATA[Fulltext query]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="typeName" style="query">
+            <wadl:doc><![CDATA[limit the result to only entities of specified type or its sub-types]]></wadl:doc>
+          </wadl:param>
+        </wadl:request>
+        <wadl:response status="400">
+          <wadl:doc><![CDATA[Invalid fulltext or query parameters]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[Search results]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/search/basic">
+      <wadl:method name="POST">
+        <wadl:doc><![CDATA[Attribute based search for entities satisfying the search parameters]]></wadl:doc>
+        <wadl:request>
+          <wadl:doc><![CDATA[Search parameters]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8">
+          </wadl:representation>
+        </wadl:request>
+        <wadl:response status="400">
+          <wadl:doc><![CDATA[Tag/Entity doesn't exist or Tag/entity filter is present without tag/type name]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[Atlas search result]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/search/dsl">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Retrieve data for the specified DSL]]></wadl:doc>
+        <wadl:request>
+          <wadl:param name="classification" style="query">
+            <wadl:doc><![CDATA[limit the result to only entities tagged with the given classification or or its sub-types]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="limit" style="query">
+            <wadl:doc><![CDATA[limit the result set to only include the specified number of entries]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="offset" style="query">
+            <wadl:doc><![CDATA[start offset of the result set (useful for pagination)]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="query" style="query">
+            <wadl:doc><![CDATA[DSL query]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="typeName" style="query">
+            <wadl:doc><![CDATA[limit the result to only entities of specified type or its sub-types]]></wadl:doc>
+          </wadl:param>
+        </wadl:request>
+        <wadl:response status="400">
+          <wadl:doc><![CDATA[Invalid DSL or query parameters]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[Search results]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/search/fulltext">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Retrieve data for the specified fulltext query]]></wadl:doc>
+        <wadl:request>
+          <wadl:param name="excludeDeletedEntities" style="query">
+            <wadl:doc><![CDATA[]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="limit" style="query">
+            <wadl:doc><![CDATA[limit the result set to only include the specified number of entries]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="offset" style="query">
+            <wadl:doc><![CDATA[start offset of the result set (useful for pagination)]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="query" style="query">
+            <wadl:doc><![CDATA[Fulltext query]]></wadl:doc>
+          </wadl:param>
+        </wadl:request>
+        <wadl:response status="400">
+          <wadl:doc><![CDATA[Invalid fulltext or query parameters]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[Search results]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/search/relationship">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Relationship search to search for related entities satisfying the search parameters]]></wadl:doc>
+        <wadl:request>
+          <wadl:param name="excludeDeletedEntities" style="query">
+            <wadl:doc><![CDATA[]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="guid" style="query">
+            <wadl:doc><![CDATA[Attribute name]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="limit" style="query">
+            <wadl:doc><![CDATA[limit the result set to only include the specified number of entries]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="offset" style="query">
+            <wadl:doc><![CDATA[start offset of the result set (useful for pagination)]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="relation" style="query">
+            <wadl:doc><![CDATA[relationName]]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="sortBy" style="query">
+            <wadl:doc><![CDATA[sort the result using this attribute name, default value is 'name']]></wadl:doc>
+          </wadl:param>
+          <wadl:param name="sortOrder" style="query">
+            <wadl:doc><![CDATA[sorting order]]></wadl:doc>
+          </wadl:param>
+        </wadl:request>
+        <wadl:response status="400">
+          <wadl:doc><![CDATA[guid is not a valid entity type or attributeName is not a valid relationship attribute]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[Atlas search result]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/search/saved">
+      <wadl:method name="POST">
+        <wadl:doc><![CDATA[]]></wadl:doc>
+        <wadl:request>
+          <wadl:representation mediaType="application/json;charset=UTF-8">
+          </wadl:representation>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[the saved search-object]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/search/saved">
+      <wadl:method name="PUT">
+        <wadl:doc><![CDATA[]]></wadl:doc>
+        <wadl:request>
+          <wadl:representation mediaType="application/json;charset=UTF-8">
+          </wadl:representation>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[the updated search-object]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/search/saved">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[]]></wadl:doc>
+        <wadl:request>
+          <wadl:param name="user" style="query">
+            <wadl:doc><![CDATA[User for whom the search is retrieved]]></wadl:doc>
+          </wadl:param>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[list of all saved searches for given user]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/typedefs">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Bulk retrieval API for retrieving all type definitions in Atlas]]></wadl:doc>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[A composite wrapper object with lists of all type definitions]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/typedefs">
+      <wadl:method name="POST">
+        <wadl:doc><![CDATA[Bulk create APIs for all atlas type definitions, only new definitions will be created.
+Any changes to the existing definitions will be discarded]]></wadl:doc>
+        <wadl:request>
+          <wadl:doc><![CDATA[A composite wrapper object with corresponding lists of the type definition]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8">
+          </wadl:representation>
+        </wadl:request>
+        <wadl:response status="400">
+          <wadl:doc><![CDATA[On validation failure for any type definitions]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[A composite wrapper object with lists of type definitions that were successfully
+created]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/typedefs">
+      <wadl:method name="PUT">
+        <wadl:doc><![CDATA[Bulk update API for all types, changes detected in the type definitions would be persisted]]></wadl:doc>
+        <wadl:request>
+          <wadl:doc><![CDATA[A composite object that captures all type definition changes]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8">
+          </wadl:representation>
+        </wadl:request>
+        <wadl:response status="400">
+          <wadl:doc><![CDATA[On validation failure for any type definitions]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[A composite object with lists of type definitions that were updated]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/typedefs">
+      <wadl:method name="DELETE">
+        <wadl:doc><![CDATA[Bulk delete API for all types]]></wadl:doc>
+        <wadl:request>
+          <wadl:doc><![CDATA[A composite object that captures all types to be deleted]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8">
+          </wadl:representation>
+        </wadl:request>
+        <wadl:response status="400">
+          <wadl:doc><![CDATA[On validation failure for any type definitions]]></wadl:doc>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/entity/bulk/classification">
+      <wadl:method name="POST">
+        <wadl:doc><![CDATA[Bulk API to associate a tag to multiple entities]]></wadl:doc>
+        <wadl:request>
+          <wadl:representation mediaType="application/json">
+          </wadl:representation>
+          <wadl:representation mediaType="application/json;charset=UTF-8">
+          </wadl:representation>
+        </wadl:request>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/entity/guid/{guid}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Fetch complete definition of an entity given its GUID.]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[AtlasEntity]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[GUID for the entity]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/entity/guid/{guid}">
+      <wadl:method name="PUT">
+        <wadl:doc><![CDATA[Entity Partial Update - Add/Update entity attribute identified by its GUID.
+Supports only uprimitive attribute type and entity references.
+does not support updation of complex types like arrays, maps
+Null updates are not possible]]></wadl:doc>
+        <wadl:request>
+          <wadl:representation mediaType="application/json;charset=UTF-8">
+          </wadl:representation>
+          <wadl:param name="name" style="query">
+            <wadl:doc><![CDATA[]]></wadl:doc>
+          </wadl:param>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/entity/guid/{guid}">
+      <wadl:method name="DELETE">
+        <wadl:doc><![CDATA[Delete an entity identified by its GUID.]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[EntityMutationResponse]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[GUID for the entity]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/relationship/guid/{guid}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Get relationship information between entities using guid.]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/relationship/guid/{guid}">
+      <wadl:method name="DELETE">
+        <wadl:doc><![CDATA[Delete a relationship between entities using guid.]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/search/saved/{guid}">
+      <wadl:method name="DELETE">
+        <wadl:doc><![CDATA[]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[Name of the saved search]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/search/saved/{name}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[]]></wadl:doc>
+        <wadl:request>
+          <wadl:param name="user" style="query">
+            <wadl:doc><![CDATA[User for whom the search is retrieved]]></wadl:doc>
+          </wadl:param>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="name" style="template">
+        <wadl:doc><![CDATA[Name of the saved search]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/typedefs/headers">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Bulk retrieval API for all type definitions returned as a list of minimal information header]]></wadl:doc>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[List of AtlasTypeDefHeader AtlasTypeDefHeader]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+    </wadl:resource>
+
+    <wadl:resource path="v2/entity/guid/{guid}/classifications">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Gets the list of classifications for a given entity represented by a guid.]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[a list of classifications for the given entity guid]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[globally unique identifier for the entity]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/entity/guid/{guid}/classifications">
+      <wadl:method name="POST">
+        <wadl:doc><![CDATA[Adds classifications to an existing entity represented by a guid.]]></wadl:doc>
+        <wadl:request>
+          <wadl:representation mediaType="application/json">
+          </wadl:representation>
+          <wadl:representation mediaType="application/json;charset=UTF-8">
+          </wadl:representation>
+        </wadl:request>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[globally unique identifier for the entity]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/entity/guid/{guid}/classifications">
+      <wadl:method name="PUT">
+        <wadl:doc><![CDATA[Updates classifications to an existing entity represented by a guid.]]></wadl:doc>
+        <wadl:request>
+          <wadl:representation mediaType="application/json">
+          </wadl:representation>
+          <wadl:representation mediaType="application/xml" element="atlasClassification">
+          </wadl:representation>
+        </wadl:request>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[globally unique identifier for the entity]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/entity/uniqueAttribute/type/{typeName}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Fetch complete definition of an entity given its type and unique attribute.]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[AtlasEntityWithExtInfo]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="typeName" style="template">
+        <wadl:doc><![CDATA[]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/entity/uniqueAttribute/type/{typeName}">
+      <wadl:method name="PUT">
+        <wadl:doc><![CDATA[Entity Partial Update - Allows a subset of attributes to be updated on
+an entity which is identified by its type and unique attribute  eg: Referenceable.qualifiedName.
+Null updates are not possible]]></wadl:doc>
+        <wadl:request>
+          <wadl:representation mediaType="application/json;charset=UTF-8">
+          </wadl:representation>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="typeName" style="template">
+        <wadl:doc><![CDATA[]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/entity/uniqueAttribute/type/{typeName}">
+      <wadl:method name="DELETE">
+        <wadl:doc><![CDATA[Delete an entity identified by its type and unique attributes.]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[EntityMutationResponse]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="typeName" style="template">
+        <wadl:doc><![CDATA[- entity type to be deleted]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/search/saved/execute/{name}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Attribute based search for entities satisfying the search parameters]]></wadl:doc>
+        <wadl:request>
+          <wadl:param name="user" style="query">
+            <wadl:doc><![CDATA[saved-search owner]]></wadl:doc>
+          </wadl:param>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[Atlas search result]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="name" style="template">
+        <wadl:doc><![CDATA[name of saved-search]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/classificationdef/guid/{guid}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Get the classification definition for the given guid]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response status="404">
+          <wadl:doc><![CDATA[On Failed lookup for the given guid]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[classification definition]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[classification guid]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/classificationdef/name/{name}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Get the classification definition by it's name (unique)]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response status="404">
+          <wadl:doc><![CDATA[On Failed lookup for the given name]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[classification definition]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="name" style="template">
+        <wadl:doc><![CDATA[classification name]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/entitydef/guid/{guid}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Get the Entity definition for the given guid]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response status="404">
+          <wadl:doc><![CDATA[On Failed lookup for the given guid]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[Entity definition]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[entity guid]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/entitydef/name/{name}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Get the entity definition by it's name (unique)]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response status="404">
+          <wadl:doc><![CDATA[On Failed lookup for the given name]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[Entity definition]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="name" style="template">
+        <wadl:doc><![CDATA[entity name]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/enumdef/guid/{guid}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Get the enum definition for the given guid]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response status="404">
+          <wadl:doc><![CDATA[On Failed lookup for the given guid]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[enum definition]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[enum guid]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/enumdef/name/{name}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Get the enum definition by it's name (unique)]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response status="404">
+          <wadl:doc><![CDATA[On Failed lookup for the given name]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[enum definition]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="name" style="template">
+        <wadl:doc><![CDATA[enum name]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/relationshipdef/guid/{guid}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Get the relationship definition for the given guid]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response status="404">
+          <wadl:doc><![CDATA[On Failed lookup for the given guid]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[relationship definition]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[relationship guid]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/relationshipdef/name/{name}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Get the relationship definition by it's name (unique)]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response status="404">
+          <wadl:doc><![CDATA[On Failed lookup for the given name]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[relationship definition]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="name" style="template">
+        <wadl:doc><![CDATA[relationship name]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/structdef/guid/{guid}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Get the struct definition for the given guid]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response status="404">
+          <wadl:doc><![CDATA[On Failed lookup for the given guid]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[struct definition]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[struct guid]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/structdef/name/{name}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Get the struct definition by it's name (unique)]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response status="404">
+          <wadl:doc><![CDATA[On Failed lookup for the given name]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[struct definition]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="name" style="template">
+        <wadl:doc><![CDATA[struct name]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/typedef/guid/{guid}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response status="404">
+          <wadl:doc><![CDATA[Failed lookup]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[Type definition]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[GUID of the type]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/types/typedef/name/{name}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Get type definition by it's name]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response status="404">
+          <wadl:doc><![CDATA[Failed lookup by name]]></wadl:doc>
+        </wadl:response>
+        <wadl:response status="200">
+          <wadl:doc><![CDATA[Type definition]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="name" style="template">
+        <wadl:doc><![CDATA[Type name]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/entity/guid/{guid}/classification/{classificationName}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Gets the list of classifications for a given entity represented by a guid.]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[classification for the given entity guid]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="classificationName" style="template">
+        <wadl:doc><![CDATA[]]></wadl:doc>
+      </wadl:param>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[globally unique identifier for the entity]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/entity/guid/{guid}/classification/{classificationName}">
+      <wadl:method name="DELETE">
+        <wadl:doc><![CDATA[Deletes a given classification from an existing entity represented by a guid.]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+      </wadl:method>
+      <wadl:param name="classificationName" style="template">
+        <wadl:doc><![CDATA[name of the classifcation]]></wadl:doc>
+      </wadl:param>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[globally unique identifier for the entity]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+
+    <wadl:resource path="v2/search/saved/execute/guid/{guid}">
+      <wadl:method name="GET">
+        <wadl:doc><![CDATA[Attribute based search for entities satisfying the search parameters]]></wadl:doc>
+        <wadl:request>
+        </wadl:request>
+        <wadl:response>
+          <wadl:doc><![CDATA[Atlas search result]]></wadl:doc>
+          <wadl:representation mediaType="application/json;charset=UTF-8"/>
+        </wadl:response>
+      </wadl:method>
+      <wadl:param name="guid" style="template">
+        <wadl:doc><![CDATA[Guid identifying saved search]]></wadl:doc>
+      </wadl:param>
+    </wadl:resource>
+  </wadl:resources>
+</wadl:application>

http://git-wip-us.apache.org/repos/asf/atlas-website/blob/c3e5130b/api/v2/v2/apidocs/css/enunciate.css
----------------------------------------------------------------------
diff --git a/api/v2/v2/apidocs/css/enunciate.css b/api/v2/v2/apidocs/css/enunciate.css
new file mode 100644
index 0000000..140d3b3
--- /dev/null
+++ b/api/v2/v2/apidocs/css/enunciate.css
@@ -0,0 +1,122 @@
+/*
+ * Base structure
+ */
+
+/* Move down content because we have a fixed navbar that is 50px tall */
+body {
+    position:relative;
+    padding-top: 50px;
+}
+
+.footer {
+    width: 100%;
+    /* Set the fixed height of the footer here */
+    height: 60px;
+    background-color: #f5f5f5;
+}
+
+/*
+ * Global add-ons
+ */
+.sub-header {
+    padding-bottom: 10px;
+    border-bottom: 1px solid #eee;
+}
+
+/*
+ * Sidebar
+ */
+
+/* Hide for mobile, show later */
+.sidebar {
+    display: none;
+}
+@media (min-width: 768px) {
+    .sidebar {
+        position: fixed;
+        top: 51px;
+        bottom: 0;
+        left: 0;
+        z-index: 1000;
+        display: block;
+        padding: 20px;
+        overflow-x: hidden;
+        overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
+        background-color: #f5f5f5;
+        border-right: 1px solid #eee;
+    }
+}
+
+/* Sidebar navigation */
+.nav-sidebar {
+    margin-right: -21px; /* 20px padding + 1px border */
+    margin-bottom: 20px;
+    margin-left: -20px;
+}
+.nav-sidebar > li > a {
+    padding-right: 20px;
+    padding-left: 20px;
+}
+.sideoverflow {
+    display: block;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    overflow: hidden;
+    max-width:100%;
+}
+.nav-sidebar > .active > a,
+.nav-sidebar > .active > a:hover,
+.nav-sidebar > .active > a:focus {
+    color: #fff;
+    background-color: #428bca;
+}
+
+/*
+ * Main content
+ */
+.main {
+    padding: 20px;
+}
+@media (min-width: 768px) {
+    .main {
+        padding-right: 40px;
+        padding-left: 40px;
+    }
+}
+.main .page-header {
+    margin-top: 0;
+}
+.footer > .container {
+    padding-top: 20px;
+    text-align: center;
+}
+
+/*
+ * Row Links
+ */
+.table.rowlink td:not(.rowlink-skip),
+.table .rowlink td:not(.rowlink-skip) {
+    cursor: pointer;
+}
+.table.rowlink td:not(.rowlink-skip) a,
+.table .rowlink td:not(.rowlink-skip) a {
+    font: inherit;
+    color: inherit;
+    text-decoration: inherit;
+}
+.multi-row-description {
+    border-left: 1px solid #DDD;
+}
+
+pre {
+    max-height: 40em;
+}
+
+/* shift the anchors to accommodate fixed navbar. See https://github.com/twbs/bootstrap/issues/1768#issuecomment-46519033 */
+*[id]:before {
+    display: block;
+    content: " ";
+    margin-top: -70px;
+    height: 70px;
+    visibility: hidden;
+}

http://git-wip-us.apache.org/repos/asf/atlas-website/blob/c3e5130b/api/v2/v2/apidocs/data.html
----------------------------------------------------------------------
diff --git a/api/v2/v2/apidocs/data.html b/api/v2/v2/apidocs/data.html
new file mode 100644
index 0000000..3084600
--- /dev/null
+++ b/api/v2/v2/apidocs/data.html
@@ -0,0 +1,204 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+
+  <title>Atlas REST API: Data Types</title>
+
+  <!-- Mobile viewport optimized: j.mp/bplateviewport -->
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+  <!-- Bootstrap core CSS -->
+  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
+
+  <!--custom css for these pages-->
+  <link rel="stylesheet" href="css/enunciate.css">
+
+  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+  <!--[if lt IE 9]>
+  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+  <![endif]-->
+</head>
+
+<body data-spy="scroll" data-target="#apinav">
+
+  <nav class="navbar navbar-inverse navbar-fixed-top">
+    <div class="container-fluid">
+      <div class="navbar-header">
+        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
+          <span class="sr-only">Toggle navigation</span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+        </button>
+        <a class="navbar-brand" href="index.html">Atlas REST API: Data Types</a>
+      </div>
+      <div id="navbar" class="navbar-collapse collapse">
+        <ul class="nav navbar-nav navbar-right">
+          <li><a href="resources.html">Resources</a></li>
+          <li><a href="data.html">Data Types</a></li>
+        </ul>
+      </div>
+    </div>
+  </nav>
+
+  <div class="container-fluid">
+    <div class="row">
+      <div class="col-sm-3 col-md-2 sidebar" id="apinav">
+        <ul class="nav nav-sidebar">
+          <li><a href="#syntax_json"><abbr title="JSON"><span class="sideoverflow">JSON</span></abbr></a></li>
+          <li><a href="#syntax_xml"><abbr title="XML"><span class="sideoverflow">XML</span></abbr></a></li>
+          <li class="divider"></li>
+          <li class="text-right"><a href="#top"><small>Back to Top</small></a></li>
+        </ul>
+      </div>
+
+      <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
+        <ol class="breadcrumb" id="top">
+          <li class="active dropdown"><a href="index.html">Home</a></li>
+          <li class="dropdown"><a href="data.html">Data Types</a></li>
+        </ol>
+
+  <h1 class="page-header" id="data">Data Types</h1>
+
+  <h3 id="syntax_json">JSON</h3>
+
+  <table class="table table-hover data-types">
+  <thead>
+    <tr>
+      <th align="center">type</th>
+      <th align="center">description</th>
+    </tr>
+  </thead>
+  <tbody data-link="row" class="rowlink">
+    <tr class="clickable-row" data-href="json_AtlasBaseModelObject.html">
+      <td>  <span class="datatype-name">AtlasBaseModelObject</span>
+</td>
+      <td>  <span class="datatype-description"></span>
+</td>
+    </tr>
+    <tr class="clickable-row" data-href="json_AtlasClassification.html">
+      <td>  <span class="datatype-name">AtlasClassification</span>
+</td>
+      <td>  <span class="datatype-description">An instance of a classification; it doesn't have an identity, this object exists only when associated with an entity.</span>
+</td>
+    </tr>
+    <tr class="clickable-row" data-href="json_AtlasStruct.html">
+      <td>  <span class="datatype-name">AtlasStruct</span>
+</td>
+      <td>  <span class="datatype-description">Captures details of struct contents. Not instantiated directly, used only via AtlasEntity, AtlasClassification.</span>
+</td>
+    </tr>
+    <tr class="clickable-row" data-href="json_ClassificationAssociateRequest.html">
+      <td>  <span class="datatype-name">ClassificationAssociateRequest</span>
+</td>
+      <td>  <span class="datatype-description"></span>
+</td>
+    </tr>
+    <tr class="clickable-row" data-href="json_PList.html">
+      <td>  <span class="datatype-name">PList</span>
+</td>
+      <td>  <span class="datatype-description">Paginated-list, for returning search results.</span>
+</td>
+    </tr>
+    <tr class="clickable-row" data-href="json_SearchFilter.html">
+      <td>  <span class="datatype-name">SearchFilter</span>
+</td>
+      <td>  <span class="datatype-description">Generic filter, to specify search criteria using name/value pairs.</span>
+</td>
+    </tr>
+    <tr class="clickable-row" data-href="json_SortType.html">
+      <td>  <span class="datatype-name">SortType</span>
+</td>
+      <td>  <span class="datatype-description">to specify whether the result should be sorted? If yes, whether asc or desc.</span>
+</td>
+    </tr>
+  </tbody>
+  </table>
+
+  <h3 id="syntax_xml">XML</h3>
+
+  <table class="table table-hover data-types">
+  <caption>Default Namespace  (<a href="ns0.xsd">schema</a>)</caption>
+  <thead>
+    <tr>
+      <th align="center">type</th>
+      <th align="center">description</th>
+    </tr>
+  </thead>
+  <tbody data-link="row" class="rowlink">
+    <tr class="clickable-row" data-href="xml_ns0_atlasBaseModelObject.html">
+      <td>  <span class="datatype-name">atlasBaseModelObject</span>
+</td>
+      <td>  <span class="datatype-description"></span>
+</td>
+    </tr>
+    <tr class="clickable-row" data-href="xml_ns0_PList.html">
+      <td>  <span class="datatype-name">PList</span>
+</td>
+      <td>  <span class="datatype-description">Paginated-list, for returning search results.</span>
+</td>
+    </tr>
+    <tr class="clickable-row" data-href="xml_ns0_searchFilter.html">
+      <td>  <span class="datatype-name">searchFilter</span>
+</td>
+      <td>  <span class="datatype-description">Generic filter, to specify search criteria using name/value pairs.</span>
+</td>
+    </tr>
+    <tr class="clickable-row" data-href="xml_ns0_sortType.html">
+      <td>  <span class="datatype-name">sortType</span>
+</td>
+      <td>  <span class="datatype-description">to specify whether the result should be sorted? If yes, whether asc or desc.</span>
+</td>
+    </tr>
+    <tr class="clickable-row" data-href="xml_ns0_atlasClassification.html">
+      <td>  <span class="datatype-name">atlasClassification</span>
+</td>
+      <td>  <span class="datatype-description">An instance of a classification; it doesn't have an identity, this object exists only when associated with an entity.</span>
+</td>
+    </tr>
+    <tr class="clickable-row" data-href="xml_ns0_atlasStruct.html">
+      <td>  <span class="datatype-name">atlasStruct</span>
+</td>
+      <td>  <span class="datatype-description">Captures details of struct contents. Not instantiated directly, used only via AtlasEntity, AtlasClassification.</span>
+</td>
+    </tr>
+  </tbody>
+  </table>
+
+        <footer class="footer">
+          <div class="container">
+            <p class="text-muted">Generated by <a href="http://enunciate.webcohesion.com">Enunciate</a>.</p>
+          </div>
+        </footer>
+
+      </div>
+    </div>
+  </div>
+
+
+  <!-- JavaScript placed at the end of the document so the pages load faster. -->
+  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
+
+  <!-- Bootstrap core JavaScript
+  ================================================== -->
+  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
+
+  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
+  <script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js" type="text/javascript"></script>
+  <script>
+    $(function() {
+      $(".clickable-row").click(function() {
+        window.document.location = $(this).data("href");
+      });
+
+      $('[data-toggle="tooltip"]').tooltip()
+    });
+  </script>
+
+</body>
+</html>