Merge remote-tracking branch 'origin/master' into apm
diff --git a/sdks/swift/UsergridSDK.podspec b/UsergridSDK.podspec
similarity index 96%
rename from sdks/swift/UsergridSDK.podspec
rename to UsergridSDK.podspec
index a4ee606..136ecd5 100644
--- a/sdks/swift/UsergridSDK.podspec
+++ b/UsergridSDK.podspec
@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name = 'UsergridSDK'
-  s.version = '2.1.0'
+  s.version = '2.1.1'
   s.summary = 'Usergrid SDK written in Swift'
   s.homepage = 'https://github.com/apache/usergrid/tree/master/sdks/swift'
   s.license = 'Apache 2.0'
diff --git a/content/community/index.html b/content/community/index.html
index 2ff02f8..0a27b5ea 100644
--- a/content/community/index.html
+++ b/content/community/index.html
@@ -565,8 +565,7 @@
         </div> 
         <div class="row">
             <div id="copyright">
-                <img src="/img/egg-logo.png" /><br/><br/>
-                <p>Copyright © 2013 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.<br>
+                <p>Copyright © The Apache Software Foundation, Licensed under the Apache License, Version 2.0.<br>
                 Apache and the Apache feather logos are trademarks of The Apache Software Foundation.</p>
                 <p class="credits">Site designed & assembled with love by <a href="https://github.com/ryuneeee">@ryuneeee</a> + <a href="https://github.com/realbeast">@realbeast</a> + <a href="https://twitter.com/timanglade">@timanglade</a> + <a href="https://twitter.com/snoopdave">@snoopdave</a> .</p>
             </div>
diff --git a/content/docs/README.html b/content/docs/README.html
index 78f090b..aab88cd 100644
--- a/content/docs/README.html
+++ b/content/docs/README.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Apache Usergrid Documentation &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Apache Usergrid Documentation &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="index.html"/> 
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="index.html"/> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -57,7 +57,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -357,7 +357,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/assets-and-files/file-storage-configuration.html b/content/docs/assets-and-files/file-storage-configuration.html
index 464b11a..cc20aba 100644
--- a/content/docs/assets-and-files/file-storage-configuration.html
+++ b/content/docs/assets-and-files/file-storage-configuration.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>File storage configuration &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>File storage configuration &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/> 
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/> 
 
   
   <script src="../_static/js/modernizr.min.js"></script>
@@ -57,7 +57,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -303,7 +303,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/assets-and-files/folders.html b/content/docs/assets-and-files/folders.html
index 1dbab98..1ca8653 100644
--- a/content/docs/assets-and-files/folders.html
+++ b/content/docs/assets-and-files/folders.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Folders &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Folders &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Counters &amp; events" href="../counters-and-events/events-and-counters.html"/>
         <link rel="prev" title="Retrieving assets" href="retrieving-assets.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -372,7 +372,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/assets-and-files/legacy-asset-support.html b/content/docs/assets-and-files/legacy-asset-support.html
index 806ead0..10b8c7e 100644
--- a/content/docs/assets-and-files/legacy-asset-support.html
+++ b/content/docs/assets-and-files/legacy-asset-support.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>&lt;no title&gt; &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>&lt;no title&gt; &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/> 
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/> 
 
   
   <script src="../_static/js/modernizr.min.js"></script>
@@ -57,7 +57,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -261,7 +261,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/assets-and-files/retrieving-assets.html b/content/docs/assets-and-files/retrieving-assets.html
index 718464d..1c10936 100644
--- a/content/docs/assets-and-files/retrieving-assets.html
+++ b/content/docs/assets-and-files/retrieving-assets.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Retrieving assets &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Retrieving assets &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Folders" href="folders.html"/>
         <link rel="prev" title="Uploading assets" href="uploading-assets.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -340,7 +340,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/assets-and-files/uploading-assets.html b/content/docs/assets-and-files/uploading-assets.html
index 1d84692..1118ebd 100644
--- a/content/docs/assets-and-files/uploading-assets.html
+++ b/content/docs/assets-and-files/uploading-assets.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Uploading assets &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Uploading assets &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Retrieving assets" href="retrieving-assets.html"/>
         <link rel="prev" title="Geolocating your Entities" href="../geolocation/geolocation.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -400,7 +400,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/counters-and-events/creating-and-incrementing-counters.html b/content/docs/counters-and-events/creating-and-incrementing-counters.html
index cfe9727..2f7d0ae 100644
--- a/content/docs/counters-and-events/creating-and-incrementing-counters.html
+++ b/content/docs/counters-and-events/creating-and-incrementing-counters.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Creating &amp; incrementing counters &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Creating &amp; incrementing counters &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Retrieving counters" href="retrieving-counters.html"/>
         <link rel="prev" title="Counters &amp; events" href="events-and-counters.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -390,7 +390,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/counters-and-events/events-and-counters.html b/content/docs/counters-and-events/events-and-counters.html
index 5f79f10..a1663cc 100644
--- a/content/docs/counters-and-events/events-and-counters.html
+++ b/content/docs/counters-and-events/events-and-counters.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Counters &amp; events &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Counters &amp; events &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Creating &amp; incrementing counters" href="creating-and-incrementing-counters.html"/>
         <link rel="prev" title="Folders" href="../assets-and-files/folders.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -287,7 +287,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/counters-and-events/retrieving-counters.html b/content/docs/counters-and-events/retrieving-counters.html
index 7510b7b..a5d5aab 100644
--- a/content/docs/counters-and-events/retrieving-counters.html
+++ b/content/docs/counters-and-events/retrieving-counters.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Retrieving counters &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Retrieving counters &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Organization &amp; application management" href="../orgs-and-apps/managing.html"/>
         <link rel="prev" title="Creating &amp; incrementing counters" href="creating-and-incrementing-counters.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -442,7 +442,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/data-queries/advanced-query-usage.html b/content/docs/data-queries/advanced-query-usage.html
index a901d82..c603613 100644
--- a/content/docs/data-queries/advanced-query-usage.html
+++ b/content/docs/data-queries/advanced-query-usage.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Advanced query usage &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Advanced query usage &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Connecting entities" href="../entity-connections/connecting-entities.html"/>
         <link rel="prev" title="Query operators &amp; data types" href="operators-and-types.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -305,7 +305,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/data-queries/operators-and-types.html b/content/docs/data-queries/operators-and-types.html
index c66f626..e9ca61c 100644
--- a/content/docs/data-queries/operators-and-types.html
+++ b/content/docs/data-queries/operators-and-types.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Query operators &amp; data types &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Query operators &amp; data types &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Advanced query usage" href="advanced-query-usage.html"/>
         <link rel="prev" title="Query parameters &amp; clauses" href="query-parameters.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -464,7 +464,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/data-queries/query-parameters.html b/content/docs/data-queries/query-parameters.html
index cb812b8..e1e754f 100644
--- a/content/docs/data-queries/query-parameters.html
+++ b/content/docs/data-queries/query-parameters.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Query parameters &amp; clauses &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Query parameters &amp; clauses &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Query operators &amp; data types" href="operators-and-types.html"/>
         <link rel="prev" title="Querying your data" href="querying-your-data.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -496,7 +496,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/data-queries/querying-your-data.html b/content/docs/data-queries/querying-your-data.html
index 1c68fff..83afa63 100644
--- a/content/docs/data-queries/querying-your-data.html
+++ b/content/docs/data-queries/querying-your-data.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Querying your data &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Querying your data &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Query parameters &amp; clauses" href="query-parameters.html"/>
         <link rel="prev" title="Entities" href="../data-storage/entities.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -437,7 +437,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/data-storage/collections.html b/content/docs/data-storage/collections.html
index e35c99b..be72bfb 100644
--- a/content/docs/data-storage/collections.html
+++ b/content/docs/data-storage/collections.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Collections &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Collections &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Entities" href="entities.html"/>
         <link rel="prev" title="Data Store Best Practices" href="optimizing-access.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -662,7 +662,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/data-storage/data-store-dbms.html b/content/docs/data-storage/data-store-dbms.html
index ab7b7a7..7bd80e4 100644
--- a/content/docs/data-storage/data-store-dbms.html
+++ b/content/docs/data-storage/data-store-dbms.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>The Usergrid Data Store &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>The Usergrid Data Store &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Data Store Best Practices" href="optimizing-access.html"/>
         <link rel="prev" title="Using the API" href="../using-usergrid/using-the-api.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -407,7 +407,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/data-storage/entities.html b/content/docs/data-storage/entities.html
index 9ff0a77..efb1056 100644
--- a/content/docs/data-storage/entities.html
+++ b/content/docs/data-storage/entities.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Entities &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Entities &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Querying your data" href="../data-queries/querying-your-data.html"/>
         <link rel="prev" title="Collections" href="collections.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -1007,7 +1007,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/data-storage/optimizing-access.html b/content/docs/data-storage/optimizing-access.html
index 97955d5..33eadcd 100644
--- a/content/docs/data-storage/optimizing-access.html
+++ b/content/docs/data-storage/optimizing-access.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Data Store Best Practices &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Data Store Best Practices &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Collections" href="collections.html"/>
         <link rel="prev" title="The Usergrid Data Store" href="data-store-dbms.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -541,7 +541,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/entity-connections/connecting-entities.html b/content/docs/entity-connections/connecting-entities.html
index ef308ca..48041a7 100644
--- a/content/docs/entity-connections/connecting-entities.html
+++ b/content/docs/entity-connections/connecting-entities.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Connecting entities &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Connecting entities &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Retrieving connections" href="retrieving-entities.html"/>
         <link rel="prev" title="Advanced query usage" href="../data-queries/advanced-query-usage.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -362,7 +362,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/entity-connections/disconnecting-entities.html b/content/docs/entity-connections/disconnecting-entities.html
index 209c86a..85aabab 100644
--- a/content/docs/entity-connections/disconnecting-entities.html
+++ b/content/docs/entity-connections/disconnecting-entities.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Disconnecting entities &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Disconnecting entities &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Push notifications overview" href="../push-notifications/overview.html"/>
         <link rel="prev" title="Retrieving connections" href="retrieving-entities.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -379,7 +379,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/entity-connections/retrieving-entities.html b/content/docs/entity-connections/retrieving-entities.html
index 00699ca..3af28af 100644
--- a/content/docs/entity-connections/retrieving-entities.html
+++ b/content/docs/entity-connections/retrieving-entities.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Retrieving connections &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Retrieving connections &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Disconnecting entities" href="disconnecting-entities.html"/>
         <link rel="prev" title="Connecting entities" href="connecting-entities.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -403,7 +403,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/genindex.html b/content/docs/genindex.html
index 03ecbcb..b8bfa4f 100644
--- a/content/docs/genindex.html
+++ b/content/docs/genindex.html
@@ -9,7 +9,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Index &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Index &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -31,7 +31,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="index.html"/> 
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="index.html"/> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -58,7 +58,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -266,7 +266,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/geolocation/geolocation.html b/content/docs/geolocation/geolocation.html
index bb66dc2..8779bc4 100644
--- a/content/docs/geolocation/geolocation.html
+++ b/content/docs/geolocation/geolocation.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Geolocating your Entities &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Geolocating your Entities &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Uploading assets" href="../assets-and-files/uploading-assets.html"/>
         <link rel="prev" title="App Example - Messagee" href="../user-management/messagee-example.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -397,7 +397,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/index.html b/content/docs/index.html
index a77a322..6d2f2b4 100644
--- a/content/docs/index.html
+++ b/content/docs/index.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Apache Usergrid Documentation &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Apache Usergrid Documentation &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="#"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="#"/>
         <link rel="next" title="Getting Started" href="introduction/overview.html"/> 
 
   
@@ -58,7 +58,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -789,7 +789,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/installation/deployment-guide.html b/content/docs/installation/deployment-guide.html
index 847ee82..49bf2d6 100644
--- a/content/docs/installation/deployment-guide.html
+++ b/content/docs/installation/deployment-guide.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Usergrid 2.1.0 Deployment Guide &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Usergrid 2.1.0 Deployment Guide &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Presentations &amp; Videos" href="../reference/presos-and-videos.html"/>
         <link rel="prev" title="COMING SOON..." href="../sdks/tbd.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -804,7 +804,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/installation/ug1-deploy-to-tomcat.html b/content/docs/installation/ug1-deploy-to-tomcat.html
index f6358b9..916990f 100644
--- a/content/docs/installation/ug1-deploy-to-tomcat.html
+++ b/content/docs/installation/ug1-deploy-to-tomcat.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Usegrid 1: Deploying to Tomcat &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Usegrid 1: Deploying to Tomcat &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/> 
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/> 
 
   
   <script src="../_static/js/modernizr.min.js"></script>
@@ -57,7 +57,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -465,7 +465,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/installation/ug1-launcher-quick-start.html b/content/docs/installation/ug1-launcher-quick-start.html
index cc25cbb..d9925e2 100644
--- a/content/docs/installation/ug1-launcher-quick-start.html
+++ b/content/docs/installation/ug1-launcher-quick-start.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Usegrid 1: Launcher Quick-start &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Usegrid 1: Launcher Quick-start &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/> 
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/> 
 
   
   <script src="../_static/js/modernizr.min.js"></script>
@@ -57,7 +57,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -349,7 +349,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/installation/ug2-deploy-to-tomcat.html b/content/docs/installation/ug2-deploy-to-tomcat.html
index 6d49281..353abed 100644
--- a/content/docs/installation/ug2-deploy-to-tomcat.html
+++ b/content/docs/installation/ug2-deploy-to-tomcat.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Usergrid 2: Deploy to Tomcat &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Usergrid 2: Deploy to Tomcat &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/> 
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/> 
 
   
   <script src="../_static/js/modernizr.min.js"></script>
@@ -57,7 +57,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -478,7 +478,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/introduction/async-vs-sync.html b/content/docs/introduction/async-vs-sync.html
index 55a6cbb..e9b9877 100644
--- a/content/docs/introduction/async-vs-sync.html
+++ b/content/docs/introduction/async-vs-sync.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Async vs. sync calls &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Async vs. sync calls &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Creating a Usergrid Account" href="../using-usergrid/creating-account.html"/>
         <link rel="prev" title="Usergrid Data model" href="data-model.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -325,7 +325,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/introduction/data-model.html b/content/docs/introduction/data-model.html
index 8a77b20..79a54c8 100644
--- a/content/docs/introduction/data-model.html
+++ b/content/docs/introduction/data-model.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Usergrid Data model &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Usergrid Data model &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Async vs. sync calls" href="async-vs-sync.html"/>
         <link rel="prev" title="Usergrid Features" href="usergrid-features.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -433,7 +433,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/introduction/overview.html b/content/docs/introduction/overview.html
index 60de706..aeb4c5d 100644
--- a/content/docs/introduction/overview.html
+++ b/content/docs/introduction/overview.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Getting Started &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Getting Started &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Usergrid Features" href="usergrid-features.html"/>
         <link rel="prev" title="Apache Usergrid Documentation" href="../index.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -314,7 +314,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/introduction/usergrid-features.html b/content/docs/introduction/usergrid-features.html
index ec05439..f28297a 100644
--- a/content/docs/introduction/usergrid-features.html
+++ b/content/docs/introduction/usergrid-features.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Usergrid Features &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Usergrid Features &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Usergrid Data model" href="data-model.html"/>
         <link rel="prev" title="Getting Started" href="overview.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -442,7 +442,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/jersey2skeleton/README.html b/content/docs/jersey2skeleton/README.html
index 283baf9..1fb0989 100644
--- a/content/docs/jersey2skeleton/README.html
+++ b/content/docs/jersey2skeleton/README.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>jersey2skeleton &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>jersey2skeleton &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/> 
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/> 
 
   
   <script src="../_static/js/modernizr.min.js"></script>
@@ -57,7 +57,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -271,7 +271,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/objects.inv b/content/docs/objects.inv
index 7f8bb29..c58efdd 100644
--- a/content/docs/objects.inv
+++ b/content/docs/objects.inv
Binary files differ
diff --git a/content/docs/orgs-and-apps/admin-user.html b/content/docs/orgs-and-apps/admin-user.html
index 1a272b8..9baf6c6 100644
--- a/content/docs/orgs-and-apps/admin-user.html
+++ b/content/docs/orgs-and-apps/admin-user.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Admin user &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Admin user &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Methods" href="../rest-endpoints/api-docs.html"/>
         <link rel="prev" title="Application" href="application.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -834,7 +834,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/orgs-and-apps/application.html b/content/docs/orgs-and-apps/application.html
index 51843b6..fdded4b 100644
--- a/content/docs/orgs-and-apps/application.html
+++ b/content/docs/orgs-and-apps/application.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Application &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Application &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Admin user" href="admin-user.html"/>
         <link rel="prev" title="Organization" href="organization.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -480,7 +480,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/orgs-and-apps/managing.html b/content/docs/orgs-and-apps/managing.html
index 6ff7f00..18bb9b0 100644
--- a/content/docs/orgs-and-apps/managing.html
+++ b/content/docs/orgs-and-apps/managing.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Organization &amp; application management &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Organization &amp; application management &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Organization" href="organization.html"/>
         <link rel="prev" title="Retrieving counters" href="../counters-and-events/retrieving-counters.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -324,7 +324,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/orgs-and-apps/organization.html b/content/docs/orgs-and-apps/organization.html
index a1e1ac0..6cb5112 100644
--- a/content/docs/orgs-and-apps/organization.html
+++ b/content/docs/orgs-and-apps/organization.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Organization &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Organization &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Application" href="application.html"/>
         <link rel="prev" title="Organization &amp; application management" href="managing.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -1001,7 +1001,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/push-notifications/adding-push-support.html b/content/docs/push-notifications/adding-push-support.html
index e861915..c1904ab 100644
--- a/content/docs/push-notifications/adding-push-support.html
+++ b/content/docs/push-notifications/adding-push-support.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Adding push notifications support &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Adding push notifications support &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Getting started with push notifications" href="getting-started.html"/>
         <link rel="prev" title="Push notifications overview" href="overview.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -549,7 +549,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/push-notifications/creating-and-managing-notifications.html b/content/docs/push-notifications/creating-and-managing-notifications.html
index d98441a..3ebd08c 100644
--- a/content/docs/push-notifications/creating-and-managing-notifications.html
+++ b/content/docs/push-notifications/creating-and-managing-notifications.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Creating and managing notifications &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Creating and managing notifications &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Troubleshooting" href="troubleshooting.html"/>
         <link rel="prev" title="Managing users and devices" href="managing-users-and-devices.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -711,7 +711,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/push-notifications/creating-notifiers.html b/content/docs/push-notifications/creating-notifiers.html
index a508e3b..e96a35f 100644
--- a/content/docs/push-notifications/creating-notifiers.html
+++ b/content/docs/push-notifications/creating-notifiers.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Creating notifiers &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Creating notifiers &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Managing users and devices" href="managing-users-and-devices.html"/>
         <link rel="prev" title="Registering with a notification service" href="registering.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -393,7 +393,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/push-notifications/getting-started.html b/content/docs/push-notifications/getting-started.html
index 469a7bf..57d6daa 100644
--- a/content/docs/push-notifications/getting-started.html
+++ b/content/docs/push-notifications/getting-started.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Getting started with push notifications &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Getting started with push notifications &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Tutorial: Push notifications sample app" href="tutorial.html"/>
         <link rel="prev" title="Adding push notifications support" href="adding-push-support.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -465,7 +465,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/push-notifications/managing-users-and-devices.html b/content/docs/push-notifications/managing-users-and-devices.html
index 14f451c..c038da5 100644
--- a/content/docs/push-notifications/managing-users-and-devices.html
+++ b/content/docs/push-notifications/managing-users-and-devices.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Managing users and devices &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Managing users and devices &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Creating and managing notifications" href="creating-and-managing-notifications.html"/>
         <link rel="prev" title="Creating notifiers" href="creating-notifiers.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -656,7 +656,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/push-notifications/overview.html b/content/docs/push-notifications/overview.html
index fc86409..af3ac05 100644
--- a/content/docs/push-notifications/overview.html
+++ b/content/docs/push-notifications/overview.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Push notifications overview &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Push notifications overview &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Adding push notifications support" href="adding-push-support.html"/>
         <link rel="prev" title="Disconnecting entities" href="../entity-connections/disconnecting-entities.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -361,7 +361,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/push-notifications/registering.html b/content/docs/push-notifications/registering.html
index 334f7bb..85873a6 100644
--- a/content/docs/push-notifications/registering.html
+++ b/content/docs/push-notifications/registering.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Registering with a notification service &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Registering with a notification service &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Creating notifiers" href="creating-notifiers.html"/>
         <link rel="prev" title="Tutorial: Push notifications sample app" href="tutorial.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -452,7 +452,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/push-notifications/tbd.html b/content/docs/push-notifications/tbd.html
index 90ce35b..89ba353 100644
--- a/content/docs/push-notifications/tbd.html
+++ b/content/docs/push-notifications/tbd.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>COMING IN USERGRID 2 &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>COMING IN USERGRID 2 &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/> 
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/> 
 
   
   <script src="../_static/js/modernizr.min.js"></script>
@@ -57,7 +57,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -264,7 +264,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/push-notifications/troubleshooting.html b/content/docs/push-notifications/troubleshooting.html
index 5642019..dc1eac5 100644
--- a/content/docs/push-notifications/troubleshooting.html
+++ b/content/docs/push-notifications/troubleshooting.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Troubleshooting &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Troubleshooting &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Security &amp; token authentication" href="../security-and-auth/app-security.html"/>
         <link rel="prev" title="Creating and managing notifications" href="creating-and-managing-notifications.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -434,7 +434,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/push-notifications/tutorial.html b/content/docs/push-notifications/tutorial.html
index d9364bd..5b5bfc2 100644
--- a/content/docs/push-notifications/tutorial.html
+++ b/content/docs/push-notifications/tutorial.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Tutorial: Push notifications sample app &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Tutorial: Push notifications sample app &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Registering with a notification service" href="registering.html"/>
         <link rel="prev" title="Getting started with push notifications" href="getting-started.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -634,7 +634,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/push-notifications/users-devices.html b/content/docs/push-notifications/users-devices.html
index 1ea3e74..6a28fae 100644
--- a/content/docs/push-notifications/users-devices.html
+++ b/content/docs/push-notifications/users-devices.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Users &amp; Devices &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Users &amp; Devices &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/> 
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/> 
 
   
   <script src="../_static/js/modernizr.min.js"></script>
@@ -57,7 +57,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -521,7 +521,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/reference/contribute-code.html b/content/docs/reference/contribute-code.html
index 78bc50f..83f1b4b 100644
--- a/content/docs/reference/contribute-code.html
+++ b/content/docs/reference/contribute-code.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>How to Contribute Code &amp; Docs &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>How to Contribute Code &amp; Docs &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="prev" title="Presentations &amp; Videos" href="presos-and-videos.html"/> 
 
   
@@ -58,7 +58,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -329,7 +329,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/reference/presos-and-videos.html b/content/docs/reference/presos-and-videos.html
index ee67ddd..74c708e 100644
--- a/content/docs/reference/presos-and-videos.html
+++ b/content/docs/reference/presos-and-videos.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Presentations &amp; Videos &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Presentations &amp; Videos &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="How to Contribute Code &amp; Docs" href="contribute-code.html"/>
         <link rel="prev" title="Usergrid 2.1.0 Deployment Guide" href="../installation/deployment-guide.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -319,7 +319,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/rest-endpoints/api-docs.html b/content/docs/rest-endpoints/api-docs.html
index 889f464..0ab74e4 100644
--- a/content/docs/rest-endpoints/api-docs.html
+++ b/content/docs/rest-endpoints/api-docs.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Methods &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Methods &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="COMING SOON..." href="../sdks/tbd.html"/>
         <link rel="prev" title="Admin user" href="../orgs-and-apps/admin-user.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -4186,7 +4186,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/sdks/ios-new.html b/content/docs/sdks/ios-new.html
index 8b3d8d2..c8b5d30 100644
--- a/content/docs/sdks/ios-new.html
+++ b/content/docs/sdks/ios-new.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Usergrid iOS SDK &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Usergrid iOS SDK &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/> 
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/> 
 
   
   <script src="../_static/js/modernizr.min.js"></script>
@@ -57,7 +57,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -1291,7 +1291,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/sdks/sdk-outline.html b/content/docs/sdks/sdk-outline.html
index 32c377c..60802d8 100644
--- a/content/docs/sdks/sdk-outline.html
+++ b/content/docs/sdks/sdk-outline.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Usergrid SDK Documentation outline &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Usergrid SDK Documentation outline &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/> 
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/> 
 
   
   <script src="../_static/js/modernizr.min.js"></script>
@@ -57,7 +57,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -484,7 +484,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/sdks/tbd.html b/content/docs/sdks/tbd.html
index aaaa9ad..00ff51c 100644
--- a/content/docs/sdks/tbd.html
+++ b/content/docs/sdks/tbd.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>COMING SOON... &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>COMING SOON... &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Usergrid 2.1.0 Deployment Guide" href="../installation/deployment-guide.html"/>
         <link rel="prev" title="Methods" href="../rest-endpoints/api-docs.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -275,7 +275,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/search.html b/content/docs/search.html
index 113ad25..4491d15 100644
--- a/content/docs/search.html
+++ b/content/docs/search.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Search &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Search &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="index.html"/> 
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="index.html"/> 
 
   
   <script src="_static/js/modernizr.min.js"></script>
@@ -57,7 +57,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -269,7 +269,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'./',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/security-and-auth/app-security.html b/content/docs/security-and-auth/app-security.html
index cde27e6..3bd07fc 100644
--- a/content/docs/security-and-auth/app-security.html
+++ b/content/docs/security-and-auth/app-security.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Security &amp; token authentication &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Security &amp; token authentication &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Using permissions" href="using-permissions.html"/>
         <link rel="prev" title="Troubleshooting" href="../push-notifications/troubleshooting.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -304,7 +304,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/security-and-auth/authenticating-api-requests.html b/content/docs/security-and-auth/authenticating-api-requests.html
index e48d17a..30aa265 100644
--- a/content/docs/security-and-auth/authenticating-api-requests.html
+++ b/content/docs/security-and-auth/authenticating-api-requests.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Authenticating API requests &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Authenticating API requests &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Revoking tokens (logout)" href="revoking-tokens-logout.html"/>
         <link rel="prev" title="Changing token expiration (time-to-live)" href="changing-token-time-live-ttl.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -353,7 +353,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/security-and-auth/authenticating-users-and-application-clients.html b/content/docs/security-and-auth/authenticating-users-and-application-clients.html
index 1f2a5bb..340d0e3 100644
--- a/content/docs/security-and-auth/authenticating-users-and-application-clients.html
+++ b/content/docs/security-and-auth/authenticating-users-and-application-clients.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Authenticating users &amp; app clients &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Authenticating users &amp; app clients &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Authentication levels" href="user-authentication-types.html"/>
         <link rel="prev" title="Using roles" href="using-roles.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -514,7 +514,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/security-and-auth/changing-token-time-live-ttl.html b/content/docs/security-and-auth/changing-token-time-live-ttl.html
index 03cfa81..f9f9cad 100644
--- a/content/docs/security-and-auth/changing-token-time-live-ttl.html
+++ b/content/docs/security-and-auth/changing-token-time-live-ttl.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Changing token expiration (time-to-live) &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Changing token expiration (time-to-live) &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Authenticating API requests" href="authenticating-api-requests.html"/>
         <link rel="prev" title="Authentication levels" href="user-authentication-types.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -373,7 +373,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/security-and-auth/facebook-sign.html b/content/docs/security-and-auth/facebook-sign.html
index 44da356..0f4ee84 100644
--- a/content/docs/security-and-auth/facebook-sign.html
+++ b/content/docs/security-and-auth/facebook-sign.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Facebook sign in &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Facebook sign in &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Security best practices" href="securing-your-app.html"/>
         <link rel="prev" title="Revoking tokens (logout)" href="revoking-tokens-logout.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -490,7 +490,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/security-and-auth/revoking-tokens-logout.html b/content/docs/security-and-auth/revoking-tokens-logout.html
index 3fcb523..e82be31 100644
--- a/content/docs/security-and-auth/revoking-tokens-logout.html
+++ b/content/docs/security-and-auth/revoking-tokens-logout.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Revoking tokens (logout) &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Revoking tokens (logout) &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Facebook sign in" href="facebook-sign.html"/>
         <link rel="prev" title="Authenticating API requests" href="authenticating-api-requests.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -326,7 +326,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/security-and-auth/securing-your-app.html b/content/docs/security-and-auth/securing-your-app.html
index 99aee72..a722510 100644
--- a/content/docs/security-and-auth/securing-your-app.html
+++ b/content/docs/security-and-auth/securing-your-app.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Security best practices &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Security best practices &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="User management &amp; social graph" href="../user-management/user-management.html"/>
         <link rel="prev" title="Facebook sign in" href="facebook-sign.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -382,7 +382,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/security-and-auth/user-authentication-types.html b/content/docs/security-and-auth/user-authentication-types.html
index 6b8d457..f94587c 100644
--- a/content/docs/security-and-auth/user-authentication-types.html
+++ b/content/docs/security-and-auth/user-authentication-types.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Authentication levels &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Authentication levels &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Changing token expiration (time-to-live)" href="changing-token-time-live-ttl.html"/>
         <link rel="prev" title="Authenticating users &amp; app clients" href="authenticating-users-and-application-clients.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -388,7 +388,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/security-and-auth/using-permissions.html b/content/docs/security-and-auth/using-permissions.html
index 04a82c7..96d70a6 100644
--- a/content/docs/security-and-auth/using-permissions.html
+++ b/content/docs/security-and-auth/using-permissions.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Using permissions &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Using permissions &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Using roles" href="using-roles.html"/>
         <link rel="prev" title="Security &amp; token authentication" href="app-security.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -494,7 +494,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/security-and-auth/using-roles.html b/content/docs/security-and-auth/using-roles.html
index 0fb46e1..b0f452f 100644
--- a/content/docs/security-and-auth/using-roles.html
+++ b/content/docs/security-and-auth/using-roles.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Using roles &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Using roles &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Authenticating users &amp; app clients" href="authenticating-users-and-application-clients.html"/>
         <link rel="prev" title="Using permissions" href="using-permissions.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -721,7 +721,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/user-management/activity.html b/content/docs/user-management/activity.html
index dc397ac..ac5788d 100644
--- a/content/docs/user-management/activity.html
+++ b/content/docs/user-management/activity.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Activity &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Activity &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Social Graph Connections" href="user-connections.html"/>
         <link rel="prev" title="Working with group data" href="group.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -850,7 +850,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/user-management/group.html b/content/docs/user-management/group.html
index be83831..43255d2 100644
--- a/content/docs/user-management/group.html
+++ b/content/docs/user-management/group.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Working with group data &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Working with group data &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Activity" href="activity.html"/>
         <link rel="prev" title="Working with User Data" href="working-user-data.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -813,7 +813,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/user-management/groups.html b/content/docs/user-management/groups.html
index dbde055..efa4adf 100644
--- a/content/docs/user-management/groups.html
+++ b/content/docs/user-management/groups.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Groups &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Groups &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/> 
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/> 
 
   
   <script src="../_static/js/modernizr.min.js"></script>
@@ -57,7 +57,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -382,7 +382,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/user-management/messagee-example.html b/content/docs/user-management/messagee-example.html
index e336348..ffb3b62 100644
--- a/content/docs/user-management/messagee-example.html
+++ b/content/docs/user-management/messagee-example.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>App Example - Messagee &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>App Example - Messagee &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Geolocating your Entities" href="../geolocation/geolocation.html"/>
         <link rel="prev" title="Social Graph Connections" href="user-connections.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -467,7 +467,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/user-management/user-connections.html b/content/docs/user-management/user-connections.html
index ec0fdc5..3cbbc2a 100644
--- a/content/docs/user-management/user-connections.html
+++ b/content/docs/user-management/user-connections.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Social Graph Connections &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Social Graph Connections &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="App Example - Messagee" href="messagee-example.html"/>
         <link rel="prev" title="Activity" href="activity.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -342,7 +342,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/user-management/user-management.html b/content/docs/user-management/user-management.html
index 1cd9dde..eb0f4b2 100644
--- a/content/docs/user-management/user-management.html
+++ b/content/docs/user-management/user-management.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>User management &amp; social graph &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>User management &amp; social graph &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Working with User Data" href="working-user-data.html"/>
         <link rel="prev" title="Security best practices" href="../security-and-auth/securing-your-app.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -356,7 +356,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/user-management/working-user-data.html b/content/docs/user-management/working-user-data.html
index b4662f0..18f2f0e 100644
--- a/content/docs/user-management/working-user-data.html
+++ b/content/docs/user-management/working-user-data.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Working with User Data &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Working with User Data &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Working with group data" href="group.html"/>
         <link rel="prev" title="User management &amp; social graph" href="user-management.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -689,7 +689,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/using-usergrid/creating-a-new-application.html b/content/docs/using-usergrid/creating-a-new-application.html
index cbcd095..7b1bcdb 100644
--- a/content/docs/using-usergrid/creating-a-new-application.html
+++ b/content/docs/using-usergrid/creating-a-new-application.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Creating a new application &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Creating a new application &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Using a Sandbox Application" href="using-a-sandbox-app.html"/>
         <link rel="prev" title="Creating a Usergrid Account" href="creating-account.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -306,7 +306,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/using-usergrid/creating-account.html b/content/docs/using-usergrid/creating-account.html
index 55f65a6..f853fe7 100644
--- a/content/docs/using-usergrid/creating-account.html
+++ b/content/docs/using-usergrid/creating-account.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Creating a Usergrid Account &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Creating a Usergrid Account &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Creating a new application" href="creating-a-new-application.html"/>
         <link rel="prev" title="Async vs. sync calls" href="../introduction/async-vs-sync.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -317,7 +317,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/using-usergrid/using-a-sandbox-app.html b/content/docs/using-usergrid/using-a-sandbox-app.html
index 1f5b1fa..ef65e42 100644
--- a/content/docs/using-usergrid/using-a-sandbox-app.html
+++ b/content/docs/using-usergrid/using-a-sandbox-app.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Using a Sandbox Application &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Using a Sandbox Application &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="Using the API" href="using-the-api.html"/>
         <link rel="prev" title="Creating a new application" href="creating-a-new-application.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -342,7 +342,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/docs/using-usergrid/using-the-api.html b/content/docs/using-usergrid/using-the-api.html
index c251dee..c46b1fb 100644
--- a/content/docs/using-usergrid/using-the-api.html
+++ b/content/docs/using-usergrid/using-the-api.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Using the API &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Using the API &mdash; Apache Usergrid 2.x documentation</title>
   
 
   
@@ -30,7 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+    <link rel="top" title="Apache Usergrid 2.x documentation" href="../index.html"/>
         <link rel="next" title="The Usergrid Data Store" href="../data-storage/data-store-dbms.html"/>
         <link rel="prev" title="Using a Sandbox Application" href="using-a-sandbox-app.html"/> 
 
@@ -59,7 +59,7 @@
           
           
             <div class="version">
-              1.0
+              2.x
             </div>
           
         
@@ -476,7 +476,7 @@
     <script type="text/javascript">
         var DOCUMENTATION_OPTIONS = {
             URL_ROOT:'../',
-            VERSION:'1.0',
+            VERSION:'2.x',
             COLLAPSE_INDEX:false,
             FILE_SUFFIX:'.html',
             HAS_SOURCE:  true
diff --git a/content/index.html b/content/index.html
index 9416909..0394438 100644
--- a/content/index.html
+++ b/content/index.html
@@ -232,8 +232,7 @@
         </div> 
         <div class="row">
             <div id="copyright">
-                <img src="/img/egg-logo.png" /><br/><br/>
-                <p>Copyright © 2013 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.<br>
+                <p>Copyright © The Apache Software Foundation, Licensed under the Apache License, Version 2.0.<br>
                 Apache and the Apache feather logos are trademarks of The Apache Software Foundation.</p>
                 <p class="credits">Site designed & assembled with love by <a href="https://github.com/ryuneeee">@ryuneeee</a> + <a href="https://github.com/realbeast">@realbeast</a> + <a href="https://twitter.com/timanglade">@timanglade</a> + <a href="https://twitter.com/snoopdave">@snoopdave</a> .</p>
             </div>
diff --git a/content/releases/index.html b/content/releases/index.html
index 086cb60..c02187c 100644
--- a/content/releases/index.html
+++ b/content/releases/index.html
@@ -200,8 +200,7 @@
         </div> 
         <div class="row">
             <div id="copyright">
-                <img src="/img/egg-logo.png" /><br/><br/>
-                <p>Copyright © 2013 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.<br>
+                <p>Copyright © The Apache Software Foundation, Licensed under the Apache License, Version 2.0.<br>
                 Apache and the Apache feather logos are trademarks of The Apache Software Foundation.</p>
                 <p class="credits">Site designed & assembled with love by <a href="https://github.com/ryuneeee">@ryuneeee</a> + <a href="https://github.com/realbeast">@realbeast</a> + <a href="https://twitter.com/timanglade">@timanglade</a> + <a href="https://twitter.com/snoopdave">@snoopdave</a> .</p>
             </div>
diff --git a/docs/conf.py b/docs/conf.py
index db1c4fe..96a071d 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -70,9 +70,9 @@
 # built documents.
 #
 # The short X.Y version.
-version = '1.0'
+version = '2.x'
 # The full version, including alpha/beta/rc tags.
-release = '1.0'
+release = '2.x'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/sdks/java/README.md b/sdks/java/README.md
index 7943c41..95e4d04 100644
--- a/sdks/java/README.md
+++ b/sdks/java/README.md
@@ -1,20 +1,580 @@
+# Usergrid Java SDK
 
-#Usergrid Java Client
+Usergrid SDK written for Java 
 
-#License
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
+## Initialization
 
-  http://www.apache.org/licenses/LICENSE-2.0
+There are two different ways of initializing the Usergrid Java SDK: 
 
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
+1. The singleton pattern is both convenient and enables the developer to use a globally available and always-initialized instance of Usergrid. 
+
+```java
+Usergrid.initSharedInstance("orgId", "appId");
+```
+
+2. The Instance pattern enables the developer to manage instances of the Usergrid client independently and in an isolated fashion. The primary use-case for this is when an application connects to multiple Usergrid targets.
+
+```java
+UsergridClient client = new UsergridClient("orgId","appId");
+```
+
+_Note: Examples in this readme assume you are using the `Usergrid` shared instance. If you've implemented the instance pattern instead, simply replace `Usergrid` with your client instance variable._
+
+## RESTful operations
+
+When making any RESTful call, a `type` parameter (or `path`) is always required. Whether you specify this as an argument or in an object as a parameter is up to you.
+
+### GET
+
+- To get entities in a collection:
+
+```java
+UsergridResponse response = Usergrid.GET("collection");
+List<UsergridEntity> entities = response.getEntities();
+```
+
+- To get a specific entity in a collection by uuid or name:
+
+```java
+UsergridResponse response = Usergrid.GET("collection","<uuid-or-name>");
+UsergridEntity entities = response.entity();
+```
+
+- To get specific entities in a collection by passing a `UsergridQuery` object:
+
+```java
+UsergridQuery query = new UsergridQuery("cats").gt("weight", 2.4)
+                                 	.contains("color", "bl*")
+                                 .not()
+                                 .eq("color", "blue")
+                                 .or()
+                                 .eq("color", "orange");
+	
+// this will build out the following query:
+// select * where weight > 2.4 and color contains 'bl*' and not color = 'blue' or color = 'orange'
+	
+UsergridResponse response = Usergrid.GET(query);
+List<UsergridEntity> entities = response.getEntities();
+```
+
+### POST and PUT
+
+POST and PUT requests both require a JSON body payload. You can pass either a Java object or a `UsergridEntity` instance. While the former works in principle, best practise is to use a `UsergridEntity` wherever practical. When an entity has a uuid or name property and already exists on the server, use a PUT request to update it. If it does not, use POST to create it.
+
+- To create a new entity in a collection (**POST**):
+
+```java
+HashMap<String,String> propertyMap = new HashMap<>();
+propertyMap.put("cuisine","pizza");
+UsergridEntity entity = new UsergridEntity("restaurant","Dino's Deep Dish", propertyMap);	
+Usergrid.POST(entity); // entity should now have a uuid property and be created
+	
+// you can also POST an array of entities:
+	
+HashMap<String,String> propertyMap = new HashMap<>();
+propertyMap.put("cuisine","pizza");
+
+ArrayList<UsergridEntity> entities = new ArrayList<>();
+entities.add(new UsergridEntity("restaurant","Dino's Deep Dish", propertyMap));
+entities.add(new UsergridEntity("restaurant","Pizza da Napoli", propertyMap));
+UsergridResponse response = Usergrid.POST(entities);
+List<UsergridEntity> responseEntities = response.getEntities(); // responseEntities should now contain now valid posted entities.
+```
+
+- To update an entity in a collection (**PUT**):
+
+```java
+HashMap<String,String> propertyMap = new HashMap<>();
+propertyMap.put("cuisine","pizza");
+UsergridEntity entity = new UsergridEntity("restaurant","Dino's Deep Dish", propertyMap);	
+UsergridResponse response = Usergrid.POST(entity);
+if( response.ok() ) {
+	entity.putProperty("owner","Mia Carrara");
+	Usergrid.PUT(entity); // entity now has the property 'owner'
+}
+	
+// or update a set of entities by passing a UsergridQuery object
+
+HashMap<String,String> propertiesToUpdate = new HashMap<>();
+propertiesToUpdate.put("cuisine","pizza");
+UsergridQuery query = new UsergridQuery("restaurants").eq("cuisine","italian");
+
+UsergridResponse response = Usergrid.PUT(query, propertiesToUpdate);
+	
+    /* the first 10 entities matching this query criteria will be updated:
+    e.g.:
+        [
+            {
+                "type": "restaurant",
+                "restaurant": "Il Tarazzo",
+                "cuisine": "italian",
+                "keywords": ["pasta"]
+            },
+            {
+                "type": "restaurant",
+                "restaurant": "Cono Sur Pizza & Pasta",
+                "cuisine": "italian",
+                "keywords": ["pasta"]
+            }
+        ]
+    */
+```
+
+### DELETE
+
+DELETE requests require either a specific entity or a `UsergridQuery` object to be passed as an argument.
+
+- To delete a specific entity in a collection by uuid or name:
+
+```java
+UsergridResponse response = Usergrid.DELETE("collection", "<uuid-or-name>"); // if successful, entity will now be deleted
+```
+
+- To specific entities in a collection to delete by passing a `UsergridQuery` object:
+
+```java
+UsergridQuery query = new UsergridQuery("cats").eq("color","black").or().eq("color","white");
+	
+// this will build out the following query:
+// select * where color = 'black' or color = 'white'
+	
+UsergridResponse response = Usergrid.DELETE(query); // the first 10 entities matching this query criteria will be deleted
+```
+
+## Entity operations and convenience methods
+
+`UsergridEntity` has a number of helper/convenience methods to make working with entities more convenient.
+
+### reload()
+
+Reloads the entity from the server:
+
+```java
+entity.reload(); // entity is now reloaded from the server
+```
+
+### save()
+
+Saves (or creates) the entity on the server:
+
+
+```java
+entity.putProperty("aNewProperty","A new value");
+entity.save(); // entity is now updated on the server
+```
+
+### remove()
+
+Deletes the entity from the server:
+
+```java
+entity.remove(); // entity is now deleted on the server and the local instance should be destroyed
+```
+
+## Authentication, current user, and auth-fallback
+
+### appAuth and authenticateApp()
+
+`Usergrid` can use the app client ID and secret that were passed upon initialization and automatically retrieve an app-level token for these credentials.
+
+```java
+Usergrid.setAppAuth(new UsergridAppAuth("<client-id>", "<client-secret>"));
+Usergrid.authenticateApp(); // Usergrid.appAuth is authenticated automatically when this call is successful
+```
+
+### currentUser, userAuth,  and authenticateUser()
+
+`Usergrid` has a special `currentUser` property. 
+
+By default, when calling `authenticateUser()`, `.currentUser` will be set to this user if the authentication flow is successful.
+
+```java
+UsergridUserAuth userAuth = new UsergridUserAuth("<username>","<password>");
+Usergrid.authenticateUser(userAuth); // Usergrid.currentUser is set to the authenticated user and the token is stored within that context
+```
+    
+If you want to utilize authenticateUser without setting as the current user, simply pass a `false` boolean value as the second parameter:
+
+```java
+UsergridUserAuth userAuth = new UsergridUserAuth("<username>","<password>");
+Usergrid.authenticateUser(userAuth,false); // user is authenticated but Usergrid.currentUser is not set.
+```
+
+### authMode
+
+Auth-mode defines what the client should pass in for the authorization header. 
+
+By default, `Usergrid.authMode` is set to `.User`, when a `Usergrid.currentUser` is present and authenticated, an API call will be performed using the token for the user. 
+
+If `Usergrid.authMode` is set to `.None`, all API calls will be performed unauthenticated. 
+
+If instead `Usergrid.authMode` is set to `.App`, the API call will instead be performed using client credentials, _if_ they're available (i.e. `authenticateApp()` was performed at some point). 
+
+### usingAuth()
+
+At times it is desireable to have complete, granular control over the authentication context of an API call. 
+
+To facilitate this, the passthrough function `.usingAuth()` allows you to pre-define the auth context of the next API call.
+
+```java
+// assume Usergrid.authMode = UsergridAuthMode.NONE.
+
+Map<String, String> permissionsMap = new HashMap<>();
+permissionsMap.put("permission","get,post,put,delete:/**");
+UsergridResponse response = Usergrid.usingAuth(Usergrid.getAppAuth()).POST("roles/guest/permissions",permissionsMap);
+
+// here we've temporarily used the client credentials to modify permissions
+// subsequent calls will not use this auth context
+```
+
+## User operations and convenience methods
+
+`UsergridUser` has a number of helper/convenience methods to make working with user entities more convenient. If you are _not_ utilizing the `Usergrid` shared instance, you must pass an instance of `UsergridClient` as the first argument to any of these helper methods.
+    
+### create()
+
+Creating a new user:
+
+```java
+UsergridUser user = new UsergridUser("username","password");
+user.create(); // user has now been created and should have a valid uuid
+```
+
+### login()
+
+A simpler means of retrieving a user-level token:
+
+```java
+user.login("username","password"); // user is now logged in
+```
+
+### logout()
+
+Logs out the selected user. You can also use this convenience method on `Usergrid.currentUser`.
+
+```java
+user.logout(); // user is now logged out
+```
+
+### resetPassword()
+
+Resets the password for the selected user.
+
+```java
+// if it was done correctly, the new password will be changed
+user.resetPassword("oldPassword", "newPassword");
+```
+
+### UsergridUser.CheckAvailable()
+
+This is a class (static) method that allows you to check whether a username or email address is available or not.
+
+```java
+boolean available = UsergridUser.checkAvailable("email", null); // 'available' == whether an email already exists for a user
+
+available = UsergridUser.checkAvailable(null, "username"); // 'available' == whether an username already exists for a user
+
+available = UsergridUser.checkAvailable("email", "username"); // 'available' == whether an email or username already exist for a user
+```
+
+## Querying and filtering data
+
+### UsergridQuery initialization
+
+The `UsergridQuery` class allows you to build out complex query filters using the Usergrid [query syntax](http://docs.apigee.com/app-services/content/querying-your-data).
+
+The first parameter of the `UsergridQuery` builder pattern should be the collection (or type) you intend to query. You can either pass this as an argument, or as the first builder object:
+
+```java
+UsergridQuery query = new UsergridQuery("cats");
+// or
+UsergridQuery query = new UsergridQuery().collection("cats");
+```
+
+You then can layer on additional queries:
+
+```java
+UsergridQuery query = new UsergridQuery("cats").gt("weight",2.4).contains("color","bl*")
+                                 .not()
+                                 .eq("color","white")
+                                 .or()
+                                 .eq("color","orange");
+```
+
+You can also adjust the number of results returned:
+
+```java
+UsergridQuery query = new UsergridQuery("cats").eq("color","black").limit(100);
+                                 
+// returns a maximum of 100 entities
+```
+
+And sort the results:
+
+```java
+UsergridQuery query = new UsergridQuery("cats").eq("color","black").limit(100).asc("name")
+                                 
+// sorts by 'name', ascending
+```
+
+And you can do geo-location queries:
+
+```java
+UsergridQuery query = new UsergridQuery("devices").locationWithin(<distance>, <lat>, <long>);
+```
+
+### Using a query in a request
+
+Queries can be passed as parameters to GET, PUT, and DELETE requests:
+
+```java
+// Gets entities matching the query.
+Usergrid.GET(query);
+
+// Updates the entities matching the query with the new property.
+Usergrid.PUT(query, Collections.singletonMap("aNewProperty","A new value"));
+
+// Deletes entities of a given type matching the query.
+Usergrid.DELETE(query);
+```
+### List of query builder objects
+
+`type("string")`
+
+> The collection name to query
+
+`collection("string")`
+
+> An alias for `type`
+
+`eq("key","value")` or 
+`equals("key","value")` or 
+`filter("key","value")` 
+
+> Equal to (e.g. `where color = 'black'`)
+
+`contains("key","value")` or
+`containsString("key","value")` or
+`containsWord("key","value")`
+
+> Contains a string (e.g.` where color contains 'bl*'`)
+
+`gt("key","value")` or
+`greaterThan("key","value")`
+
+> Greater than (e.g. `where weight > 2.4`)
+
+`gte("key","value")` or 
+`greaterThanOrEqual("key","value")`
+
+> Greater than or equal to (e.g. `where weight >= 2.4`)
+
+`lt("key","value")` or `lessThan("key","value")`
+
+> Less than (e.g. `where weight < 2.4`)
+
+`lte("key","value")` or `lessThanOrEqual("key","value")`
+
+> Less than or equal to (e.g. `where weight <= 2.4`)
+
+`not()`
+
+> Negates the next block in the builder pattern, e.g.:
+
+```java
+UsergridQuery query = new UsergridQuery("cats").not().eq("color","black");
+// select * from cats where not color = 'black'
+```
+
+`and()`
+
+> Joins two queries by requiring both of them. `and` is also implied when joining two queries _without_ an operator. E.g.:
+
+```java
+UsergridQuery query = new UsergridQuery("cats").eq("color","black").eq("fur","longHair");
+// is identical to:
+UsergridQuery query = new UsergridQuery("cats").eq("color","black").and().eq("fur","longHair");
+```
+
+`or()`
+
+> Joins two queries by requiring only one of them. `or` is never implied. e.g.:
+
+```java
+UsergridQuery query = new UsergridQuery("cats").eq("color","black").or().eq("color", "white");
+```
+    
+> When using `or()` and `and()` operators, `and()` joins will take precedence over `or()` joins. You can read more about query operators and precedence [here](http://docs.apigee.com/api-baas/content/supported-query-operators-data-types).
+
+`locationWithin(distanceInMeters, latitude, longitude)`
+
+> Returns entities which have a location within the specified radius. Arguments can be `float` or `int`.
+
+`asc("key")` or `ascending("key")`
+
+> Sorts the results by the specified property, ascending
+
+`desc("key")` or `descending("key")`
+
+> Sorts the results by the specified property, descending
+
+`sort("key",UsergridQuerySortOrder.ASC)`
+
+> Sorts the results by the specified property, in the specified `UsergridQuerySortOrder` (`.ASC` or `.DESC`).
+ 
+`limit(int)`
+
+> The maximum number of entities to return
+
+`cursor("string")`
+
+> A pagination cursor string
+
+`fromString("query string")`
+
+> A special builder property that allows you to input a pre-defined query string. All builder properties will be ignored when this property is defined. For example:
+    
+```java
+UsergridQuery query = new UsergridQuery().fromString("select * where color = 'black' order by name asc");
+```
+
+## UsergridResponse object
+
+`UsergridResponse` is the core class that handles both successful and unsuccessful HTTP responses from Usergrid. 
+
+If a request is successful, any entities returned in the response will be automatically parsed into `UsergridEntity` objects and pushed to the `entities` property.
+
+If a request fails, the `error` property will contain information about the problem encountered.
+
+### ok
+
+You can check `UsergridResponse.ok`, a `Bool` value, to see if the response was successful. Any status code `< 400` returns true.
+
+```java
+UsergridResponse response = Usergrid.GET("collection");
+if( response.ok() ) {
+    // woo!
+}
+```
+    
+### entity, entities, user, users, first, last
+
+Depending on the call you make, any entities returned in the response will be automatically parsed into `UsergridEntity` objects and pushed to the `entities` property. If you're querying the `users` collection, these will also be `UsergridUser` objects, a subclass of `UsergridEntity`.
+
+- `.first()` returns the first entity in an array of entities; `.entity()` is an alias to `.first()`. If there are no entities, both of these will be undefined.
+
+- `.last()` returns the last entity in an array of entities; if there is only one entity in the array, this will be the same as `.first()` _and_ `.entity()`, and will be undefined if there are no entities in the response.
+
+- `.getEntities()` will either be an array of entities in the response, or an empty array.
+
+- `.user()` is a special alias for `.entity()` for when querying the `users()` collection. Instead of being a `UsergridEntity`, it will be its subclass, `UsergridUser`.
+
+- `.users()` is the same as `.user()`, though behaves as `.getEntities()` does by returning either an array of UsergridUser objects or an empty array.
+
+Examples:
+
+```java
+UsergridResponse response = Usergrid.GET("collection");
+    // you can access:
+    //     response.getEntities() (the returned entities)
+    //     response.first() (the first entity)
+    //     response.entity() (same as response.first)
+    //     response.last() (the last entity returned)
+
+UsergridResponse response = Usergrid.GET("collection","<uuid-or-name>");
+    // you can access:
+    //     response.entity() (the returned entity) 
+    //     response.getEntities() (containing only the returned entity)
+    //     response.first() (same as response.entity)
+    //     response.last() (same as response.entity)
+
+UsergridResponse response = Usergrid.GET("users");
+    // you can access:
+    //     response.users() (the returned users)
+    //     response.getEntities() (same as response.users)
+    //     response.user() (the first user)    
+    //     response.entity() (same as response.user)   
+    //     response.first() (same as response.user)  
+    //     response.last() (the last user)
+
+UsergridResponse response = Usergrid.GET("users","<uuid-or-name>");
+    // you can access;
+    //     response.users() (containing only the one user)
+    //     response.getEntities() (same as response.users)
+    //     response.user() (the returned user)    
+    //     response.entity() (same as response.user)   
+    //     response.first() (same as response.user)  
+    //     response.last() (same as response.user)  
+```
+
+## Connections
+
+Connections can be managed using `Usergrid.connect()`, `Usergrid.disconnect()`, and `Usergrid.getConnections()`, or entity convenience methods of the same name. 
+
+When retrieving connections via `Usergrid.getConnections()`, you can pass in a optional `UsergridQuery` object in order to filter the connectioned entities returned.
+
+### Connect
+
+Create a connection between two entities:
+
+```java
+Usergrid.connect(entity1, "relationship", entity2); // entity1 now has an outbound connection to entity2
+```
+
+### Retrieve Connections
+
+Retrieve outbound connections:
+
+```java
+Usergrid.getConnections(UsergridDirection.OUT, entity1, "relationship");
+    // entities is an array of entities that entity1 is connected to via 'relationship'
+    // in this case, we'll see entity2 in the array
+```
+
+Retrieve inbound connections:
+
+```java
+Usergrid.getConnections(UsergridDirection.IN, entity2, "relationship");
+    // entities is an array of entities that connect to entity2 via 'relationship'
+    // in this case, we'll see entity1 in the array
+```
+
+### Disconnect
+
+Delete a connection between two entities:
+
+```java
+Usergrid.disconnect(entity1, "relationship", entity2);
+    // entity1's outbound connection to entity2 has been destroyed
+```
+
+## Custom UsergridEntity Subclasses
+
+Creating custom subclasses of the base `UsergridEntity` class (just like `UsergridUser` and `UsergridDevice`) is possible.
+
+- To do so, subclass `UsergridEntity` and implement the required methods:
+
+```java
+public class ActivityEntity extends UsergridEntity {
+	public static final String ACTIVITY_ENTITY_TYPE = "activity";
+	
+   public ActivityEntity(){
+       super(ACTIVITY_ENTITY_TYPE);
+   }
+}
+```
+- You will also need to register the custom subclass:
+
+```java
+Usergrid.initSharedInstance("orgId","appId");
+UsergridEntity.mapCustomSubclassToType("activity", ActivityEntity.class);
+```
+
+By registering your custom subclass, the `UsergridEntity` and `UsergridResponse` classes are able to generate instances of these classes based on the an entities `type`.
+
+In the above example, entities which have a `type` value of `activity` can now be cast as `ActivityEntity` objects. e.g.:
+
+```java
+UsergridResponse response = Usergrid.GET("activity");
+ActivityEntity activityEntity = (ActivityEntity)response.entity();
+```
diff --git a/sdks/java/pom.xml b/sdks/java/pom.xml
index 34eda24..a9b95bb 100644
--- a/sdks/java/pom.xml
+++ b/sdks/java/pom.xml
@@ -1,21 +1,23 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <bundle.symbolicName>org.apache.usergrid</bundle.symbolicName>
         <bundle.namespace>org.apache.usergrid</bundle.namespace>
-        <org.springframework.version>3.1.2.RELEASE</org.springframework.version>
-        <jackson-version>2.3.1</jackson-version>
+        <jackson-version>2.7.3</jackson-version>
+        <junit-version>4.11</junit-version>
+        <okhttp-version>3.2.0</okhttp-version>
+        <intellij-annotations-version>9.0.4</intellij-annotations-version>
     </properties>
 
     <modelVersion>4.0.0</modelVersion>
-
     <groupId>org.apache.usergrid</groupId>
     <artifactId>usergrid-java-client</artifactId>
-    <version>0.0.10-SNAPSHOT</version>
+    <version>2.1.0-SNAPSHOT</version>
     <packaging>jar</packaging>
-    <description>A Java client for usergrid</description>
+    <description>A Java client for Usergrid</description>
     <url>http://usergrid.apache.org</url>
+
     <licenses>
         <license>
             <name>The Apache Software License, Version 2.0</name>
@@ -37,6 +39,18 @@
             <id>sganyo</id>
             <name>Scott Ganyo</name>
         </developer>
+        <developer>
+            <id>jwest</id>
+            <name>Jeffrey West</name>
+        </developer>
+        <developer>
+            <id>adastagiri</id>
+            <name>Ayesha Dastagiri</name>
+        </developer>
+        <developer>
+            <id>rwalsh</id>
+            <name>Robert Walsh</name>
+        </developer>
     </developers>
 
     <build>
@@ -54,60 +68,53 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.1</version>
+                <version>3.3</version>
                 <configuration>
                     <source>1.7</source>
                     <target>1.7</target>
-                    <optimize>true</optimize>
-                    <showDeprecation>true</showDeprecation>
-                    <debug>true</debug>
-                    <encoding>UTF-8</encoding>
-                    <showWarnings>true</showWarnings>
                 </configuration>
             </plugin>
-
         </plugins>
     </build>
 
     <dependencies>
-        <!-- <dependency> <groupId>com.google.android</groupId> <artifactId>android</artifactId> 
-        <version>2.2.1</version> <scope>provided</scope> </dependency> -->
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>${junit-version}</version>
+            <scope>test</scope>
+        </dependency>
+
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-core</artifactId>
             <version>${jackson-version}</version>
         </dependency>
+
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-annotations</artifactId>
             <version>${jackson-version}</version>
         </dependency>
+
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
             <version>${jackson-version}</version>
         </dependency>
+
         <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-web</artifactId>
-            <version>${org.springframework.version}</version>
+            <groupId>com.squareup.okhttp3</groupId>
+            <artifactId>okhttp</artifactId>
+            <version>${okhttp-version}</version>
         </dependency>
+
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>1.6.4</version>
+            <groupId>com.intellij</groupId>
+            <artifactId>annotations</artifactId>
+            <version>${intellij-annotations-version}</version>
         </dependency>
     </dependencies>
-    <repositories>
-        <repository>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-            <id>springsource-milestone</id>
-            <name>Spring Framework Milestone Repository</name>
-            <url>http://maven.springframework.org/milestone</url>
-        </repository>
-    </repositories>
     <name>Apache Usergrid Java SDK</name>
     <organization>
         <name>The Apache Software Foundation</name>
@@ -117,4 +124,4 @@
         <system>JIRA</system>
         <url>https://issues.apache.org/jira/browse/USERGRID</url>
     </issueManagement>
-</project>
+</project>
\ No newline at end of file
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/Client.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/Client.java
deleted file mode 100644
index f72bb94..0000000
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/Client.java
+++ /dev/null
@@ -1,1292 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.usergrid.java.client;
-
-import static org.springframework.util.StringUtils.arrayToDelimitedString;
-import static org.springframework.util.StringUtils.tokenizeToStringArray;
-import static org.apache.usergrid.java.client.utils.JsonUtils.parse;
-import static org.apache.usergrid.java.client.utils.ObjectUtils.isEmpty;
-import static org.apache.usergrid.java.client.utils.UrlUtils.addQueryParams;
-import static org.apache.usergrid.java.client.utils.UrlUtils.encodeParams;
-import static org.apache.usergrid.java.client.utils.UrlUtils.path;
-
-import java.util.Collections;
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import java.util.concurrent.ConcurrentHashMap;
-
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.client.HttpClientErrorException;
-import org.springframework.web.client.RestTemplate;
-import org.apache.usergrid.java.client.entities.Activity;
-import org.apache.usergrid.java.client.entities.Device;
-import org.apache.usergrid.java.client.entities.Entity;
-import org.apache.usergrid.java.client.entities.Group;
-import org.apache.usergrid.java.client.entities.User;
-import org.apache.usergrid.java.client.response.ApiResponse;
-
-/**
- * The Client class for accessing the Usergrid API. Start by instantiating this
- * class though the appropriate constructor.
- *
- */
-public class Client {
-
-    private static final Logger log = LoggerFactory.getLogger(Client.class);
-
-    public static boolean FORCE_PUBLIC_API = false;
-
-    // Public API
-    public static String PUBLIC_API_URL = "http://api.usergrid.com";
-
-    // Local API of standalone server
-    public static String LOCAL_STANDALONE_API_URL = "http://localhost:8080";
-
-    // Local API of Tomcat server in Eclipse
-    public static String LOCAL_TOMCAT_API_URL = "http://localhost:8080/ROOT";
-
-    // Local API
-    public static String LOCAL_API_URL = LOCAL_STANDALONE_API_URL;
-
-    private String apiUrl = PUBLIC_API_URL;
-
-    private String organizationId;
-    private String applicationId;
-    private String clientId;
-    private String clientSecret;
-
-    private User loggedInUser = null;
-
-    private String accessToken = null;
-
-    private String currentOrganization = null;
-
-    static RestTemplate restTemplate = new RestTemplate();
-
-    /**
-     * Default constructor for instantiating a client.
-     */
-    public Client() {
-        init();
-    }
-
-    /**
-     * Instantiate client for a specific app
-     *
-     * @param applicationId
-     *            the application id or name
-     */
-    public Client(String organizationId, String applicationId) {
-        init();
-        this.organizationId = organizationId;
-        this.applicationId = applicationId;
-    }
-
-    public void init() {
-
-    }
-
-    /**
-     * @return the Usergrid API url (default: http://api.usergrid.com)
-     */
-    public String getApiUrl() {
-        return apiUrl;
-    }
-
-    /**
-     * @param apiUrl
-     *            the Usergrid API url (default: http://api.usergrid.com)
-     */
-    public void setApiUrl(String apiUrl) {
-        this.apiUrl = apiUrl;
-    }
-
-    /**
-     * @param apiUrl
-     *            the Usergrid API url (default: http://api.usergrid.com)
-     * @return Client object for method call chaining
-     */
-    public Client withApiUrl(String apiUrl) {
-        this.apiUrl = apiUrl;
-        return this;
-    }
-
-
-    /**
-     * the organizationId to set
-     * @param organizationId
-     * @return
-     */
-    public Client withOrganizationId(String organizationId){
-        this.organizationId = organizationId;
-        return this;
-    }
-
-
-
-    /**
-     * @return the organizationId
-     */
-    public String getOrganizationId() {
-        return organizationId;
-    }
-
-    /**
-     * @param organizationId the organizationId to set
-     */
-    public void setOrganizationId(String organizationId) {
-        this.organizationId = organizationId;
-    }
-
-    /**
-     * @return the application id or name
-     */
-    public String getApplicationId() {
-        return applicationId;
-    }
-
-    /**
-     * @param applicationId
-     *            the application id or name
-     */
-    public void setApplicationId(String applicationId) {
-        this.applicationId = applicationId;
-    }
-
-
-    /**
-     * @param applicationId
-     *            the application id or name
-     * @return Client object for method call chaining
-     */
-    public Client withApplicationId(String applicationId) {
-        this.applicationId = applicationId;
-        return this;
-    }
-
-    /**
-     * @return the client key id for making calls as the application-owner. Not
-     *         safe for most mobile use.
-     */
-    public String getClientId() {
-        return clientId;
-    }
-
-    /**
-     * @param clientId
-     *            the client key id for making calls as the application-owner.
-     *            Not safe for most mobile use.
-     */
-    public void setClientId(String clientId) {
-        this.clientId = clientId;
-    }
-
-    /**
-     * @param clientId
-     *            the client key id for making calls as the application-owner.
-     *            Not safe for most mobile use.
-     * @return Client object for method call chaining
-     */
-    public Client withClientId(String clientId) {
-        this.clientId = clientId;
-        return this;
-    }
-
-    /**
-     * @return the client key id for making calls as the application-owner. Not
-     *         safe for most mobile use.
-     */
-    public String getClientSecret() {
-        return clientSecret;
-    }
-
-    /**
-     * @param clientSecret
-     *            the client key id for making calls as the application-owner.
-     *            Not safe for most mobile use.
-     */
-    public void setClientSecret(String clientSecret) {
-        this.clientSecret = clientSecret;
-    }
-
-    /**
-     * @param clientSecret
-     *            the client key id for making calls as the application-owner.
-     *            Not safe for most mobile use.
-     * @return Client object for method call chaining
-     */
-    public Client withClientSecret(String clientSecret) {
-        this.clientSecret = clientSecret;
-        return this;
-    }
-
-    /**
-     * @return the logged-in user after a successful authorizeAppUser request
-     */
-    public User getLoggedInUser() {
-        return loggedInUser;
-    }
-
-    /**
-     * @param loggedInUser
-     *            the logged-in user, usually not set by host application
-     */
-    public void setLoggedInUser(User loggedInUser) {
-        this.loggedInUser = loggedInUser;
-    }
-
-    /**
-     * @return the OAuth2 access token after a successful authorize request
-     */
-    public String getAccessToken() {
-        return accessToken;
-    }
-
-    /**
-     * @param accessToken
-     *            an OAuth2 access token. Usually not set by host application
-     */
-    public void setAccessToken(String accessToken) {
-        this.accessToken = accessToken;
-    }
-
-    /**
-     * @return the currentOrganization
-     */
-    public String getCurrentOrganization() {
-        return currentOrganization;
-    }
-
-    /**
-     * @param currentOrganization
-     */
-    public void setCurrentOrganization(String currentOrganization) {
-        this.currentOrganization = currentOrganization;
-    }
-
-    /**
-     * Low-level HTTP request method. Synchronous, blocks till response or
-     * timeout.
-     *
-     * @param method
-     *            HttpMethod method
-     * @param cls
-     *            class for the return type
-     * @param params
-     *            parameters to encode as querystring or body parameters
-     * @param data
-     *            JSON data to put in body
-     * @param segments
-     *            REST url path segments (i.e. /segment1/segment2/segment3)
-     * @return results marshalled into class specified in cls parameter
-     */
-    public <T> T httpRequest(HttpMethod method, Class<T> cls,
-            Map<String, Object> params, Object data, String... segments) {
-        HttpHeaders requestHeaders = new HttpHeaders();
-        requestHeaders.setAccept(Collections
-                .singletonList(MediaType.APPLICATION_JSON));
-        if (accessToken != null) {
-            String auth = "Bearer " + accessToken;
-            requestHeaders.set("Authorization", auth);
-            log.info("Authorization: " + auth);
-        }
-        String url = path(apiUrl, segments);
-
-        MediaType contentType = MediaType.APPLICATION_JSON;
-        if (method.equals(HttpMethod.POST) && isEmpty(data) && !isEmpty(params)) {
-            data = encodeParams(params);
-            contentType = MediaType.APPLICATION_FORM_URLENCODED;
-        } else {
-            url = addQueryParams(url, params);
-        }
-        requestHeaders.setContentType(contentType);
-        HttpEntity<?> requestEntity = null;
-
-        if (method.equals(HttpMethod.POST) || method.equals(HttpMethod.PUT)) {
-            if (isEmpty(data)) {
-                data = JsonNodeFactory.instance.objectNode();
-            }
-            requestEntity = new HttpEntity<Object>(data, requestHeaders);
-        } else {
-            requestEntity = new HttpEntity<Object>(requestHeaders);
-        }
-        log.info("Client.httpRequest(): url: " + url);
-        ResponseEntity<T> responseEntity = restTemplate.exchange(url, method,
-                requestEntity, cls);
-        log.info("Client.httpRequest(): reponse body: "
-                + responseEntity.getBody().toString());
-        return responseEntity.getBody();
-    }
-
-    /**
-     * High-level Usergrid API request.
-     *
-     * @param method
-     * @param params
-     * @param data
-     * @param segments
-     * @return
-     */
-    public ApiResponse apiRequest(HttpMethod method,
-            Map<String, Object> params, Object data, String... segments) {
-        ApiResponse response = null;
-        try {
-            response = httpRequest(method, ApiResponse.class, params, data,
-                    segments);
-            log.info("Client.apiRequest(): Response: " + response);
-        } catch (HttpClientErrorException e) {
-            log.error("Client.apiRequest(): HTTP error: "
-                    + e.getLocalizedMessage());
-            response = parse(e.getResponseBodyAsString(), ApiResponse.class);
-            if ((response != null) && !isEmpty(response.getError())) {
-                log.error("Client.apiRequest(): Response error: "
-                        + response.getError());
-                if (!isEmpty(response.getException())) {
-                    log.error("Client.apiRequest(): Response exception: "
-                            + response.getException());
-                }
-            }
-        }
-        return response;
-    }
-
-    protected void assertValidApplicationId() {
-        if (isEmpty(applicationId)) {
-            throw new IllegalArgumentException("No application id specified");
-        }
-    }
-
-    /**
-     * Log the user in and get a valid access token.
-     *
-     * @param email
-     * @param password
-     * @return non-null ApiResponse if request succeeds, check getError() for
-     *         "invalid_grant" to see if access is denied.
-     */
-    public ApiResponse authorizeAppUser(String email, String password) {
-        validateNonEmptyParam(email, "email");
-        validateNonEmptyParam(password,"password");
-        assertValidApplicationId();
-        loggedInUser = null;
-        accessToken = null;
-        currentOrganization = null;
-        Map<String, Object> formData = new HashMap<String, Object>();
-        formData.put("grant_type", "password");
-        formData.put("username", email);
-        formData.put("password", password);
-        ApiResponse response = apiRequest(HttpMethod.POST, formData, null,
-                organizationId, applicationId, "token");
-        if (response == null) {
-            return response;
-        }
-        if (!isEmpty(response.getAccessToken()) && (response.getUser() != null)) {
-            loggedInUser = response.getUser();
-            accessToken = response.getAccessToken();
-            currentOrganization = null;
-            log.info("Client.authorizeAppUser(): Access token: " + accessToken);
-        } else {
-            log.info("Client.authorizeAppUser(): Response: " + response);
-        }
-        return response;
-    }
-
-    /**
-     * Change the password for the currently logged in user. You must supply the
-     * old password and the new password.
-     *
-     * @param username
-     * @param oldPassword
-     * @param newPassword
-     * @return
-     */
-    public ApiResponse changePassword(String username, String oldPassword,
-            String newPassword) {
-
-        Map<String, Object> data = new HashMap<String, Object>();
-        data.put("newpassword", newPassword);
-        data.put("oldpassword", oldPassword);
-
-        return apiRequest(HttpMethod.POST, null, data, organizationId,  applicationId, "users",
-                username, "password");
-
-    }
-
-    /**
-     * Log the user in with their numeric pin-code and get a valid access token.
-     *
-     * @param email
-     * @param pin
-     * @return non-null ApiResponse if request succeeds, check getError() for
-     *         "invalid_grant" to see if access is denied.
-     */
-    public ApiResponse authorizeAppUserViaPin(String email, String pin) {
-        validateNonEmptyParam(email, "email");
-        validateNonEmptyParam(pin, "pin");
-        assertValidApplicationId();
-        loggedInUser = null;
-        accessToken = null;
-        currentOrganization = null;
-        Map<String, Object> formData = new HashMap<String, Object>();
-        formData.put("grant_type", "pin");
-        formData.put("username", email);
-        formData.put("pin", pin);
-        ApiResponse response = apiRequest(HttpMethod.POST, formData, null,
-                organizationId,  applicationId, "token");
-        if (response == null) {
-            return response;
-        }
-        if (!isEmpty(response.getAccessToken()) && (response.getUser() != null)) {
-            loggedInUser = response.getUser();
-            accessToken = response.getAccessToken();
-            currentOrganization = null;
-            log.info("Client.authorizeAppUser(): Access token: " + accessToken);
-        } else {
-            log.info("Client.authorizeAppUser(): Response: " + response);
-        }
-        return response;
-    }
-
-    /**
-     * Log the user in with their Facebook access token retrived via Facebook
-     * OAuth.
-     *
-     * @param email
-     * @param pin
-     * @return non-null ApiResponse if request succeeds, check getError() for
-     *         "invalid_grant" to see if access is denied.
-     */
-    public ApiResponse authorizeAppUserViaFacebook(String fb_access_token) {
-        validateNonEmptyParam(fb_access_token, "Facebook token");
-        assertValidApplicationId();
-        loggedInUser = null;
-        accessToken = null;
-        currentOrganization = null;
-        Map<String, Object> formData = new HashMap<String, Object>();
-        formData.put("fb_access_token", fb_access_token);
-        ApiResponse response = apiRequest(HttpMethod.POST, formData, null,
-                organizationId,  applicationId, "auth", "facebook");
-        if (response == null) {
-            return response;
-        }
-        if (!isEmpty(response.getAccessToken()) && (response.getUser() != null)) {
-            loggedInUser = response.getUser();
-            accessToken = response.getAccessToken();
-            currentOrganization = null;
-            log.info("Client.authorizeAppUserViaFacebook(): Access token: "
-                    + accessToken);
-        } else {
-            log.info("Client.authorizeAppUserViaFacebook(): Response: "
-                    + response);
-        }
-        return response;
-    }
-
-    /**
-     * Log the app in with it's client id and client secret key. Not recommended
-     * for production apps.
-     *
-     * @param email
-     * @param pin
-     * @return non-null ApiResponse if request succeeds, check getError() for
-     *         "invalid_grant" to see if access is denied.
-     */
-    public ApiResponse authorizeAppClient(String clientId, String clientSecret) {
-        validateNonEmptyParam(clientId, "client identifier");
-        validateNonEmptyParam(clientSecret, "client secret");
-        assertValidApplicationId();
-        loggedInUser = null;
-        accessToken = null;
-        currentOrganization = null;
-        Map<String, Object> formData = new HashMap<String, Object>();
-        formData.put("grant_type", "client_credentials");
-        formData.put("client_id", clientId);
-        formData.put("client_secret", clientSecret);
-        ApiResponse response = apiRequest(HttpMethod.POST, formData, null,
-                organizationId, applicationId, "token");
-        if (response == null) {
-            return response;
-        }
-        if (!isEmpty(response.getAccessToken())) {
-            loggedInUser = null;
-            accessToken = response.getAccessToken();
-            currentOrganization = null;
-            log.info("Client.authorizeAppClient(): Access token: "
-                    + accessToken);
-        } else {
-            log.info("Client.authorizeAppClient(): Response: " + response);
-        }
-        return response;
-    }
-
-    private void validateNonEmptyParam(Object param, String paramName) {
-        if ( isEmpty(param) ) {
-            throw new IllegalArgumentException(paramName + " cannot be null or empty");
-        }
-    }
-
-    /**
-     * Registers a device using the device's unique device ID.
-     *
-     * @param context
-     * @param properties
-     * @return a Device object if success
-     */
-    public Device registerDevice(UUID deviceId, Map<String, Object> properties) {
-        assertValidApplicationId();
-        if (properties == null) {
-            properties = new HashMap<String, Object>();
-        }
-        properties.put("refreshed", System.currentTimeMillis());
-        ApiResponse response = apiRequest(HttpMethod.PUT, null, properties,
-                organizationId, applicationId, "devices", deviceId.toString());
-        return response.getFirstEntity(Device.class);
-    }
-
-    /**
-     * Registers a device using the device's unique device ID.
-     *
-     * @param context
-     * @param properties
-     * @return a Device object if success
-     */
-    public Device registerDeviceForPush(UUID deviceId,
-                                        String notifier,
-                                        String token,
-                                        Map<String, Object> properties) {
-      if (properties == null) {
-          properties = new HashMap<String, Object>();
-      }
-      String notifierKey = notifier + ".notifier.id";
-      properties.put(notifierKey, token);
-      return registerDevice(deviceId, properties);
-    }
-
-    /**
-     * Create a new entity on the server.
-     *
-     * @param entity
-     * @return an ApiResponse with the new entity in it.
-     */
-    public ApiResponse createEntity(Entity entity) {
-        assertValidApplicationId();
-        if (isEmpty(entity.getType())) {
-            throw new IllegalArgumentException("Missing entity type");
-        }
-        ApiResponse response = apiRequest(HttpMethod.POST, null, entity,
-                organizationId, applicationId, entity.getType());
-        return response;
-    }
-
-    /**
-     * Create a new entity on the server from a set of properties. Properties
-     * must include a "type" property.
-     *
-     * @param properties
-     * @return an ApiResponse with the new entity in it.
-     */
-    public ApiResponse createEntity(Map<String, Object> properties) {
-        assertValidApplicationId();
-        if (isEmpty(properties.get("type"))) {
-            throw new IllegalArgumentException("Missing entity type");
-        }
-        ApiResponse response = apiRequest(HttpMethod.POST, null, properties,
-                organizationId, applicationId, properties.get("type").toString());
-        return response;
-    }
-
-    /**
-     * Creates a user.
-     *
-     * @param username
-     *            required
-     * @param name
-     * @param email
-     * @param password
-     * @return
-     */
-    public ApiResponse createUser(String username, String name, String email,
-            String password) {
-        Map<String, Object> properties = new HashMap<String, Object>();
-        properties.put("type", "user");
-        if (username != null) {
-            properties.put("username", username);
-        }
-        if (name != null) {
-            properties.put("name", name);
-        }
-        if (email != null) {
-            properties.put("email", email);
-        }
-        if (password != null) {
-            properties.put("password", password);
-        }
-        return createEntity(properties);
-    }
-
-    /**
-     * Get the groups for the user.
-     *
-     * @param userId
-     * @return a map with the group path as the key and the Group entity as the
-     *         value
-     */
-    public Map<String, Group> getGroupsForUser(String userId) {
-        ApiResponse response = apiRequest(HttpMethod.GET, null, null,
-                organizationId, applicationId, "users", userId, "groups");
-        Map<String, Group> groupMap = new HashMap<String, Group>();
-        if (response != null) {
-            List<Group> groups = response.getEntities(Group.class);
-            for (Group group : groups) {
-                groupMap.put(group.getPath(), group);
-            }
-        }
-        return groupMap;
-    }
-
-    /**
-     * Get a user's activity feed. Returned as a query to ease paging.
-     *
-     * @param userId
-     * @return
-     */
-    public Query queryActivityFeedForUser(String userId) {
-        Query q = queryEntitiesRequest(HttpMethod.GET, null, null,
-                organizationId, applicationId, "users", userId, "feed");
-        return q;
-    }
-
-    /**
-     * Posts an activity to a user. Activity must already be created.
-     *
-     * @param userId
-     * @param activity
-     * @return
-     */
-    public ApiResponse postUserActivity(String userId, Activity activity) {
-        return apiRequest(HttpMethod.POST, null, activity,  organizationId, applicationId, "users",
-                userId, "activities");
-    }
-
-    /**
-     * Creates and posts an activity to a user.
-     *
-     * @param verb
-     * @param title
-     * @param content
-     * @param category
-     * @param user
-     * @param object
-     * @param objectType
-     * @param objectName
-     * @param objectContent
-     * @return
-     */
-    public ApiResponse postUserActivity(String verb, String title,
-            String content, String category, User user, Entity object,
-            String objectType, String objectName, String objectContent) {
-        Activity activity = Activity.newActivity(verb, title, content,
-                category, user, object, objectType, objectName, objectContent);
-        return postUserActivity(user.getUuid().toString(), activity);
-    }
-
-    /**
-     * Posts an activity to a group. Activity must already be created.
-     *
-     * @param userId
-     * @param activity
-     * @return
-     */
-    public ApiResponse postGroupActivity(String groupId, Activity activity) {
-        return apiRequest(HttpMethod.POST, null, activity, organizationId, applicationId, "groups",
-                groupId, "activities");
-    }
-
-    /**
-     * Creates and posts an activity to a group.
-     *
-     * @param groupId
-     * @param verb
-     * @param title
-     * @param content
-     * @param category
-     * @param user
-     * @param object
-     * @param objectType
-     * @param objectName
-     * @param objectContent
-     * @return
-     */
-    public ApiResponse postGroupActivity(String groupId, String verb, String title,
-            String content, String category, User user, Entity object,
-            String objectType, String objectName, String objectContent) {
-        Activity activity = Activity.newActivity(verb, title, content,
-                category, user, object, objectType, objectName, objectContent);
-        return postGroupActivity(groupId, activity);
-    }
-
-    /**
-     * Post an activity to the stream.
-     *
-     * @param activity
-     * @return
-     */
-    public ApiResponse postActivity(Activity activity) {
-        return createEntity(activity);
-    }
-
-    /**
-     * Creates and posts an activity to a group.
-     *
-     * @param verb
-     * @param title
-     * @param content
-     * @param category
-     * @param user
-     * @param object
-     * @param objectType
-     * @param objectName
-     * @param objectContent
-     * @return
-     */
-    public ApiResponse postActivity(String verb, String title,
-            String content, String category, User user, Entity object,
-            String objectType, String objectName, String objectContent) {
-        Activity activity = Activity.newActivity(verb, title, content,
-                category, user, object, objectType, objectName, objectContent);
-        return createEntity(activity);
-    }
-
-    /**
-     * Get a group's activity feed. Returned as a query to ease paging.
-     *
-     * @param userId
-     * @return
-     */
-    public Query queryActivity() {
-        Query q = queryEntitiesRequest(HttpMethod.GET, null, null,
-               organizationId, applicationId, "activities");
-        return q;
-    }
-
-
-
-    /**
-     * Get a group's activity feed. Returned as a query to ease paging.
-     *
-     * @param userId
-     * @return
-     */
-    public Query queryActivityFeedForGroup(String groupId) {
-        Query q = queryEntitiesRequest(HttpMethod.GET, null, null,
-                organizationId,  applicationId, "groups", groupId, "feed");
-        return q;
-    }
-
-    /**
-     * Perform a query request and return a query object. The Query object
-     * provides a simple way of dealing with result sets that need to be
-     * iterated or paged through.
-     *
-     * @param method
-     * @param params
-     * @param data
-     * @param segments
-     * @return
-     */
-    public Query queryEntitiesRequest(HttpMethod method,
-            Map<String, Object> params, Object data, String... segments) {
-        ApiResponse response = apiRequest(method, params, data, segments);
-        return new EntityQuery(response, method, params, data, segments);
-    }
-
-    /**
-     * Perform a query of the users collection.
-     *
-     * @return
-     */
-    public Query queryUsers() {
-        Query q = queryEntitiesRequest(HttpMethod.GET, null, null,
-                organizationId,  applicationId, "users");
-        return q;
-    }
-
-    /**
-     * Perform a query of the users collection using the provided query command.
-     * For example: "name contains 'ed'".
-     *
-     * @param ql
-     * @return
-     */
-    public Query queryUsers(String ql) {
-        Map<String, Object> params = new HashMap<String, Object>();
-        params.put("ql", ql);
-        Query q = queryEntitiesRequest(HttpMethod.GET, params, null,organizationId,
-                applicationId, "users");
-        return q;
-    }
-
-    /**
-     * Perform a query of the users collection within the specified distance of
-     * the specified location and optionally using the provided query command.
-     * For example: "name contains 'ed'".
-     *
-     * @param distance
-     * @param location
-     * @param ql
-     * @return
-     */
-    public Query queryUsersWithinLocation(float distance, float lattitude,
-            float longitude, String ql) {
-        Map<String, Object> params = new HashMap<String, Object>();
-        params.put("ql",
-                this.makeLocationQL(distance, lattitude, longitude, ql));
-        Query q = queryEntitiesRequest(HttpMethod.GET, params, null, organizationId,
-                applicationId, "users");
-        return q;
-    }
-
-    /**
-     * Queries the users for the specified group.
-     *
-     * @param groupId
-     * @return
-     */
-    public Query queryUsersForGroup(String groupId) {
-        Query q = queryEntitiesRequest(HttpMethod.GET, null, null, organizationId,
-                applicationId, "groups", groupId, "users");
-        return q;
-    }
-
-    /**
-     * Adds a user to the specified groups.
-     *
-     * @param userId
-     * @param groupId
-     * @return
-     */
-    public ApiResponse addUserToGroup(String userId, String groupId) {
-        return apiRequest(HttpMethod.POST, null, null, organizationId,  applicationId, "groups",
-                groupId, "users", userId);
-    }
-
-    /**
-     * Creates a group with the specified group path. Group paths can be slash
-     * ("/") delimited like file paths for hierarchical group relationships.
-     *
-     * @param groupPath
-     * @return
-     */
-    public ApiResponse createGroup(String groupPath) {
-        return createGroup(groupPath, null);
-    }
-
-    /**
-     * Creates a group with the specified group path and group title. Group
-     * paths can be slash ("/") delimited like file paths for hierarchical group
-     * relationships.
-     *
-     * @param groupPath
-     * @param groupTitle
-     * @return
-     */
-    public ApiResponse createGroup(String groupPath, String groupTitle) {
-     return createGroup(groupPath, groupTitle, null);
-    }
-
-    /**
-     * Create a group with a path, title and name
-     * @param groupPath
-     * @param groupTitle
-     * @param groupName
-     * @return
-     */
-    public ApiResponse createGroup(String groupPath, String groupTitle, String groupName){
-        Map<String, Object> data = new HashMap<String, Object>();
-        data.put("type", "group");
-        data.put("path", groupPath);
-
-        if (groupTitle != null) {
-            data.put("title", groupTitle);
-        }
-
-        if(groupName != null){
-            data.put("name", groupName);
-        }
-
-        return apiRequest(HttpMethod.POST, null, data,  organizationId, applicationId, "groups");
-    }
-
-    /**
-     * Perform a query of the users collection using the provided query command.
-     * For example: "name contains 'ed'".
-     *
-     * @param ql
-     * @return
-     */
-    public Query queryGroups(String ql) {
-        Map<String, Object> params = new HashMap<String, Object>();
-        params.put("ql", ql);
-        Query q = queryEntitiesRequest(HttpMethod.GET, params, null, organizationId,
-                applicationId, "groups");
-        return q;
-    }
-
-
-
-    /**
-     * Connect two entities together.
-     *
-     * @param connectingEntityType
-     * @param connectingEntityId
-     * @param connectionType
-     * @param connectedEntityId
-     * @return
-     */
-    public ApiResponse connectEntities(String connectingEntityType,
-            String connectingEntityId, String connectionType,
-            String connectedEntityId) {
-        return apiRequest(HttpMethod.POST, null, null,  organizationId, applicationId,
-                connectingEntityType, connectingEntityId, connectionType,
-                connectedEntityId);
-    }
-
-    /**
-     * Disconnect two entities.
-     *
-     * @param connectingEntityType
-     * @param connectingEntityId
-     * @param connectionType
-     * @param connectedEntityId
-     * @return
-     */
-    public ApiResponse disconnectEntities(String connectingEntityType,
-            String connectingEntityId, String connectionType,
-            String connectedEntityId) {
-        return apiRequest(HttpMethod.DELETE, null, null,  organizationId, applicationId,
-                connectingEntityType, connectingEntityId, connectionType,
-                connectedEntityId);
-    }
-
-    /**
-     * Query the connected entities.
-     *
-     * @param connectingEntityType
-     * @param connectingEntityId
-     * @param connectionType
-     * @param ql
-     * @return
-     */
-    public Query queryEntityConnections(String connectingEntityType,
-            String connectingEntityId, String connectionType, String ql) {
-        Map<String, Object> params = new HashMap<String, Object>();
-        params.put("ql", ql);
-        Query q = queryEntitiesRequest(HttpMethod.GET, params, null,
-                organizationId, applicationId, connectingEntityType, connectingEntityId,
-                connectionType);
-        return q;
-    }
-
-    protected String makeLocationQL(float distance, double lattitude,
-            double longitude, String ql) {
-        String within = String.format("within %d of %d , %d", distance,
-                lattitude, longitude);
-        ql = ql == null ? within : within + " and " + ql;
-        return ql;
-    }
-
-    /**
-     * Query the connected entities within distance of a specific point.
-     *
-     * @param connectingEntityType
-     * @param connectingEntityId
-     * @param connectionType
-     * @param distance
-     * @param latitude
-     * @param longitude
-     * @return
-     */
-    public Query queryEntityConnectionsWithinLocation(
-            String connectingEntityType, String connectingEntityId,
-            String connectionType, float distance, float lattitude,
-            float longitude, String ql) {
-        Map<String, Object> params = new HashMap<String, Object>();
-        params.put("ql", makeLocationQL(distance, lattitude, longitude, ql));
-        Query q = queryEntitiesRequest(HttpMethod.GET, params, null, organizationId,
-                applicationId, connectingEntityType, connectingEntityId,
-                connectionType);
-        return q;
-    }
-
-    public interface Query {
-
-        public ApiResponse getResponse();
-
-        public boolean more();
-
-        public Query next();
-
-    }
-
-    /**
-     * Query object
-     *
-     */
-    private class EntityQuery implements Query {
-        final HttpMethod method;
-        final Map<String, Object> params;
-        final Object data;
-        final String[] segments;
-        final ApiResponse response;
-
-        private EntityQuery(ApiResponse response, HttpMethod method,
-                Map<String, Object> params, Object data, String[] segments) {
-            this.response = response;
-            this.method = method;
-            this.params = params;
-            this.data = data;
-            this.segments = segments;
-        }
-
-        private EntityQuery(ApiResponse response, EntityQuery q) {
-            this.response = response;
-            method = q.method;
-            params = q.params;
-            data = q.data;
-            segments = q.segments;
-        }
-
-        /**
-         * @return the api response of the last request
-         */
-        public ApiResponse getResponse() {
-            return response;
-        }
-
-        /**
-         * @return true if the server indicates more results are available
-         */
-        public boolean more() {
-            if ((response != null) && (response.getCursor() != null)
-                    && (response.getCursor().length() > 0)) {
-                return true;
-            }
-            return false;
-        }
-
-        /**
-         * Performs a request for the next set of results
-         *
-         * @return query that contains results and where to get more from.
-         */
-        public Query next() {
-            if (more()) {
-                Map<String, Object> nextParams = null;
-                if (params != null) {
-                    nextParams = new HashMap<String, Object>(params);
-                } else {
-                    nextParams = new HashMap<String, Object>();
-                }
-                nextParams.put("cursor", response.getCursor());
-                ApiResponse nextResponse = apiRequest(method, nextParams, data,
-                        segments);
-                return new EntityQuery(nextResponse, this);
-            }
-            return null;
-        }
-
-    }
-
-    private String normalizeQueuePath(String path) {
-        return arrayToDelimitedString(
-                tokenizeToStringArray(path, "/", true, true), "/");
-    }
-
-    public ApiResponse postMessage(String path, Map<String, Object> message) {
-        return apiRequest(HttpMethod.POST, null, message, organizationId,  applicationId,
-                "queues", normalizeQueuePath(path));
-    }
-
-    public ApiResponse postMessage(String path,
-            List<Map<String, Object>> messages) {
-        return apiRequest(HttpMethod.POST, null, messages,  organizationId, applicationId,
-                "queues", normalizeQueuePath(path));
-    }
-
-    public enum QueuePosition {
-        START("start"), END("end"), LAST("last"), CONSUMER("consumer");
-
-        private final String shortName;
-
-        QueuePosition(String shortName) {
-            this.shortName = shortName;
-        }
-
-        static Map<String, QueuePosition> nameMap = new ConcurrentHashMap<String, QueuePosition>();
-
-        static {
-            for (QueuePosition op : EnumSet.allOf(QueuePosition.class)) {
-                if (op.shortName != null) {
-                    nameMap.put(op.shortName, op);
-                }
-            }
-        }
-
-        public static QueuePosition find(String s) {
-            if (s == null) {
-                return null;
-            }
-            return nameMap.get(s);
-        }
-
-        @Override
-        public String toString() {
-            return shortName;
-        }
-    }
-
-    public ApiResponse getMessages(String path, String consumer, UUID last,
-            Long time, Integer prev, Integer next, Integer limit,
-            QueuePosition pos, Boolean update, Boolean sync) {
-        Map<String, Object> params = new HashMap<String, Object>();
-        if (consumer != null) {
-            params.put("consumer", consumer);
-        }
-        if (last != null) {
-            params.put("last", last);
-        }
-        if (time != null) {
-            params.put("time", time);
-        }
-        if (prev != null) {
-            params.put("prev", prev);
-        }
-        if (next != null) {
-            params.put("next", next);
-        }
-        if (limit != null) {
-            params.put("limit", limit);
-        }
-        if (pos != null) {
-            params.put("pos", pos.toString());
-        }
-        if (update != null) {
-            params.put("update", update);
-        }
-        if (sync != null) {
-            params.put("synchronized", sync);
-        }
-        return apiRequest(HttpMethod.GET, params, null,  organizationId, applicationId,
-                "queues", normalizeQueuePath(path));
-    }
-
-    public ApiResponse addSubscriber(String publisherQueue,
-            String subscriberQueue) {
-        return apiRequest(HttpMethod.POST, null, null, organizationId,  applicationId, "queues",
-                normalizeQueuePath(publisherQueue), "subscribers",
-                normalizeQueuePath(subscriberQueue));
-    }
-
-    public ApiResponse removeSubscriber(String publisherQueue,
-            String subscriberQueue) {
-        return apiRequest(HttpMethod.DELETE, null, null, organizationId,  applicationId,
-                "queues", normalizeQueuePath(publisherQueue), "subscribers",
-                normalizeQueuePath(subscriberQueue));
-    }
-
-    private class QueueQuery implements Query {
-        final HttpMethod method;
-        final Map<String, Object> params;
-        final Object data;
-        final String queuePath;
-        final ApiResponse response;
-
-        private QueueQuery(ApiResponse response, HttpMethod method,
-                Map<String, Object> params, Object data, String queuePath) {
-            this.response = response;
-            this.method = method;
-            this.params = params;
-            this.data = data;
-            this.queuePath = normalizeQueuePath(queuePath);
-        }
-
-        private QueueQuery(ApiResponse response, QueueQuery q) {
-            this.response = response;
-            method = q.method;
-            params = q.params;
-            data = q.data;
-            queuePath = q.queuePath;
-        }
-
-        /**
-         * @return the api response of the last request
-         */
-        public ApiResponse getResponse() {
-            return response;
-        }
-
-        /**
-         * @return true if the server indicates more results are available
-         */
-        public boolean more() {
-            if ((response != null) && (response.getCursor() != null)
-                    && (response.getCursor().length() > 0)) {
-                return true;
-            }
-            return false;
-        }
-
-        /**
-         * Performs a request for the next set of results
-         *
-         * @return query that contains results and where to get more from.
-         */
-        public Query next() {
-            if (more()) {
-                Map<String, Object> nextParams = null;
-                if (params != null) {
-                    nextParams = new HashMap<String, Object>(params);
-                } else {
-                    nextParams = new HashMap<String, Object>();
-                }
-                nextParams.put("start", response.getCursor());
-                ApiResponse nextResponse = apiRequest(method, nextParams, data,
-                        queuePath);
-                return new QueueQuery(nextResponse, this);
-            }
-            return null;
-        }
-
-    }
-
-    public Query queryQueuesRequest(HttpMethod method,
-            Map<String, Object> params, Object data, String queuePath) {
-        ApiResponse response = apiRequest(method, params, data, queuePath);
-        return new QueueQuery(response, method, params, data, queuePath);
-    }
-
-}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/Usergrid.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/Usergrid.java
new file mode 100644
index 0000000..f7cd545
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/Usergrid.java
@@ -0,0 +1,285 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client;
+
+import org.apache.usergrid.java.client.UsergridEnums.UsergridAuthMode;
+import org.apache.usergrid.java.client.auth.UsergridAppAuth;
+import org.apache.usergrid.java.client.auth.UsergridAuth;
+import org.apache.usergrid.java.client.auth.UsergridUserAuth;
+import org.apache.usergrid.java.client.model.*;
+import org.apache.usergrid.java.client.query.UsergridQuery;
+import org.apache.usergrid.java.client.response.UsergridResponse;
+import org.apache.usergrid.java.client.UsergridEnums.UsergridDirection;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.List;
+import java.util.Map;
+
+@SuppressWarnings("unused")
+public final class Usergrid {
+    @NotNull public static final String UsergridSDKVersion = "2.1.0";
+
+    private static UsergridClient sharedClient;
+    private Usergrid() { /** Private constructor because we only have static methods. **/ }
+
+    public static boolean isInitialized() {
+        return (Usergrid.sharedClient != null);
+    }
+    public static void reset() { Usergrid.sharedClient = null; }
+
+    @NotNull
+    public static UsergridClient getInstance() throws NullPointerException {
+        if (!Usergrid.isInitialized()) {
+            throw new NullPointerException("Shared client has not been initialized!");
+        }
+        return Usergrid.sharedClient;
+    }
+
+    @NotNull
+    public static UsergridClient initSharedInstance(@NotNull final UsergridClientConfig config) {
+        if (Usergrid.isInitialized()) {
+            System.out.print("The Usergrid shared instance was already initialized. All subsequent initialization attempts (including this) will be ignored.");
+        } else {
+            Usergrid.sharedClient = new UsergridClient(config);
+        }
+        return Usergrid.sharedClient;
+    }
+
+    @NotNull
+    public static UsergridClient initSharedInstance(@NotNull final String orgId, @NotNull final String appId) {
+        return Usergrid.initSharedInstance(new UsergridClientConfig(orgId, appId));
+    }
+
+    @NotNull
+    public static UsergridClient initSharedInstance(@NotNull final String orgId, @NotNull final String appId, @NotNull final String baseUrl) {
+        return Usergrid.initSharedInstance(new UsergridClientConfig(orgId, appId, baseUrl));
+    }
+
+    @NotNull
+    public static UsergridClient initSharedInstance(@NotNull final String orgId, @NotNull final String appId, @NotNull final String baseUrl, @NotNull final UsergridAuthMode authMode) {
+        return Usergrid.initSharedInstance(new UsergridClientConfig(orgId, appId, baseUrl, authMode));
+    }
+
+    @NotNull public static UsergridClientConfig getConfig() { return Usergrid.getInstance().getConfig(); }
+    public static void setConfig(@NotNull UsergridClientConfig config) { Usergrid.getInstance().setConfig(config); }
+
+    @NotNull public static String getAppId() { return Usergrid.getInstance().getAppId(); }
+    public static void setAppId(@NotNull String appId) { Usergrid.getInstance().setAppId(appId); }
+
+    @NotNull public static String getOrgId() { return Usergrid.getInstance().getOrgId(); }
+    public static void setOrgId(@NotNull String orgId) { Usergrid.getInstance().setOrgId(orgId); }
+
+    @NotNull public static String getBaseUrl() { return Usergrid.getInstance().getBaseUrl(); }
+    public static void setBaseUrl(@NotNull String baseUrl) { Usergrid.getInstance().setBaseUrl(baseUrl); }
+
+    @NotNull public static String clientAppUrl() { return Usergrid.getInstance().clientAppUrl(); }
+
+    @NotNull public static UsergridAuthMode getAuthMode() { return Usergrid.getInstance().getAuthMode(); }
+    public static void setAuthMode(@NotNull final UsergridAuthMode authMode) { Usergrid.getInstance().setAuthMode(authMode); }
+
+    @Nullable public static UsergridAppAuth getAppAuth() { return Usergrid.getInstance().getAppAuth(); }
+    public static void setAppAuth(@Nullable final UsergridAppAuth appAuth) { Usergrid.getInstance().setAppAuth(appAuth); }
+
+    @Nullable public static UsergridUser getCurrentUser() { return Usergrid.getInstance().getCurrentUser(); }
+    public static void setCurrentUser(@Nullable final UsergridUser currentUser) { Usergrid.getInstance().setCurrentUser(currentUser); }
+
+    @Nullable
+    public static UsergridAuth authForRequests() {
+        return Usergrid.getInstance().authForRequests();
+    }
+
+    @NotNull
+    public static UsergridClient usingAuth(@NotNull final UsergridAuth auth) {
+        return Usergrid.getInstance().usingAuth(auth);
+    }
+
+    @NotNull
+    public static UsergridClient usingToken(@NotNull final String accessToken) {
+        return Usergrid.getInstance().usingToken(accessToken);
+    }
+
+    @NotNull
+    public static UsergridResponse resetPassword(@NotNull final UsergridUser user, @NotNull final String oldPassword, @NotNull final String newPassword) {
+        return Usergrid.getInstance().resetPassword(user, oldPassword, newPassword);
+    }
+
+    @NotNull
+    public static UsergridResponse authenticateApp() {
+        return Usergrid.getInstance().authenticateApp();
+    }
+
+    @NotNull
+    public static UsergridResponse authenticateApp(@NotNull final UsergridAppAuth appAuth) {
+        return Usergrid.getInstance().authenticateApp(appAuth);
+    }
+
+    @NotNull
+    public static UsergridResponse authenticateUser(@NotNull final UsergridUserAuth userAuth) {
+        return Usergrid.getInstance().authenticateUser(userAuth);
+    }
+
+    @NotNull
+    public static UsergridResponse authenticateUser(@NotNull final UsergridUserAuth userAuth, final boolean setAsCurrentUser) {
+        return Usergrid.getInstance().authenticateUser(userAuth,setAsCurrentUser);
+    }
+
+    @NotNull
+    public static UsergridResponse logoutCurrentUser() {
+        return Usergrid.getInstance().logoutCurrentUser();
+    }
+
+    @NotNull
+    public static UsergridResponse logoutUserAllTokens(@NotNull final String uuidOrUsername) {
+        return Usergrid.getInstance().logoutUserAllTokens(uuidOrUsername);
+    }
+
+    @NotNull
+    public static UsergridResponse logoutUser(@NotNull final String uuidOrUsername, @Nullable final String token) {
+        return Usergrid.getInstance().logoutUser(uuidOrUsername,token);
+    }
+
+    @NotNull
+    public static UsergridResponse sendRequest(@NotNull final UsergridRequest request) {
+        return Usergrid.getInstance().sendRequest(request);
+    }
+
+    @NotNull
+    public static UsergridResponse GET(@NotNull final String type, @NotNull final String uuidOrName) {
+        return Usergrid.getInstance().GET(type, uuidOrName);
+    }
+
+    @NotNull
+    public static UsergridResponse GET(@NotNull final String type) {
+        return Usergrid.getInstance().GET(type);
+    }
+
+    @NotNull
+    public static UsergridResponse GET(@NotNull final UsergridQuery query) {
+        return Usergrid.getInstance().GET(query);
+    }
+
+    @NotNull
+    public static UsergridResponse PUT(@NotNull final String type, @NotNull final String uuidOrName, @NotNull final Map<String, ?> jsonBody) {
+        return Usergrid.getInstance().PUT(type, uuidOrName, jsonBody);
+    }
+
+    @NotNull
+    public static UsergridResponse PUT(@NotNull final String type, @NotNull final Map<String, ?> jsonBody) {
+        return Usergrid.getInstance().PUT(type, jsonBody);
+    }
+
+    @NotNull
+    public static UsergridResponse PUT(@NotNull final UsergridEntity entity) {
+        return Usergrid.getInstance().PUT(entity);
+    }
+
+    @NotNull
+    public static UsergridResponse PUT(@NotNull final UsergridQuery query, @NotNull final Map<String, ?> jsonBody) {
+        return Usergrid.getInstance().PUT(query, jsonBody);
+    }
+
+    @NotNull
+    public static UsergridResponse POST(@NotNull final String type, @NotNull final String uuidOrName, @NotNull final Map<String, Object> jsonBody) {
+        return Usergrid.getInstance().POST(type, uuidOrName, jsonBody);
+    }
+
+    @NotNull
+    public static UsergridResponse POST(@NotNull final String type, @NotNull final Map<String, ?> jsonBody) {
+        return Usergrid.getInstance().POST(type, jsonBody);
+    }
+
+    @NotNull
+    public static UsergridResponse POST(@NotNull final String type, @NotNull final List<Map<String, ?>> jsonBodies) {
+        return Usergrid.getInstance().POST(type, jsonBodies);
+    }
+
+    @NotNull
+    public static UsergridResponse POST(@NotNull final UsergridEntity entity) throws NullPointerException {
+        return Usergrid.getInstance().POST(entity);
+    }
+
+    @NotNull
+    public static UsergridResponse POST(@NotNull final List<UsergridEntity> entities) {
+        return Usergrid.getInstance().POST(entities);
+    }
+
+    @NotNull
+    public static UsergridResponse DELETE(@NotNull final String type, @NotNull final String uuidOrName) {
+        return Usergrid.getInstance().DELETE(type, uuidOrName);
+    }
+
+    @NotNull
+    public static UsergridResponse DELETE(@NotNull final UsergridEntity entity) {
+        return Usergrid.getInstance().DELETE(entity);
+    }
+
+    @NotNull
+    public static UsergridResponse DELETE(@NotNull final UsergridQuery query) {
+        return Usergrid.getInstance().DELETE(query);
+    }
+
+    @NotNull
+    public static UsergridResponse connect(@NotNull final UsergridEntity entity, @NotNull final String relationship, @NotNull final UsergridEntity to) {
+        return Usergrid.getInstance().connect(entity, relationship, to);
+    }
+
+    @NotNull
+    public static UsergridResponse connect(@NotNull final String entityType, @NotNull final String entityId, @NotNull final String relationship, @NotNull final String fromUuid) {
+        return Usergrid.getInstance().connect(entityType,entityId,relationship,fromUuid);
+    }
+
+    @NotNull
+    public static UsergridResponse connect(@NotNull final String entityType, @NotNull final String entityId, @NotNull final String relationship, @NotNull final String toType, @NotNull final String toName) {
+        return Usergrid.getInstance().connect(entityType,entityId,relationship,toType,toName);
+    }
+
+    @NotNull
+    public static UsergridResponse disconnect(@NotNull final UsergridEntity entity, @NotNull final String relationship, @NotNull final UsergridEntity from) {
+        return Usergrid.getInstance().disconnect(entity, relationship, from);
+    }
+
+    @NotNull
+    public static UsergridResponse disconnect(@NotNull final String entityType, @NotNull final String entityId, @NotNull final String relationship, @NotNull final String fromUuid) {
+        return Usergrid.getInstance().disconnect(entityType, entityId, relationship, fromUuid);
+    }
+
+    @NotNull
+    public static UsergridResponse disconnect(@NotNull final String entityType, @NotNull final String entityId, @NotNull final String relationship, @NotNull final String fromType, @NotNull final String fromName) {
+        return Usergrid.getInstance().disconnect(entityType, entityId, relationship, fromType, fromName);
+    }
+
+    @NotNull
+    public static UsergridResponse getConnections(@NotNull final UsergridDirection direction, @NotNull final UsergridEntity entity, @NotNull final String relationship) {
+        return Usergrid.getInstance().getConnections(direction, entity, relationship);
+    }
+
+    @NotNull
+    public static UsergridResponse getConnections(@NotNull final UsergridDirection direction, @NotNull final UsergridEntity entity, @NotNull final String relationship, @Nullable final UsergridQuery query) {
+        return Usergrid.getInstance().getConnections(direction, entity, relationship, query);
+    }
+
+    @NotNull
+    public static UsergridResponse getConnections(@NotNull final UsergridDirection direction, @NotNull final String type, @NotNull final String uuidOrName, @NotNull final String relationship, @Nullable final UsergridQuery query) {
+        return Usergrid.getInstance().getConnections(direction,type,uuidOrName,relationship,query);
+    }
+
+    @NotNull
+    public static UsergridResponse getConnections(@NotNull final UsergridDirection direction, @NotNull final String uuid, @NotNull final String relationship, @Nullable final UsergridQuery query) {
+        return Usergrid.getInstance().getConnections(direction, uuid, relationship, query);
+    }
+}
\ No newline at end of file
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/UsergridClient.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/UsergridClient.java
new file mode 100644
index 0000000..87a84ae
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/UsergridClient.java
@@ -0,0 +1,427 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client;
+
+import org.apache.usergrid.java.client.UsergridEnums.*;
+import org.apache.usergrid.java.client.auth.UsergridAppAuth;
+import org.apache.usergrid.java.client.auth.UsergridAuth;
+import org.apache.usergrid.java.client.auth.UsergridUserAuth;
+import org.apache.usergrid.java.client.model.*;
+import org.apache.usergrid.java.client.query.UsergridQuery;
+import org.apache.usergrid.java.client.response.UsergridResponse;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@SuppressWarnings("unused")
+public class UsergridClient {
+
+    @NotNull public static String DEFAULT_BASE_URL = "https://api.usergrid.com";
+
+    @NotNull private UsergridClientConfig config;
+    @Nullable private UsergridUser currentUser = null;
+    @Nullable private UsergridAuth tempAuth = null;
+
+    @NotNull private final UsergridRequestManager requestManager;
+
+    public UsergridClient(@NotNull final UsergridClientConfig config) {
+        this.config = config;
+        this.requestManager = new UsergridRequestManager(this);
+    }
+
+    public UsergridClient(@NotNull final String orgId, @NotNull final String appId) {
+        this(new UsergridClientConfig(orgId, appId));
+    }
+
+    public UsergridClient(@NotNull final String orgId, @NotNull final String appId, @NotNull final String baseUrl) {
+        this(new UsergridClientConfig(orgId, appId, baseUrl));
+    }
+
+    public UsergridClient(@NotNull final String orgId, @NotNull final String appId, @NotNull final String baseUrl, @NotNull final UsergridAuthMode authMode) {
+        this(new UsergridClientConfig(orgId, appId, baseUrl, authMode));
+    }
+
+    @NotNull public UsergridClientConfig getConfig() { return this.config; }
+    public void setConfig(@NotNull final UsergridClientConfig config) { this.config = config; }
+
+    @NotNull public String getAppId() { return this.config.appId; }
+    public void setAppId(@NotNull final String appId) { this.config.appId = appId; }
+
+    @NotNull public String getOrgId() { return this.config.orgId; }
+    public void setOrgId(@NotNull final String orgId) { this.config.orgId = orgId; }
+
+    @NotNull public String getBaseUrl() { return this.config.baseUrl; }
+    public void setBaseUrl(@NotNull final String baseUrl) { this.config.baseUrl = baseUrl; }
+
+    @NotNull public String clientAppUrl() { return getBaseUrl() + "/" + getOrgId() + "/" + getAppId(); }
+
+    @NotNull public UsergridAuthMode getAuthMode() { return this.config.authMode; }
+    public void setAuthMode(@NotNull final UsergridAuthMode authMode) { this.config.authMode = authMode; }
+
+    @Nullable public UsergridUser getCurrentUser() { return this.currentUser; }
+    public void setCurrentUser(@Nullable final UsergridUser currentUser) { this.currentUser = currentUser; }
+
+    @Nullable public UsergridUserAuth getUserAuth() { return (this.currentUser != null) ? this.currentUser.getUserAuth() : null; }
+
+    @Nullable public UsergridAppAuth getAppAuth() { return this.config.appAuth; }
+    public void setAppAuth(@Nullable final UsergridAppAuth appAuth) { this.config.appAuth = appAuth; }
+
+    @Nullable
+    public UsergridAuth authForRequests() {
+        UsergridAuth authForRequests = null;
+        if (tempAuth != null) {
+            if (tempAuth.isValidToken()) {
+                authForRequests = tempAuth;
+            }
+            tempAuth = null;
+        } else {
+            switch (config.authMode) {
+                case USER: {
+                    if (this.currentUser != null && this.currentUser.getUserAuth() != null && this.currentUser.getUserAuth().isValidToken()) {
+                        authForRequests = this.currentUser.getUserAuth();
+                    }
+                    break;
+                }
+                case APP: {
+                    if (this.config.appAuth != null && this.config.appAuth.isValidToken()) {
+                        authForRequests = this.config.appAuth;
+                    }
+                    break;
+                }
+            }
+        }
+        return authForRequests;
+    }
+
+    @NotNull
+    public UsergridClient usingAuth(@Nullable final UsergridAuth auth) {
+        this.tempAuth = auth;
+        return this;
+    }
+
+    @NotNull
+    public UsergridClient usingToken(@NotNull final String accessToken) {
+        this.tempAuth = new UsergridAuth(accessToken);
+        return this;
+    }
+
+    @NotNull
+    public UsergridResponse authenticateApp() {
+        if( this.config.appAuth == null ) {
+            return UsergridResponse.fromError(this,  "Invalid UsergridAppAuth.", "UsergridClient's appAuth is null.");
+        }
+        return this.authenticateApp(this.config.appAuth);
+    }
+
+    @NotNull
+    public UsergridResponse authenticateApp(@NotNull final UsergridAppAuth auth) {
+        this.config.appAuth = auth;
+        return this.requestManager.authenticateApp(auth);
+    }
+
+    @NotNull
+    public UsergridResponse authenticateUser(@NotNull final UsergridUserAuth userAuth) {
+        return this.authenticateUser(userAuth,true);
+    }
+
+    @NotNull
+    public UsergridResponse authenticateUser(@NotNull final UsergridUserAuth userAuth, final boolean setAsCurrentUser) {
+        UsergridResponse response = this.requestManager.authenticateUser(userAuth);
+        if( response.ok() && setAsCurrentUser ) {
+            this.setCurrentUser(response.user());
+        }
+        return response;
+    }
+
+    @NotNull
+    public UsergridResponse resetPassword(@NotNull final UsergridUser user, @NotNull final String oldPassword, @NotNull final String newPassword) {
+        String usernameOrEmail = user.usernameOrEmail();
+        if( usernameOrEmail == null ) {
+            return UsergridResponse.fromError(this,  "Error resetting password.", "The UsergridUser object must contain a valid username or email to reset the password.");
+        }
+        Map<String, Object> data = new HashMap<>();
+        data.put("newpassword", newPassword);
+        data.put("oldpassword", oldPassword);
+        String[] pathSegments = { "users", usernameOrEmail, "password"};
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.POST, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), null, data, this.authForRequests() ,pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse logoutCurrentUser()  {
+        UsergridUser currentUser = this.currentUser;
+        if( currentUser != null ) {
+            String uuidOrUsername = currentUser.uuidOrUsername();
+            UsergridUserAuth userAuth = currentUser.getUserAuth();
+            if( uuidOrUsername != null && userAuth != null ) {
+                String accessToken = userAuth.getAccessToken();
+                if( accessToken != null ) {
+                    return logoutUser(uuidOrUsername, accessToken);
+                }
+            }
+        }
+        return UsergridResponse.fromError(this,"UsergridClient's currentUser is not valid.", "UsergridClient's currentUser is null or has no uuid or username.");
+    }
+
+    @NotNull
+    public UsergridResponse logoutUserAllTokens(@NotNull final String uuidOrUsername) {
+        return logoutUser(uuidOrUsername, null);
+    }
+
+    @NotNull
+    public UsergridResponse logoutUser(@NotNull final String uuidOrUsername, @Nullable final String token){
+        String[] pathSegments = {"users", uuidOrUsername, ""};
+        int len = pathSegments.length;
+        Map<String, Object> param = new HashMap<>();
+        if(token != null){
+            pathSegments[len-1] = "revoketoken";
+            param.put("token",token);
+        }
+        else{
+            pathSegments[len-1] = "revoketokens";
+        }
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.PUT, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), param, null, this.authForRequests() , pathSegments);
+        UsergridResponse response = this.sendRequest(request);
+        UsergridUser currentUser = this.getCurrentUser();
+        if( currentUser != null && response.ok() ) {
+            if( uuidOrUsername.equalsIgnoreCase(currentUser.uuidOrUsername()) ) {
+                this.setCurrentUser(null);
+            }
+        }
+        return response;
+    }
+
+    @NotNull
+    public UsergridResponse sendRequest(@NotNull final UsergridRequest request) {
+        return this.requestManager.performRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse GET(@NotNull final String type, @NotNull final String uuidOrName) {
+        String[] pathSegments = {type, uuidOrName};
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.GET, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse GET(@NotNull final String type) {
+        String[] pathSegments = {type};
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.GET, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse GET(@NotNull final UsergridQuery query) {
+        String collectionName = query.getCollection();
+        if( collectionName == null ) {
+            return UsergridResponse.fromError(this,  "Query collection name missing.", "Query collection name is missing.");
+        }
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.GET, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), query, this.authForRequests() , collectionName);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse PUT(@NotNull final String type, @NotNull final String uuidOrName, @NotNull final Map<String, ?> jsonBody) {
+        String[] pathSegments = { type, uuidOrName };
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.PUT, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), null, jsonBody, this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse PUT(@NotNull final String type, @NotNull final Map<String, ?> jsonBody) {
+        String uuidOrName = null;
+        Object uuid = jsonBody.get(UsergridEntityProperties.UUID.toString());
+        if( uuid != null ) {
+            uuidOrName = uuid.toString();
+        } else {
+            Object name = jsonBody.get(UsergridEntityProperties.NAME.toString());
+            if( name != null ) {
+                uuidOrName = name.toString();
+            }
+        }
+        if( uuidOrName == null ) {
+            return UsergridResponse.fromError(this,  "jsonBody not valid..", "The `jsonBody` must contain a valid value for either `uuid` or `name`.");
+        }
+        String[] pathSegments = { type, uuidOrName };
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.PUT, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), null, jsonBody, this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse PUT(@NotNull final UsergridEntity entity) {
+        String entityUuidOrName = entity.uuidOrName();
+        if( entityUuidOrName == null ) {
+            return UsergridResponse.fromError(this,  "No UUID or name found.", "The entity object must have a `uuid` or `name` assigned.");
+        }
+        String[] pathSegments = { entity.getType(), entityUuidOrName };
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.PUT, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), null, entity, this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse PUT(@NotNull final UsergridQuery query, @NotNull final Map<String, ?> jsonBody) {
+        String collectionName = query.getCollection();
+        if( collectionName == null ) {
+            return UsergridResponse.fromError(this,  "Query collection name missing.", "Query collection name is missing.");
+        }
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.PUT, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), null, jsonBody, null, query, this.authForRequests(),collectionName);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse POST(final @NotNull UsergridEntity entity) {
+        String[] pathSegments = {entity.getType()};
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.POST, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), null, entity, this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse POST(@NotNull final List<UsergridEntity> entities) {
+        if( entities.isEmpty() ) {
+            return UsergridResponse.fromError(this,  "Unable to POST entities.", "entities array is empty.");
+        }
+        String[] pathSegments = {entities.get(0).getType()};
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.POST, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), null, entities, this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse POST(@NotNull final String type, @NotNull final String uuidOrName, @NotNull final Map<String, ?> jsonBody) {
+        String[] pathSegments = {type, uuidOrName};
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.POST, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), null, jsonBody, this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse POST(@NotNull final String type, @NotNull final Map<String, ?> jsonBody) {
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.POST, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), null, jsonBody, this.authForRequests() , type);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse POST(@NotNull final String type, @NotNull final List<Map<String, ?>> jsonBodies) {
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.POST, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), null, jsonBodies, this.authForRequests() , type);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse DELETE(@NotNull final UsergridEntity entity) {
+        String entityUuidOrName = entity.uuidOrName();
+        if( entityUuidOrName == null ) {
+            return UsergridResponse.fromError(this,  "No UUID or name found.", "The entity object must have a `uuid` or `name` assigned.");
+        }
+        String[] pathSegments = {entity.getType(), entityUuidOrName};
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.DELETE, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse DELETE(@NotNull final String type, @NotNull final String uuidOrName) {
+        String[] pathSegments = {type, uuidOrName};
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.DELETE, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse DELETE(@NotNull final UsergridQuery query) {
+        String collectionName = query.getCollection();
+        if( collectionName == null ) {
+            return UsergridResponse.fromError(this,  "Query collection name missing.", "Query collection name is missing.");
+        }
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.DELETE, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), query, this.authForRequests() , collectionName);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse connect(@NotNull final UsergridEntity entity, @NotNull final String relationship, @NotNull final UsergridEntity to) {
+        String entityUuidOrName = entity.uuidOrName();
+        String toUuidOrName = to.uuidOrName();
+        if( entityUuidOrName == null || toUuidOrName == null ) {
+            return UsergridResponse.fromError(this, "Invalid Entity Connection Attempt.", "One or both entities that are attempting to be connected do not contain a valid UUID or Name property.");
+        }
+        return this.connect(entity.getType(), entityUuidOrName, relationship, to.getType(), toUuidOrName);
+    }
+
+    @NotNull
+    public UsergridResponse connect(@NotNull final String entityType, @NotNull final String entityId, @NotNull final String relationship, @NotNull final String toType, @NotNull final String toName) {
+        String[] pathSegments = {entityType, entityId, relationship, toType, toName};
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.POST, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse connect(@NotNull final String entityType, @NotNull final String entityId, @NotNull final String relationship, @NotNull final String toId) {
+        String[] pathSegments = { entityType, entityId, relationship, toId};
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.POST, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse disconnect(@NotNull final String entityType, @NotNull final String entityId, @NotNull final String relationship, @NotNull final String fromUuid) {
+        String[] pathSegments = {entityType, entityId, relationship, fromUuid};
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.DELETE, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse disconnect(@NotNull final String entityType, @NotNull final String entityId, @NotNull final String relationship, @NotNull final String fromType, @NotNull final String fromName) {
+        String[] pathSegments = {entityType, entityId, relationship, fromType, fromName};
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.DELETE, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse disconnect(@NotNull final UsergridEntity entity, @NotNull final String relationship, @NotNull final UsergridEntity from) {
+        String entityUuidOrName = entity.uuidOrName();
+        String fromUuidOrName = from.uuidOrName();
+        if( entityUuidOrName == null || fromUuidOrName == null ) {
+            return UsergridResponse.fromError(this, "Invalid Entity Disconnect Attempt.", "One or both entities that are attempting to be disconnected do not contain a valid UUID or Name property.");
+        }
+        return this.disconnect(entity.getType(), entityUuidOrName, relationship, from.getType(), fromUuidOrName);
+    }
+
+    @NotNull
+    public UsergridResponse getConnections(@NotNull final UsergridDirection direction, @NotNull final UsergridEntity entity, @NotNull final String relationship) {
+        return this.getConnections(direction,entity,relationship,null);
+    }
+
+    @NotNull
+    public UsergridResponse getConnections(@NotNull final UsergridDirection direction, @NotNull final UsergridEntity entity, @NotNull final String relationship, @Nullable final UsergridQuery query) {
+        String entityUuidOrName = entity.uuidOrName();
+        if( entityUuidOrName == null ) {
+            return UsergridResponse.fromError(this, "Invalid Entity Get Connections Attempt.", "The entity must have a `uuid` or `name` assigned.");
+        }
+        return this.getConnections(direction,entity.getType(),entityUuidOrName,relationship,query);
+    }
+
+    @NotNull
+    public UsergridResponse getConnections(@NotNull final UsergridDirection direction, @NotNull final String type, @NotNull final String uuidOrName, @NotNull final String relationship, @Nullable final UsergridQuery query) {
+        String[] pathSegments = {type, uuidOrName, direction.connectionValue(), relationship};
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.GET, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), query, this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+
+    @NotNull
+    public UsergridResponse getConnections(@NotNull final UsergridDirection direction, @NotNull final String uuid, @NotNull final String relationship, @Nullable final UsergridQuery query) {
+        String[] pathSegments = {uuid, direction.connectionValue(), relationship};
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.GET, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.clientAppUrl(), query, this.authForRequests() , pathSegments);
+        return this.sendRequest(request);
+    }
+}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/UsergridClientConfig.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/UsergridClientConfig.java
new file mode 100644
index 0000000..f12f9ec
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/UsergridClientConfig.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client;
+
+import org.apache.usergrid.java.client.UsergridEnums.UsergridAuthMode;
+import org.apache.usergrid.java.client.auth.UsergridAppAuth;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+public class UsergridClientConfig {
+
+    // The organization identifier.
+    @NotNull public String orgId;
+
+    // The application identifier.
+    @NotNull public String appId;
+
+    // The base URL that all calls will be made with.
+    @NotNull public String baseUrl = UsergridClient.DEFAULT_BASE_URL;
+
+    // The `UsergridAuthMode` value used to determine what type of token will be sent, if any.
+    @NotNull public UsergridAuthMode authMode = UsergridAuthMode.USER;
+
+    @Nullable public UsergridAppAuth appAuth = null;
+
+    @SuppressWarnings("unused")
+    private UsergridClientConfig() {}
+
+    public UsergridClientConfig(@NotNull final String orgId, @NotNull final String appId) {
+        this.orgId = orgId;
+        this.appId = appId;
+    }
+
+    public UsergridClientConfig(@NotNull final String orgId, @NotNull final String appId, @NotNull final String baseUrl) {
+        this.orgId = orgId;
+        this.appId = appId;
+        this.baseUrl = baseUrl;
+    }
+
+    public UsergridClientConfig(@NotNull final String orgId, @NotNull final String appId, @NotNull final String baseUrl, @NotNull final UsergridAuthMode authMode) {
+        this.orgId = orgId;
+        this.appId = appId;
+        this.baseUrl = baseUrl;
+        this.authMode = authMode;
+    }
+}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/UsergridEnums.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/UsergridEnums.java
new file mode 100644
index 0000000..4e2a8b0
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/UsergridEnums.java
@@ -0,0 +1,170 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client;
+
+import org.apache.usergrid.java.client.model.UsergridEntity;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+@SuppressWarnings("unused")
+public class UsergridEnums {
+    public enum UsergridAuthMode {
+        NONE,
+        USER,
+        APP
+    }
+
+    public enum UsergridDirection {
+        IN("connecting"),
+        OUT("connections");
+
+        @NotNull private final String connectionValue;
+
+        UsergridDirection(@NotNull final String connectionValue) {
+            this.connectionValue = connectionValue;
+        }
+
+        @NotNull
+        public String connectionValue() {
+            return this.connectionValue;
+        }
+    }
+
+    public enum UsergridHttpMethod {
+        GET,
+        PUT,
+        POST,
+        DELETE;
+
+        @Nullable
+        public static UsergridHttpMethod fromString(@NotNull final String stringValue) {
+            try {
+                return UsergridHttpMethod.valueOf(stringValue.toUpperCase());
+            } catch(Exception e) {
+                return null;
+            }
+        }
+
+        @Override @NotNull
+        public String toString() {
+            return super.toString().toUpperCase();
+        }
+    }
+
+    public enum UsergridQueryOperator {
+        EQUAL("="),
+        GREATER_THAN(">"),
+        GREATER_THAN_EQUAL_TO(">="),
+        LESS_THAN("<"),
+        LESS_THAN_EQUAL_TO("<=");
+
+        @NotNull private final String operatorValue;
+
+        UsergridQueryOperator(@NotNull final String operatorValue) {
+            this.operatorValue = operatorValue;
+        }
+
+        @NotNull
+        public String operatorValue() {
+            return this.operatorValue;
+        }
+    }
+
+    public enum UsergridQuerySortOrder {
+        ASC,
+        DESC;
+
+        @Nullable
+        public static UsergridQuerySortOrder fromString(@NotNull final String stringValue) {
+            try {
+                return UsergridQuerySortOrder.valueOf(stringValue.toUpperCase());
+            } catch(Exception e) {
+                return null;
+            }
+        }
+
+        @Override @NotNull
+        public String toString() {
+            return super.toString().toLowerCase();
+        }
+    }
+
+    public enum UsergridEntityProperties {
+        TYPE,
+        UUID,
+        NAME,
+        CREATED,
+        MODIFIED,
+        LOCATION;
+
+        @Nullable
+        public static UsergridEntityProperties fromString(@NotNull final String stringValue) {
+            try {
+                return UsergridEntityProperties.valueOf(stringValue.toUpperCase());
+            } catch(Exception e) {
+                return null;
+            }
+        }
+
+        @Override @NotNull
+        public String toString() {
+            return super.toString().toLowerCase();
+        }
+
+        public boolean isMutableForEntity(@NotNull final UsergridEntity entity) {
+            switch(this) {
+                case LOCATION: {
+                    return true;
+                }
+                case NAME: {
+                    return entity.isUser();
+                }
+                case TYPE:
+                case UUID:
+                case CREATED:
+                case MODIFIED:
+                default: {
+                    return false;
+                }
+            }
+        }
+    }
+
+    public enum UsergridUserProperties {
+        NAME,
+        USERNAME,
+        PASSWORD,
+        EMAIL,
+        ACTIVATED,
+        DISABLED,
+        PICTURE;
+
+        @Nullable
+        public static UsergridUserProperties fromString(@NotNull final String stringValue) {
+            try {
+                return UsergridUserProperties.valueOf(stringValue.toUpperCase());
+            } catch(Exception e) {
+                return null;
+            }
+        }
+
+        @Override @NotNull
+        public String toString() {
+            return super.toString().toLowerCase();
+        }
+    }
+}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/UsergridRequest.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/UsergridRequest.java
new file mode 100644
index 0000000..b16783e
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/UsergridRequest.java
@@ -0,0 +1,205 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client;
+
+import okhttp3.HttpUrl;
+import okhttp3.MediaType;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import org.apache.usergrid.java.client.UsergridEnums.UsergridHttpMethod;
+import org.apache.usergrid.java.client.auth.UsergridAuth;
+import org.apache.usergrid.java.client.query.UsergridQuery;
+import org.apache.usergrid.java.client.utils.JsonUtils;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.Map;
+
+@SuppressWarnings("unused")
+public class UsergridRequest {
+    @NotNull public static final MediaType APPLICATION_JSON_MEDIA_TYPE = MediaType.parse("application/json; charset=utf-8");
+
+    @NotNull private UsergridHttpMethod method;
+    @NotNull private String baseUrl;
+    @NotNull private MediaType contentType;
+
+    @Nullable private UsergridQuery query;
+    @Nullable private Map<String, Object> headers;
+    @Nullable private Map<String, Object> parameters;
+    @Nullable private Object data;
+    @Nullable private UsergridAuth auth;
+    @Nullable private String[] pathSegments;
+
+    @NotNull
+    public UsergridHttpMethod getMethod() { return method; }
+    public void setMethod(@NotNull final UsergridHttpMethod method) { this.method = method; }
+
+    @NotNull
+    public String getBaseUrl() { return baseUrl; }
+    public void setBaseUrl(@NotNull final String baseUrl) { this.baseUrl = baseUrl; }
+
+    @NotNull
+    public MediaType getContentType() { return contentType; }
+    public void setContentType(@NotNull final MediaType contentType) { this.contentType = contentType; }
+
+    @Nullable
+    public UsergridQuery getQuery() { return query; }
+    public void setQuery(@Nullable final UsergridQuery query) { this.query = query; }
+
+    @Nullable
+    public Map<String,Object> getHeaders() { return headers; }
+    public void setHeaders(@Nullable final Map<String,Object> headers) { this.headers = headers; }
+
+    @Nullable
+    public Map<String,Object> getParameters() { return parameters; }
+    public void setParameters(@Nullable final Map<String,Object> parameters) { this.parameters = parameters; }
+
+    @Nullable
+    public Object getData() { return data; }
+    public void setData(@Nullable final Object data) { this.data = data; }
+
+    @Nullable
+    public UsergridAuth getAuth() { return auth; }
+    public void setAuth(@Nullable final UsergridAuth auth) { this.auth = auth; }
+
+    @Nullable
+    public String[] getPathSegments() { return pathSegments; }
+    public void setPathSegments(@Nullable final String[] pathSegments) { this.pathSegments = pathSegments; }
+
+    private UsergridRequest() {}
+
+    public UsergridRequest(@NotNull final UsergridHttpMethod method,
+                           @NotNull final MediaType contentType,
+                           @NotNull final String url,
+                           @Nullable final UsergridQuery query,
+                           @Nullable final UsergridAuth auth,
+                           @Nullable final String... pathSegments) {
+        this.method = method;
+        this.contentType = contentType;
+        this.baseUrl = url;
+        this.query = query;
+        this.auth = auth;
+        this.pathSegments = pathSegments;
+    }
+
+    public UsergridRequest(@NotNull final UsergridHttpMethod method,
+                           @NotNull final MediaType contentType,
+                           @NotNull final String url,
+                           @Nullable final UsergridAuth auth,
+                           @Nullable final String... pathSegments) {
+        this.method = method;
+        this.contentType = contentType;
+        this.baseUrl = url;
+        this.auth = auth;
+        this.pathSegments = pathSegments;
+    }
+
+    public UsergridRequest(@NotNull final UsergridHttpMethod method,
+                           @NotNull final MediaType contentType,
+                           @NotNull final String url,
+                           @Nullable final Map<String, Object> params,
+                           @Nullable final Object data,
+                           @Nullable final UsergridAuth auth,
+                           @Nullable final String... pathSegments) {
+        this.method = method;
+        this.contentType = contentType;
+        this.baseUrl = url;
+        this.parameters = params;
+        this.data = data;
+        this.headers = null;
+        this.query = null;
+        this.auth = auth;
+        this.pathSegments = pathSegments;
+    }
+
+    public UsergridRequest(@NotNull final UsergridHttpMethod method,
+                           @NotNull final MediaType contentType,
+                           @NotNull final String url,
+                           @Nullable final Map<String, Object> params,
+                           @Nullable final Object data,
+                           @Nullable final Map<String, Object> headers,
+                           @Nullable final UsergridQuery query,
+                           @Nullable final UsergridAuth auth,
+                           @Nullable final String... pathSegments) {
+        this.method = method;
+        this.contentType = contentType;
+        this.baseUrl = url;
+        this.parameters = params;
+        this.data = data;
+        this.headers = headers;
+        this.query = query;
+        this.auth = auth;
+        this.pathSegments = pathSegments;
+    }
+
+    @NotNull
+    public Request buildRequest() {
+        Request.Builder requestBuilder = new Request.Builder();
+        requestBuilder.url(this.constructUrl());
+        this.addHeaders(requestBuilder);
+        requestBuilder.method(this.method.toString(),this.constructRequestBody());
+        return requestBuilder.build();
+    }
+
+    @NotNull
+    protected HttpUrl constructUrl() {
+        String url = this.baseUrl;
+        if( this.query != null ) {
+            url += this.query.build(false);
+        }
+        HttpUrl.Builder urlBuilder = HttpUrl.parse(url).newBuilder();
+        if( this.pathSegments != null ) {
+            for( String path : this.pathSegments ) {
+                urlBuilder.addPathSegments(path);
+            }
+        }
+        if( this.parameters != null ) {
+            for (Map.Entry<String, Object> param : this.parameters.entrySet()) {
+                urlBuilder.addQueryParameter(param.getKey(),param.getValue().toString());
+            }
+        }
+        return urlBuilder.build();
+    }
+
+    protected void addHeaders(@NotNull final Request.Builder requestBuilder) {
+        requestBuilder.addHeader("User-Agent", UsergridRequestManager.USERGRID_USER_AGENT);
+        if (this.auth != null ) {
+            String accessToken = this.auth.getAccessToken();
+            if( accessToken != null ) {
+                requestBuilder.addHeader("Authorization", "Bearer " + accessToken);
+            }
+        }
+        if( this.headers != null ) {
+            for( Map.Entry<String,Object> header : this.headers.entrySet() ) {
+                requestBuilder.addHeader(header.getKey(),header.getValue().toString());
+            }
+        }
+    }
+
+    @Nullable
+    protected RequestBody constructRequestBody() {
+        RequestBody requestBody = null;
+        if (method == UsergridHttpMethod.POST || method == UsergridHttpMethod.PUT) {
+            String jsonString = "";
+            if( this.data != null ) {
+                jsonString = JsonUtils.toJsonString(this.data);
+            }
+            requestBody = RequestBody.create(this.contentType,jsonString);
+        }
+        return requestBody;
+    }
+}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/UsergridRequestManager.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/UsergridRequestManager.java
new file mode 100644
index 0000000..ef771e7
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/UsergridRequestManager.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client;
+
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+import org.apache.usergrid.java.client.UsergridEnums.UsergridHttpMethod;
+import org.apache.usergrid.java.client.auth.UsergridAppAuth;
+import org.apache.usergrid.java.client.auth.UsergridAuth;
+import org.apache.usergrid.java.client.model.UsergridUser;
+import org.apache.usergrid.java.client.auth.UsergridUserAuth;
+import org.apache.usergrid.java.client.response.UsergridResponse;
+import org.jetbrains.annotations.NotNull;
+
+import java.io.IOException;
+import java.util.Map;
+
+import static org.apache.usergrid.java.client.utils.ObjectUtils.isEmpty;
+
+public class UsergridRequestManager {
+
+    @NotNull public static String USERGRID_USER_AGENT = "usergrid-java/v" + Usergrid.UsergridSDKVersion;
+
+    @NotNull private final UsergridClient usergridClient;
+    @NotNull private final OkHttpClient httpClient;
+
+    public UsergridRequestManager(@NotNull final UsergridClient usergridClient) {
+        this.usergridClient = usergridClient;
+        this.httpClient = new OkHttpClient();
+    }
+
+    @NotNull
+    public UsergridResponse performRequest(@NotNull final UsergridRequest usergridRequest) {
+        Request request = usergridRequest.buildRequest();
+        UsergridResponse usergridResponse;
+        try {
+            Response response = this.httpClient.newCall(request).execute();
+            usergridResponse = UsergridResponse.fromResponse(this.usergridClient,usergridRequest,response);
+        } catch( IOException exception ) {
+            usergridResponse = UsergridResponse.fromException(this.usergridClient,exception);
+        }
+        return usergridResponse;
+    }
+
+    @NotNull
+    private UsergridResponse authenticate(@NotNull final UsergridAuth auth) {
+        Map<String, String> credentials = auth.credentialsMap();
+        UsergridRequest request = new UsergridRequest(UsergridHttpMethod.POST, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, this.usergridClient.clientAppUrl(), null, credentials, this.usergridClient.authForRequests(), "token");
+        UsergridResponse response = performRequest(request);
+        if (!isEmpty(response.getAccessToken()) && !isEmpty(response.getExpires())) {
+            auth.setAccessToken(response.getAccessToken());
+            auth.setExpiry(System.currentTimeMillis() + response.getExpires() - 5000);
+        }
+        return response;
+    }
+
+    @NotNull
+    public UsergridResponse authenticateApp(@NotNull final UsergridAppAuth appAuth) {
+        return this.authenticate(appAuth);
+    }
+
+    @NotNull
+    public UsergridResponse authenticateUser(@NotNull final UsergridUserAuth userAuth) {
+        UsergridResponse response = this.authenticate(userAuth);
+        UsergridUser responseUser = response.user();
+        if ( response.ok() && responseUser != null) {
+            responseUser.setUserAuth(userAuth);
+        }
+        return response;
+    }
+}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/auth/UsergridAppAuth.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/auth/UsergridAppAuth.java
new file mode 100644
index 0000000..a7ac64d
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/auth/UsergridAppAuth.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client.auth;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.HashMap;
+
+@SuppressWarnings("unused")
+public class UsergridAppAuth extends UsergridAuth {
+
+    @NotNull private String clientId;
+    @NotNull private String clientSecret;
+
+    @NotNull public String getClientId() { return clientId; }
+    public void setClientId(@NotNull final String clientId) { this.clientId = clientId; }
+
+    @NotNull private String getClientSecret() { return clientSecret; }
+    public void setClientSecret(@NotNull final String clientSecret) { this.clientSecret = clientSecret; }
+
+    @NotNull
+    @Override
+    public HashMap<String, String> credentialsMap() {
+        HashMap<String,String> credentials = super.credentialsMap();
+        credentials.put("grant_type", "client_credentials");
+        credentials.put("client_id", this.clientId);
+        credentials.put("client_secret", this.clientSecret);
+        return credentials;
+    }
+
+    public UsergridAppAuth() {
+        this("","");
+    }
+
+    public UsergridAppAuth(@JsonProperty("clientId") @NotNull final String clientId, @JsonProperty("clientSecret") @NotNull final String clientSecret) {
+        super();
+        this.clientId = clientId;
+        this.clientSecret = clientSecret;
+    }
+}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/auth/UsergridAuth.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/auth/UsergridAuth.java
new file mode 100644
index 0000000..94b4809
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/auth/UsergridAuth.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client.auth;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.HashMap;
+
+@SuppressWarnings("unused")
+public class UsergridAuth {
+
+    @Nullable private String accessToken = null;
+    @Nullable private Long expiry = null;
+    private boolean usingToken = false;
+
+    public UsergridAuth() { }
+
+    public UsergridAuth(@JsonProperty("accessToken") @Nullable final String accessToken) {
+        this.usingToken = true;
+        setAccessToken(accessToken);
+    }
+
+    public UsergridAuth(@JsonProperty("accessToken") @Nullable final String accessToken, @JsonProperty("expiry") @Nullable final Long expiry) {
+        this.usingToken = true;
+        setAccessToken(accessToken);
+        setExpiry(expiry);
+    }
+
+    public void destroy() {
+        setAccessToken(null);
+        setExpiry(null);
+    }
+
+    @Nullable public String getAccessToken() { return accessToken; }
+    public void setAccessToken(@Nullable final String accessToken) {
+        this.accessToken = accessToken;
+    }
+
+    @Nullable public Long getExpiry() { return expiry; }
+    public void setExpiry(@Nullable final Long tokenExpiry) { this.expiry = tokenExpiry; }
+
+    public boolean isValidToken() { return (hasToken() && !isExpired()); }
+
+    public boolean hasToken() { return accessToken != null; }
+
+    public boolean isExpired() {
+        if (expiry != null) {
+            Long currentTime = System.currentTimeMillis() / 1000;
+            return ((expiry / 1000) < currentTime);
+        } else {
+            return !this.usingToken;
+        }
+    }
+
+    @NotNull
+    public HashMap<String,String> credentialsMap() {
+        return new HashMap<>();
+    }
+}
\ No newline at end of file
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/auth/UsergridUserAuth.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/auth/UsergridUserAuth.java
new file mode 100644
index 0000000..e1831c2
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/auth/UsergridUserAuth.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client.auth;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.usergrid.java.client.model.UsergridUser;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.HashMap;
+
+@SuppressWarnings("unused")
+public class UsergridUserAuth extends UsergridAuth {
+
+    @NotNull private String username;
+    @NotNull private String password;
+
+    @NotNull public String getUsername() { return username; }
+    public void setUsername(@NotNull final String username) { this.username = username; }
+
+    @NotNull private String getPassword() { return password; }
+    public void setPassword(@NotNull final String password) { this.password = password; }
+
+    @NotNull
+    @Override
+    public HashMap<String, String> credentialsMap() {
+        HashMap<String,String> credentials = super.credentialsMap();
+        credentials.put("grant_type", "password");
+        credentials.put("username", this.username);
+        credentials.put("password", this.password);
+        return credentials;
+    }
+
+    public UsergridUserAuth() {
+        this("","");
+    }
+
+    public UsergridUserAuth(@JsonProperty("username") @NotNull final String username, @JsonProperty("password") @NotNull final String password) {
+        super();
+        this.username = username;
+        this.password = password;
+    }
+}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/Activity.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/Activity.java
deleted file mode 100644
index faff3c3..0000000
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/Activity.java
+++ /dev/null
@@ -1,625 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.usergrid.java.client.entities;
-
-
-import static org.apache.usergrid.java.client.utils.JsonUtils.getStringProperty;
-
-import java.util.Arrays;
-import java.util.Date;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.UUID;
-
-import javax.xml.bind.annotation.XmlRootElement;
-
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion;
-
-/**
- * An entity type for representing activity stream actions. These are similar to
- * the more generic message entity type except provide the necessary properties
- * for supporting activity stream implementations.
- *
- * @see http://activitystrea.ms/specs/json/1.0/
- */
-public class Activity extends Entity {
-
-    public static final String ENTITY_TYPE = "activity";
-
-    public static final String PROP_ACTOR = "actor";
-
-    public static final String VERB_ADD = "add";
-    public static final String VERB_CANCEL = "cancel";
-    public static final String VERB_CHECKIN = "checkin";
-    public static final String VERB_DELETE = "delete";
-    public static final String VERB_FAVORITE = "favorite";
-    public static final String VERB_FOLLOW = "follow";
-    public static final String VERB_GIVE = "give";
-    public static final String VERB_IGNORE = "ignore";
-    public static final String VERB_INVITE = "invite";
-    public static final String VERB_JOIN = "join";
-    public static final String VERB_LEAVE = "leave";
-    public static final String VERB_LIKE = "like";
-    public static final String VERB_MAKE_FRIEND = "make-friend";
-    public static final String VERB_PLAY = "play";
-    public static final String VERB_POST = "post";
-    public static final String VERB_RECEIVE = "receive";
-    public static final String VERB_REMOVE = "remove";
-    public static final String VERB_REMOVE_FRIEND = "remove-friend";
-    public static final String VERB_REQUEST_FRIEND = "request-friend";
-    public static final String VERB_RSVP_MAYBE = "rsvp-maybe";
-    public static final String VERB_RSVP_NO = "rsvp-no";
-    public static final String VERB_RSVP_YES = "rsvp-yes";
-    public static final String VERB_SAVE = "save";
-    public static final String VERB_SHARE = "share";
-    public static final String VERB_STOP_FOLLOWING = "stop-following";
-    public static final String VERB_TAG = "tag";
-    public static final String VERB_UNFAVORITE = "unfavorite";
-    public static final String VERB_UNLIKE = "unlike";
-    public static final String VERB_UNSAVE = "unsave";
-    public static final String VERB_UPDATE = "update";
-
-    public static final String OBJECT_TYPE_ARTICLE = "article";
-    public static final String OBJECT_TYPE_AUDIO = "audio";
-    public static final String OBJECT_TYPE_BADGE = "badge";
-    public static final String OBJECT_TYPE_BOOKMARK = "bookmark";
-    public static final String OBJECT_TYPE_COLLECTION = "collection";
-    public static final String OBJECT_TYPE_COMMENT = "comment";
-    public static final String OBJECT_TYPE_EVENT = "event";
-    public static final String OBJECT_TYPE_FILE = "file";
-    public static final String OBJECT_TYPE_GROUP = "group";
-    public static final String OBJECT_TYPE_IMAGE = "image";
-    public static final String OBJECT_TYPE_NOTE = "note";
-    public static final String OBJECT_TYPE_PERSON = "person";
-    public static final String OBJECT_TYPE_PLACE = "place";
-    public static final String OBJECT_TYPE_PRODUCT = "product";
-    public static final String OBJECT_TYPE_QUESTION = "question";
-    public static final String OBJECT_TYPE_REVIEW = "review";
-    public static final String OBJECT_TYPE_SERVICE = "service";
-    public static final String OBJECT_TYPE_VIDEO = "video";
-
-    protected ActivityObject actor;
-
-    protected String content;
-
-    protected ActivityObject generator;
-
-    protected MediaLink icon;
-
-    protected String category;
-
-    protected String verb;
-
-    protected Long published;
-
-    protected ActivityObject object;
-
-    // protected
-    // String objectType;
-
-    // protected
-    // String objectEntityType;
-
-    // protected
-    // String objectName;
-
-    protected String title;
-
-    protected Set<String> connections;
-
-    public Activity() {
-        setType("activity");
-    }
-
-    public Activity(UUID id) {
-        this();
-        setUuid(id);
-    }
-
-    public static Activity newActivity(String verb, String title,
-            String content, String category, Entity user, Entity object,
-            String objectType, String objectName, String objectContent){
-
-        Activity activity = new Activity();
-        activity.setVerb(verb);
-        activity.setCategory(category);
-        activity.setContent(content);
-        activity.setTitle(title);
-
-        ActivityObject actor = new ActivityObject();
-        actor.setObjectType("person");
-
-        if (user != null) {
-            actor.setDisplayName(getStringProperty(user.properties, "name"));
-            actor.setEntityType(user.getType());
-            actor.setUuid(user.getUuid());
-        }
-
-        activity.setActor(actor);
-
-        ActivityObject obj = new ActivityObject();
-        obj.setDisplayName(objectName);
-        obj.setObjectType(objectType);
-        if (object != null) {
-            obj.setEntityType(object.getType());
-            obj.setUuid(object.getUuid());
-        }
-        if (objectContent != null) {
-            obj.setContent(objectContent);
-        } else {
-            obj.setContent(content);
-        }
-        activity.setObject(obj);
-
-        return activity;
-    }
-
-    @JsonSerialize(include = Inclusion.NON_NULL)
-    public ActivityObject getActor() {
-        return actor;
-    }
-
-    public void setActor(ActivityObject actor) {
-        this.actor = actor;
-    }
-
-    @JsonSerialize(include = Inclusion.NON_NULL)
-    public ActivityObject getGenerator() {
-        return generator;
-    }
-
-    public void setGenerator(ActivityObject generator) {
-        this.generator = generator;
-    }
-
-    /*
-     * @JsonSerialize(include = Inclusion.NON_NULL) public String getActorName()
-     * { return actorName; }
-     *
-     * public void setActorName(String actorName) { this.actorName = actorName;
-     * }
-     */
-    @JsonSerialize(include = Inclusion.NON_NULL)
-    public String getCategory() {
-        return category;
-    }
-
-    public void setCategory(String category) {
-        this.category = category;
-    }
-
-    @JsonSerialize(include = Inclusion.NON_NULL)
-    public String getVerb() {
-        return verb;
-    }
-
-    public void setVerb(String verb) {
-        this.verb = verb;
-    }
-
-    @JsonSerialize(include = Inclusion.NON_NULL)
-    public Long getPublished() {
-        return published;
-    }
-
-    public void setPublished(Long published) {
-        this.published = published;
-    }
-
-    @JsonSerialize(include = Inclusion.NON_NULL)
-    public ActivityObject getObject() {
-        return object;
-    }
-
-    public void setObject(ActivityObject object) {
-        this.object = object;
-    }
-
-    /*
-     * @JsonSerialize(include = Inclusion.NON_NULL) public String
-     * getObjectType() { return objectType; }
-     *
-     * public void setObjectType(String objectType) { this.objectType =
-     * objectType; }
-     *
-     * @JsonSerialize(include = Inclusion.NON_NULL) public String
-     * getObjectEntityType() { return objectEntityType; }
-     *
-     * public void setObjectEntityType(String objectEntityType) {
-     * this.objectEntityType = objectEntityType; }
-     *
-     * @JsonSerialize(include = Inclusion.NON_NULL) public String
-     * getObjectName() { return objectName; }
-     *
-     * public void setObjectName(String objectName) { this.objectName =
-     * objectName; }
-     */
-    @JsonSerialize(include = Inclusion.NON_NULL)
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    @JsonSerialize(include = Inclusion.NON_NULL)
-    public MediaLink getIcon() {
-        return icon;
-    }
-
-    public void setIcon(MediaLink icon) {
-        this.icon = icon;
-    }
-
-    @JsonSerialize(include = Inclusion.NON_NULL)
-    public String getContent() {
-        return content;
-    }
-
-    public void setContent(String content) {
-        this.content = content;
-    }
-
-    @JsonSerialize(include = Inclusion.NON_NULL)
-    public Set<String> getConnections() {
-        return connections;
-    }
-
-    public void setConnections(Set<String> connections) {
-        this.connections = connections;
-    }
-
-    @XmlRootElement
-    static public class MediaLink {
-
-        int duration;
-
-        int height;
-
-        String url;
-
-        int width;
-
-        protected Map<String, Object> dynamic_properties = new TreeMap<String, Object>(
-                String.CASE_INSENSITIVE_ORDER);
-
-        public MediaLink() {
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public int getDuration() {
-            return duration;
-        }
-
-        public void setDuration(int duration) {
-            this.duration = duration;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public int getHeight() {
-            return height;
-        }
-
-        public void setHeight(int height) {
-            this.height = height;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public String getUrl() {
-            return url;
-        }
-
-        public void setUrl(String url) {
-            this.url = url;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public int getWidth() {
-            return width;
-        }
-
-        public void setWidth(int width) {
-            this.width = width;
-        }
-
-        @JsonAnySetter
-        public void setDynamicProperty(String key, Object value) {
-            dynamic_properties.put(key, value);
-        }
-
-        @JsonAnyGetter
-        public Map<String, Object> getDynamicProperties() {
-            return dynamic_properties;
-        }
-
-        @Override
-        public String toString() {
-            return "MediaLink [duration=" + duration + ", height=" + height
-                    + ", url=" + url + ", width=" + width
-                    + ", dynamic_properties=" + dynamic_properties + "]";
-        }
-
-    }
-
-    @XmlRootElement
-    static public class ActivityObject {
-
-        ActivityObject[] attachments;
-
-        ActivityObject author;
-
-        String content;
-
-        String displayName;
-
-        String[] downstreamDuplicates;
-
-        String id;
-
-        MediaLink image;
-
-        String objectType;
-
-        Date published;
-
-        String summary;
-
-        String updated;
-
-        String upstreamDuplicates;
-
-        String url;
-
-        UUID uuid;
-
-        String entityType;
-
-        protected Map<String, Object> dynamic_properties = new TreeMap<String, Object>(
-                String.CASE_INSENSITIVE_ORDER);
-
-        public ActivityObject() {
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public ActivityObject[] getAttachments() {
-            return attachments;
-        }
-
-        public void setAttachments(ActivityObject[] attachments) {
-            this.attachments = attachments;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public ActivityObject getAuthor() {
-            return author;
-        }
-
-        public void setAuthor(ActivityObject author) {
-            this.author = author;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public String getContent() {
-            return content;
-        }
-
-        public void setContent(String content) {
-            this.content = content;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public String getDisplayName() {
-            return displayName;
-        }
-
-        public void setDisplayName(String displayName) {
-            this.displayName = displayName;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public String[] getDownstreamDuplicates() {
-            return downstreamDuplicates;
-        }
-
-        public void setDownstreamDuplicates(String[] downstreamDuplicates) {
-            this.downstreamDuplicates = downstreamDuplicates;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public String getId() {
-            return id;
-        }
-
-        public void setId(String id) {
-            this.id = id;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public MediaLink getImage() {
-            return image;
-        }
-
-        public void setImage(MediaLink image) {
-            this.image = image;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public String getObjectType() {
-            return objectType;
-        }
-
-        public void setObjectType(String objectType) {
-            this.objectType = objectType;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public Date getPublished() {
-            return published;
-        }
-
-        public void setPublished(Date published) {
-            this.published = published;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public String getSummary() {
-            return summary;
-        }
-
-        public void setSummary(String summary) {
-            this.summary = summary;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public String getUpdated() {
-            return updated;
-        }
-
-        public void setUpdated(String updated) {
-            this.updated = updated;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public String getUpstreamDuplicates() {
-            return upstreamDuplicates;
-        }
-
-        public void setUpstreamDuplicates(String upstreamDuplicates) {
-            this.upstreamDuplicates = upstreamDuplicates;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public String getUrl() {
-            return url;
-        }
-
-        public void setUrl(String url) {
-            this.url = url;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public UUID getUuid() {
-            return uuid;
-        }
-
-        public void setUuid(UUID uuid) {
-            this.uuid = uuid;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public String getEntityType() {
-            return entityType;
-        }
-
-        public void setEntityType(String entityType) {
-            this.entityType = entityType;
-        }
-
-        @JsonAnySetter
-        public void setDynamicProperty(String key, Object value) {
-            dynamic_properties.put(key, value);
-        }
-
-        @JsonAnyGetter
-        public Map<String, Object> getDynamicProperties() {
-            return dynamic_properties;
-        }
-
-        @Override
-        public String toString() {
-            return "ActivityObject [attachments="
-                    + Arrays.toString(attachments) + ", author=" + author
-                    + ", content=" + content + ", displayName=" + displayName
-                    + ", downstreamDuplicates="
-                    + Arrays.toString(downstreamDuplicates) + ", id=" + id
-                    + ", image=" + image + ", objectType=" + objectType
-                    + ", published=" + published + ", summary=" + summary
-                    + ", updated=" + updated + ", upstreamDuplicates="
-                    + upstreamDuplicates + ", url=" + url + ", uuid=" + uuid
-                    + ", entityType=" + entityType + ", dynamic_properties="
-                    + dynamic_properties + "]";
-        }
-
-    }
-
-    @XmlRootElement
-    static public class ActivityCollection {
-
-        int totalItems;
-
-        ActivityObject[] items;
-
-        String url;
-
-        protected Map<String, Object> dynamic_properties = new TreeMap<String, Object>(
-                String.CASE_INSENSITIVE_ORDER);
-
-        public ActivityCollection() {
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public int getTotalItems() {
-            return totalItems;
-        }
-
-        public void setTotalItems(int totalItems) {
-            this.totalItems = totalItems;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public ActivityObject[] getItems() {
-            return items;
-        }
-
-        public void setItems(ActivityObject[] items) {
-            this.items = items;
-        }
-
-        @JsonSerialize(include = Inclusion.NON_NULL)
-        public String getUrl() {
-            return url;
-        }
-
-        public void setUrl(String url) {
-            this.url = url;
-        }
-
-        @JsonAnySetter
-        public void setDynamicProperty(String key, Object value) {
-            dynamic_properties.put(key, value);
-        }
-
-        @JsonAnyGetter
-        public Map<String, Object> getDynamicProperties() {
-            return dynamic_properties;
-        }
-
-        @Override
-        public String toString() {
-            return "ActivityCollection [totalItems=" + totalItems + ", items="
-                    + Arrays.toString(items) + ", url=" + url
-                    + ", dynamic_properties=" + dynamic_properties + "]";
-        }
-
-    }
-
-}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/Device.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/Device.java
deleted file mode 100644
index 8db415c..0000000
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/Device.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.usergrid.java.client.entities;
-
-import static com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion.NON_NULL;
-import static org.apache.usergrid.java.client.utils.JsonUtils.getStringProperty;
-import static org.apache.usergrid.java.client.utils.JsonUtils.setStringProperty;
-
-import java.util.List;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-
-public class Device extends Entity {
-
-	public final static String ENTITY_TYPE = "device";
-
-	public final static String PROPERTY_NAME = "name";
-
-	public Device() {
-		super();
-		setType(ENTITY_TYPE);
-	}
-
-	public Device(Entity entity) {
-		super();
-		properties = entity.properties;
-		setType(ENTITY_TYPE);
-	}
-
-	@Override
-	@JsonIgnore
-	public String getNativeType() {
-		return ENTITY_TYPE;
-	}
-
-	@Override
-	@JsonIgnore
-	public List<String> getPropertyNames() {
-		List<String> properties = super.getPropertyNames();
-		properties.add(PROPERTY_NAME);
-		return properties;
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public String getName() {
-		return getStringProperty(properties, PROPERTY_NAME);
-	}
-
-	public void setName(String name) {
-		setStringProperty(properties, PROPERTY_NAME, name);
-	}
-
-}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/Entity.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/Entity.java
deleted file mode 100644
index 2a8c544..0000000
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/Entity.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.usergrid.java.client.entities;
-
-import static org.apache.usergrid.java.client.utils.JsonUtils.getStringProperty;
-import static org.apache.usergrid.java.client.utils.JsonUtils.getUUIDProperty;
-import static org.apache.usergrid.java.client.utils.JsonUtils.setStringProperty;
-import static org.apache.usergrid.java.client.utils.JsonUtils.*;
-import static org.apache.usergrid.java.client.utils.MapUtils.newMapWithoutKeys;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
-public class Entity {
-
-    public final static String PROPERTY_UUID = "uuid";
-    public final static String PROPERTY_TYPE = "type";
-
-    protected Map<String, JsonNode> properties = new HashMap<String, JsonNode>();
-
-    public static Map<String, Class<? extends Entity>> CLASS_FOR_ENTITY_TYPE = new HashMap<String, Class<? extends Entity>>();
-    static {
-        CLASS_FOR_ENTITY_TYPE.put(User.ENTITY_TYPE, User.class);
-    }
-
-    public Entity() {
-    }
-
-    public Entity(String type) {
-        setType(type);
-    }
-
-    @JsonIgnore
-    public String getNativeType() {
-        return getType();
-    }
-
-    @JsonIgnore
-    public List<String> getPropertyNames() {
-        List<String> properties = new ArrayList<String>();
-        properties.add(PROPERTY_TYPE);
-        properties.add(PROPERTY_UUID);
-        return properties;
-    }
-
-    public String getType() {
-        return getStringProperty(properties, PROPERTY_TYPE);
-    }
-
-    public void setType(String type) {
-        setStringProperty(properties, PROPERTY_TYPE, type);
-    }
-
-    public UUID getUuid() {
-        return getUUIDProperty(properties, PROPERTY_UUID);
-    }
-
-    public void setUuid(UUID uuid) {
-        setUUIDProperty(properties, PROPERTY_UUID, uuid);
-    }
-
-    @JsonAnyGetter
-    public Map<String, JsonNode> getProperties() {
-        return newMapWithoutKeys(properties, getPropertyNames());
-    }
-
-    @JsonAnySetter
-    public void setProperty(String name, JsonNode value) {
-        if (value == null) {
-            properties.remove(name);
-        } else {
-            properties.put(name, value);
-        }
-    }
-
-
-    /**
-     * Set the property
-     *
-     * @param name
-     * @param value
-     */
-    public void setProperty(String name, String value) {
-        setStringProperty(properties, name, value);
-    }
-
-    /**
-     * Set the property
-     *
-     * @param name
-     * @param value
-     */
-    public void setProperty(String name, boolean value) {
-        setBooleanProperty(properties, name, value);
-    }
-
-    /**
-     * Set the property
-     *
-     * @param name
-     * @param value
-     */
-    public void setProperty(String name, long value) {
-        setLongProperty(properties, name, value);
-    }
-
-    /**
-     * Set the property
-     *
-     * @param name
-     * @param value
-     */
-    public void setProperty(String name, int value) {
-        setProperty(name, (long) value);
-    }
-
-    /**
-     * Set the property
-     *
-     * @param name
-     * @param value
-     */
-    public void setProperty(String name, float value) {
-        setFloatProperty(properties, name, value);
-    }
-
-    @Override
-    public String toString() {
-        return toJsonString(this);
-    }
-
-    public <T extends Entity> T toType(Class<T> t) {
-        return toType(this, t);
-    }
-
-    public static <T extends Entity> T toType(Entity entity, Class<T> t) {
-        if (entity == null) {
-            return null;
-        }
-        T newEntity = null;
-        if (entity.getClass().isAssignableFrom(t)) {
-            try {
-                newEntity = (t.newInstance());
-                if ((newEntity.getNativeType() != null)
-                        && newEntity.getNativeType().equals(entity.getType())) {
-                    newEntity.properties = entity.properties;
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        }
-        return newEntity;
-    }
-
-    public static <T extends Entity> List<T> toType(List<Entity> entities,
-            Class<T> t) {
-        List<T> l = new ArrayList<T>(entities != null ? entities.size() : 0);
-        if (entities != null) {
-            for (Entity entity : entities) {
-                T newEntity = entity.toType(t);
-                if (newEntity != null) {
-                    l.add(newEntity);
-                }
-            }
-        }
-        return l;
-    }
-
-}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/Group.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/Group.java
deleted file mode 100644
index 0e80532..0000000
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/Group.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.usergrid.java.client.entities;
-
-import static com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion.NON_NULL;
-import static org.apache.usergrid.java.client.utils.JsonUtils.getStringProperty;
-import static org.apache.usergrid.java.client.utils.JsonUtils.setStringProperty;
-
-import java.util.List;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-
-public class Group extends Entity {
-
-	public final static String ENTITY_TYPE = "group";
-
-	public final static String PROPERTY_PATH = "path";
-	public final static String PROPERTY_TITLE = "title";
-
-	public Group() {
-		super();
-		setType(ENTITY_TYPE);
-	}
-
-	public Group(Entity entity) {
-		super();
-		properties = entity.properties;
-		setType(ENTITY_TYPE);
-	}
-
-	@Override
-	@JsonIgnore
-	public String getNativeType() {
-		return ENTITY_TYPE;
-	}
-
-	@Override
-	@JsonIgnore
-	public List<String> getPropertyNames() {
-		List<String> properties = super.getPropertyNames();
-		properties.add(PROPERTY_PATH);
-		properties.add(PROPERTY_TITLE);
-		return properties;
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public String getPath() {
-		return getStringProperty(properties, PROPERTY_PATH);
-	}
-
-	public void setPath(String path) {
-		setStringProperty(properties, PROPERTY_PATH, path);
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public String getTitle() {
-		return getStringProperty(properties, PROPERTY_TITLE);
-	}
-
-	public void setTitle(String title) {
-		setStringProperty(properties, PROPERTY_TITLE, title);
-	}
-
-}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/Message.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/Message.java
deleted file mode 100644
index 8af64f9..0000000
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/Message.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.usergrid.java.client.entities;
-
-import static com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion.NON_NULL;
-import static org.apache.usergrid.java.client.utils.JsonUtils.getBooleanProperty;
-import static org.apache.usergrid.java.client.utils.JsonUtils.getLongProperty;
-import static org.apache.usergrid.java.client.utils.JsonUtils.getStringProperty;
-import static org.apache.usergrid.java.client.utils.JsonUtils.getUUIDProperty;
-import static org.apache.usergrid.java.client.utils.JsonUtils.setBooleanProperty;
-import static org.apache.usergrid.java.client.utils.JsonUtils.setLongProperty;
-import static org.apache.usergrid.java.client.utils.JsonUtils.setStringProperty;
-import static org.apache.usergrid.java.client.utils.JsonUtils.setUUIDProperty;
-
-import java.util.List;
-import java.util.UUID;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion;
-
-public class Message extends Entity {
-
-	public static final String ENTITY_TYPE = "message";
-
-	public static final String PROPERTY_CORRELATION_ID = "correlation_id";
-	public static final String PROPERTY_DESTINATION = "destination";
-	public static final String PROPERTY_REPLY_TO = "reply_to";
-	public static final String PROPERTY_TIMESTAMP = "timestamp";
-	public static final String PROPERTY_TYPE = "type";
-	public static final String PROPERTY_CATEGORY = "category";
-	public static final String PROPERTY_INDEXED = "indexed";
-	public static final String PROPERTY_PERSISTENT = "persistent";
-
-	public Message() {
-		super();
-		setType(ENTITY_TYPE);
-	}
-
-	public Message(Entity entity) {
-		super();
-		properties = entity.properties;
-		setType(ENTITY_TYPE);
-	}
-
-	@Override
-	@JsonIgnore
-	public String getNativeType() {
-		return ENTITY_TYPE;
-	}
-
-	@Override
-	@JsonIgnore
-	public List<String> getPropertyNames() {
-		List<String> properties = super.getPropertyNames();
-		properties.add(PROPERTY_CORRELATION_ID);
-		properties.add(PROPERTY_DESTINATION);
-		properties.add(PROPERTY_REPLY_TO);
-		properties.add(PROPERTY_TIMESTAMP);
-		properties.add(PROPERTY_CATEGORY);
-		properties.add(PROPERTY_INDEXED);
-		properties.add(PROPERTY_PERSISTENT);
-		return properties;
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	@JsonProperty(PROPERTY_CORRELATION_ID)
-	public UUID getCorrelationId() {
-		return getUUIDProperty(properties, PROPERTY_CORRELATION_ID);
-	}
-
-	@JsonProperty(PROPERTY_CORRELATION_ID)
-	public void setCorrelationId(UUID uuid) {
-		setUUIDProperty(properties, PROPERTY_CORRELATION_ID, uuid);
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public String getDestination() {
-		return getStringProperty(properties, PROPERTY_DESTINATION);
-	}
-
-	public void setDestination(String destination) {
-		setStringProperty(properties, PROPERTY_DESTINATION, destination);
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	@JsonProperty(PROPERTY_REPLY_TO)
-	public String getReplyTo() {
-		return getStringProperty(properties, PROPERTY_DESTINATION);
-	}
-
-	@JsonProperty(PROPERTY_REPLY_TO)
-	public void setReplyTo(String replyTo) {
-		setStringProperty(properties, PROPERTY_DESTINATION, replyTo);
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public Long getTimestamp() {
-		return getLongProperty(properties, PROPERTY_TIMESTAMP);
-	}
-
-	public void setTimestamp(Long timestamp) {
-		setLongProperty(properties, PROPERTY_TIMESTAMP, timestamp);
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public String getCategory() {
-		return getStringProperty(properties, PROPERTY_CATEGORY);
-	}
-
-	public void setCategory(String category) {
-		setStringProperty(properties, PROPERTY_CATEGORY, category);
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public Boolean isIndexed() {
-		return getBooleanProperty(properties, PROPERTY_INDEXED);
-	}
-
-	public void setIndexed(Boolean indexed) {
-		setBooleanProperty(properties, PROPERTY_INDEXED, indexed);
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public Boolean isPersistent() {
-		return getBooleanProperty(properties, PROPERTY_INDEXED);
-	}
-
-	public void setPersistent(Boolean persistent) {
-		setBooleanProperty(properties, PROPERTY_INDEXED, persistent);
-	}
-
-}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/User.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/User.java
deleted file mode 100644
index 0046ab2..0000000
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/entities/User.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.usergrid.java.client.entities;
-
-import static com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion.NON_NULL;
-import static org.apache.usergrid.java.client.utils.JsonUtils.getBooleanProperty;
-import static org.apache.usergrid.java.client.utils.JsonUtils.getStringProperty;
-import static org.apache.usergrid.java.client.utils.JsonUtils.setBooleanProperty;
-import static org.apache.usergrid.java.client.utils.JsonUtils.setStringProperty;
-
-import java.util.List;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-
-public class User extends Entity {
-
-	public final static String ENTITY_TYPE = "user";
-
-	public final static String PROPERTY_USERNAME = "username";
-	public final static String PROPERTY_EMAIL = "email";
-	public final static String PROPERTY_NAME = "name";
-	public final static String PROPERTY_FIRSTNAME = "firstname";
-	public final static String PROPERTY_MIDDLENAME = "middlename";
-	public final static String PROPERTY_LASTNAME = "lastname";
-	public final static String PROPERTY_ACTIVATED = "activated";
-	public final static String PROPERTY_PICTURE = "picture";
-	public final static String PROPERTY_DISABLED = "disabled";
-
-	public User() {
-		super();
-		setType(ENTITY_TYPE);
-	}
-
-	public User(Entity entity) {
-		super();
-		properties = entity.properties;
-		setType(ENTITY_TYPE);
-	}
-
-	@Override
-	@JsonIgnore
-	public String getNativeType() {
-		return ENTITY_TYPE;
-	}
-
-	@Override
-	@JsonIgnore
-	public List<String> getPropertyNames() {
-		List<String> properties = super.getPropertyNames();
-		properties.add(PROPERTY_USERNAME);
-		properties.add(PROPERTY_EMAIL);
-		properties.add(PROPERTY_NAME);
-		properties.add(PROPERTY_FIRSTNAME);
-		properties.add(PROPERTY_MIDDLENAME);
-		properties.add(PROPERTY_LASTNAME);
-		properties.add(PROPERTY_ACTIVATED);
-		properties.add(PROPERTY_PICTURE);
-		properties.add(PROPERTY_DISABLED);
-		return properties;
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public String getUsername() {
-		return getStringProperty(properties, PROPERTY_USERNAME);
-	}
-
-	public void setUsername(String username) {
-		setStringProperty(properties, PROPERTY_USERNAME, username);
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public String getName() {
-		return getStringProperty(properties, PROPERTY_NAME);
-	}
-
-	public void setName(String name) {
-		setStringProperty(properties, PROPERTY_NAME, name);
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public String getEmail() {
-		return getStringProperty(properties, PROPERTY_EMAIL);
-	}
-
-	public void setEmail(String email) {
-		setStringProperty(properties, PROPERTY_EMAIL, email);
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public Boolean isActivated() {
-		return getBooleanProperty(properties, PROPERTY_ACTIVATED);
-	}
-
-	public void setActivated(Boolean activated) {
-		setBooleanProperty(properties, PROPERTY_ACTIVATED, activated);
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public Boolean isDisabled() {
-		return getBooleanProperty(properties, PROPERTY_DISABLED);
-	}
-
-	public void setDisabled(Boolean disabled) {
-		setBooleanProperty(properties, PROPERTY_DISABLED, disabled);
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public String getFirstname() {
-		return getStringProperty(properties, PROPERTY_FIRSTNAME);
-	}
-
-	public void setFirstname(String firstname) {
-		setStringProperty(properties, PROPERTY_FIRSTNAME, firstname);
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public String getMiddlename() {
-		return getStringProperty(properties, PROPERTY_MIDDLENAME);
-	}
-
-	public void setMiddlename(String middlename) {
-		setStringProperty(properties, PROPERTY_MIDDLENAME, middlename);
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public String getLastname() {
-		return getStringProperty(properties, PROPERTY_LASTNAME);
-	}
-
-	public void setLastname(String lastname) {
-		setStringProperty(properties, PROPERTY_LASTNAME, lastname);
-	}
-
-	@JsonSerialize(include = NON_NULL)
-	public String getPicture() {
-		return getStringProperty(properties, PROPERTY_PICTURE);
-	}
-
-	public void setPicture(String picture) {
-		setStringProperty(properties, PROPERTY_PICTURE, picture);
-	}
-
-}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/exception/ClientException.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/exception/ClientException.java
deleted file mode 100644
index 24f27e2..0000000
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/exception/ClientException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.usergrid.java.client.exception;
-
-/**
- * Simple wrapper for client exceptions
- * @author tnine
- *
- */
-public class ClientException extends RuntimeException{
-
-    /**
-     *
-     */
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * @param message
-     * @param cause
-     */
-    public ClientException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-
-
-}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/exception/UsergridException.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/exception/UsergridException.java
new file mode 100644
index 0000000..ff30a0d
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/exception/UsergridException.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client.exception;
+
+import org.jetbrains.annotations.NotNull;
+
+@SuppressWarnings("unused")
+public class UsergridException extends RuntimeException {
+
+    private int responseCode;
+
+    public int getResponseCode() {
+        return responseCode;
+    }
+    public void setResponseCode(final int responseCode) { this.responseCode = responseCode; }
+
+    private UsergridException() {}
+
+    public UsergridException(@NotNull final String message) {
+        super(message);
+    }
+
+    public UsergridException(@NotNull final String message, @NotNull final Throwable cause) {
+        super(message, cause);
+    }
+
+    public UsergridException(@NotNull final String message, final int responseCode) {
+        super(message);
+        this.responseCode = responseCode;
+    }
+
+    public UsergridException(@NotNull final String message, @NotNull final Throwable cause, final int responseCode) {
+        super(message, cause);
+        this.responseCode = responseCode;
+    }
+}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/model/UsergridDevice.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/model/UsergridDevice.java
new file mode 100644
index 0000000..1833afb
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/model/UsergridDevice.java
@@ -0,0 +1,60 @@
+package org.apache.usergrid.java.client.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.JsonNode;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.Map;
+
+@SuppressWarnings("unused")
+public class UsergridDevice extends UsergridEntity {
+    @NotNull public static String DEVICE_ENTITY_TYPE = "device";
+
+    @Nullable private String model;
+    @Nullable private String platform;
+    @Nullable private String osVersion;
+
+    public UsergridDevice() {
+        super(DEVICE_ENTITY_TYPE);
+    }
+
+    public UsergridDevice(@Nullable final String name) {
+        super(DEVICE_ENTITY_TYPE,name);
+    }
+
+    public UsergridDevice(@NotNull final Map<String, JsonNode> properties) {
+        super(DEVICE_ENTITY_TYPE,null,properties);
+    }
+
+    public UsergridDevice(@Nullable final String name, @NotNull final Map<String, JsonNode> properties) {
+        super(DEVICE_ENTITY_TYPE,name,properties);
+    }
+
+    @Nullable @JsonProperty("deviceModel")
+    public String getModel() {
+        return this.model;
+    }
+    @JsonProperty("deviceModel")
+    public void setModel(@Nullable final String model) {
+        this.model = model;
+    }
+
+    @Nullable @JsonProperty("devicePlatform")
+    public String getPlatform() {
+        return this.platform;
+    }
+    @JsonProperty("devicePlatform")
+    public void setPlatform(@Nullable final String platform) {
+        this.platform = platform;
+    }
+
+    @Nullable @JsonProperty("deviceOSVersion")
+    public String getOsVersion() {
+        return this.osVersion;
+    }
+    @JsonProperty("deviceOSVersion")
+    public void setOsVersion(@Nullable final String osVersion) {
+        this.osVersion = osVersion;
+    }
+}
\ No newline at end of file
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/model/UsergridEntity.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/model/UsergridEntity.java
new file mode 100644
index 0000000..e3dbb77
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/model/UsergridEntity.java
@@ -0,0 +1,487 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client.model;
+
+import com.fasterxml.jackson.annotation.*;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectReader;
+import com.fasterxml.jackson.databind.node.*;
+import org.apache.usergrid.java.client.UsergridEnums.*;
+import org.apache.usergrid.java.client.Usergrid;
+import org.apache.usergrid.java.client.UsergridClient;
+import org.apache.usergrid.java.client.response.UsergridResponse;
+import org.apache.usergrid.java.client.utils.JsonUtils;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.io.IOException;
+import java.util.*;
+
+import static org.apache.usergrid.java.client.utils.JsonUtils.*;
+
+@SuppressWarnings("unused")
+public class UsergridEntity {
+
+    @NotNull private static final HashMap<String,Class<? extends UsergridEntity>> subclassMappings = new HashMap<>();
+    @NotNull private static final ObjectMapper entityUpdateMapper = new ObjectMapper();
+    @NotNull private final ObjectReader entityUpdateReader = entityUpdateMapper.readerForUpdating(this);
+
+    static {
+        subclassMappings.put("user",UsergridUser.class);
+        subclassMappings.put("device",UsergridDevice.class);
+    }
+
+    @NotNull private String type;
+    @Nullable private String uuid;
+    @Nullable private String name;
+    @Nullable private Long created;
+    @Nullable private Long modified;
+
+    @NotNull private Map<String, JsonNode> properties = new HashMap<>();
+
+    public UsergridEntity(@JsonProperty("type") @NotNull final String type) {
+        this.type = type;
+    }
+
+    public UsergridEntity(@NotNull final String type, @Nullable final String name) {
+        this(type);
+        if( name != null ) {
+            this.name = name;
+        }
+    }
+
+    public UsergridEntity(@NotNull final String type, @Nullable final String name, @NotNull final Map<String, ?> properties) {
+        this(type,name);
+        this.updatePropertiesWithMap(properties);
+    }
+
+    @Nullable
+    public static Class<? extends UsergridEntity> customSubclassForType(@NotNull final String type) {
+        return UsergridEntity.subclassMappings.get(type);
+    }
+
+    public void copyAllProperties(@NotNull final UsergridEntity fromEntity) {
+        try {
+            this.updatePropertiesWithJsonNode(entityUpdateMapper.valueToTree(fromEntity));
+        } catch( IllegalArgumentException e ) { System.out.print("Usergrid Error: Unable to update properties from entity - " + fromEntity.toString()); }
+    }
+
+    public void updatePropertiesWithMap(@NotNull final Map<String,?> properties) {
+        try {
+            this.updatePropertiesWithJsonNode(entityUpdateMapper.valueToTree(properties));
+        } catch( IllegalArgumentException e ) { System.out.print("Usergrid Error: Unable to update properties from map - " + properties.toString()); }
+    }
+
+    public void updatePropertiesWithJsonNode(@NotNull final JsonNode node) {
+        try {
+            entityUpdateReader.readValue(node);
+        } catch( IOException e ) { System.out.print("Usergrid Error: Unable to update properties from jsonNode - " + node.toString()); }
+    }
+
+    public static void mapCustomSubclassToType(@NotNull final String type, @NotNull final Class<? extends UsergridEntity> subclass) {
+        UsergridEntity.subclassMappings.put(type,subclass);
+    }
+
+    @NotNull @Override public String toString() {
+        return toJsonString(this);
+    }
+    @NotNull public String toPrettyString() { return toPrettyJsonString(this); }
+    @NotNull public JsonNode toJsonObjectValue() {
+        return toJsonNode(this);
+    }
+    @SuppressWarnings("unchecked")
+    @NotNull public Map<String,?> toMapValue() { return toMap(this); }
+
+    @JsonIgnore
+    public boolean isUser() { return (this instanceof UsergridUser || this.getType().equalsIgnoreCase(UsergridUser.USER_ENTITY_TYPE)); }
+
+    @NotNull public String getType() { return this.type; }
+    private void setType(@NotNull final String type) { this.type = type; }
+
+    @Nullable public String getUuid() { return this.uuid; }
+    private void setUuid(@NotNull final String uuid) { this.uuid = uuid; }
+
+    @Nullable public String getName() { return this.name; }
+    protected void setName(@Nullable final String name) { this.name = name; }
+
+    @Nullable public Long getCreated() { return this.created; }
+    private void setCreated(@NotNull final Long created) { this.created = created; }
+
+    @Nullable public Long getModified() { return this.modified; }
+    private void setModified(@NotNull final Long modified) { this.modified = modified; }
+
+    public void setLocation(final double latitude, final double longitude) {
+        ObjectNode rootNode = JsonUtils.createObjectNode();
+        rootNode.put("latitude", latitude);
+        rootNode.put("longitude", longitude);
+        setObjectProperty(this.properties, "location", rootNode);
+    }
+
+    @Nullable
+    public String uuidOrName() {
+        String uuidOrName = this.getUuid();
+        if( uuidOrName == null ) {
+            uuidOrName = this.getName();
+        }
+        return uuidOrName;
+    }
+
+    @NotNull
+    public UsergridResponse reload() {
+        return this.reload(Usergrid.getInstance());
+    }
+
+    @NotNull
+    public UsergridResponse reload(@NotNull final UsergridClient client) {
+        String uuidOrName = this.uuidOrName();
+        if( uuidOrName == null ) {
+            return UsergridResponse.fromError(client,  "No UUID or name found.", "The entity object must have a `uuid` or `name` assigned.");
+        }
+        UsergridResponse response = client.GET(this.getType(), uuidOrName);
+        if( response.ok() ) {
+            UsergridEntity responseEntity = response.first();
+            if( responseEntity != null ) {
+                this.copyAllProperties(responseEntity);
+            }
+        }
+        return response;
+    }
+
+    @NotNull
+    public UsergridResponse save() {
+        return this.save(Usergrid.getInstance());
+    }
+
+    @NotNull
+    public UsergridResponse save(@NotNull final UsergridClient client) {
+        UsergridResponse response;
+        if( this.getUuid() != null ) {
+            response = client.PUT(this);
+        } else {
+            response = client.POST(this);
+        }
+        if( response.ok() ) {
+            UsergridEntity responseEntity = response.first();
+            if( responseEntity != null ) {
+                this.copyAllProperties(responseEntity);
+            }
+        }
+        return response;
+    }
+
+    @NotNull
+    public UsergridResponse remove() {
+        return this.remove(Usergrid.getInstance());
+    }
+
+    @NotNull
+    public UsergridResponse remove(@NotNull final UsergridClient client) {
+        return client.DELETE(this);
+    }
+
+    @NotNull
+    public UsergridResponse connect(@NotNull final String relationship, @NotNull final UsergridEntity toEntity) {
+        return this.connect(Usergrid.getInstance(), relationship, toEntity);
+    }
+
+    @NotNull
+    public UsergridResponse connect(@NotNull final UsergridClient client, @NotNull final String relationship, @NotNull final UsergridEntity toEntity) {
+        return client.connect(this,relationship,toEntity);
+    }
+
+    @NotNull
+    public UsergridResponse disconnect(@NotNull final String relationship, @NotNull final UsergridEntity fromEntity) {
+        return this.disconnect(Usergrid.getInstance(), relationship, fromEntity);
+    }
+
+    @NotNull
+    public UsergridResponse disconnect(@NotNull final UsergridClient client, @NotNull final String relationship, @NotNull final UsergridEntity fromEntity) {
+        return client.disconnect(this,relationship,fromEntity);
+    }
+
+    @NotNull
+    public UsergridResponse getConnections(@NotNull final UsergridDirection direction, @NotNull final String relationship) {
+        return this.getConnections(Usergrid.getInstance(),direction,relationship);
+    }
+
+    @NotNull
+    public UsergridResponse getConnections(@NotNull final UsergridClient client, @NotNull final UsergridDirection direction, @NotNull final String relationship) {
+        return client.getConnections(direction,this,relationship);
+    }
+
+    public void removeProperty(@NotNull final String name) {
+        putProperty(name, NullNode.getInstance());
+    }
+
+    public void removeProperties(@NotNull final List<String> names) {
+        for( String propertyName : names ) {
+            this.removeProperty(propertyName);
+        }
+    }
+
+    public void putProperty(@NotNull final String name, @NotNull final String value) {
+        this.putProperty(name, JsonNodeFactory.instance.textNode(value));
+    }
+    public void putProperty(@NotNull final String name, final boolean value) {
+        this.putProperty(name, JsonNodeFactory.instance.booleanNode(value));
+    }
+    public void putProperty(@NotNull final String name, @NotNull final List value) {
+        this.putProperty(name, JsonNodeFactory.instance.pojoNode(value));
+    }
+    public void putProperty(@NotNull final String name, final int value) {
+        this.putProperty(name, JsonNodeFactory.instance.numberNode(value));
+    }
+    public void putProperty(@NotNull final String name, final long value) {
+        this.putProperty(name, JsonNodeFactory.instance.numberNode(value));
+    }
+    public void putProperty(@NotNull final String name, final float value) {
+        this.putProperty(name, JsonNodeFactory.instance.numberNode(value));
+    }
+    public void putProperty(@NotNull final String name, @Nullable final JsonNode value) {
+        UsergridEntityProperties entityProperty = UsergridEntityProperties.fromString(name);
+        if( entityProperty != null && !entityProperty.isMutableForEntity(this)) {
+            return;
+        }
+
+        JsonNode valueNode = value;
+        if( valueNode == null ) {
+            valueNode = NullNode.getInstance();
+        }
+        this.updatePropertiesWithMap(Collections.singletonMap(name,valueNode));
+    }
+    public void putProperties(@NotNull final String jsonString) {
+        try {
+            JsonNode jsonNode = entityUpdateMapper.readTree(jsonString);
+            this.putProperties(jsonNode);
+        } catch( Exception ignore ) {}
+    }
+    public void putProperties(@NotNull final Map<String, Object> properties) {
+        try {
+            JsonNode jsonNode = entityUpdateMapper.valueToTree(properties);
+            this.putProperties(jsonNode);
+        } catch( Exception ignore ) {}
+    }
+    public void putProperties(@NotNull final JsonNode jsonNode) {
+        HashMap<String,JsonNode> propertiesToUpdate = new HashMap<>();
+        Iterator<Map.Entry<String,JsonNode>> keys = jsonNode.fields();
+        while (keys.hasNext()) {
+            Map.Entry<String,JsonNode> entry = keys.next();
+            String key = entry.getKey();
+            UsergridEntityProperties entityProperty = UsergridEntityProperties.fromString(key);
+            if( entityProperty == null || entityProperty.isMutableForEntity(this) ) {
+                propertiesToUpdate.put(key,entry.getValue());
+            }
+        }
+        if( !propertiesToUpdate.isEmpty() ) {
+            this.updatePropertiesWithMap(propertiesToUpdate);
+        }
+    }
+
+    @SuppressWarnings("unchecked")
+    public void append(@NotNull final String name, @NotNull final Object value) {
+        this.append(name, (value instanceof List) ? (List<Object>) value : Collections.singletonList(value));
+    }
+
+    public void append(@NotNull final String name, @NotNull final List<Object> value) {
+        this.insert(name, value, Integer.MAX_VALUE);
+    }
+
+    @SuppressWarnings("unchecked")
+    public void insert(@NotNull final String name, @NotNull final Object value) {
+        this.insert(name, (value instanceof List) ? (List<Object>) value : Collections.singletonList(value), 0);
+    }
+
+    @SuppressWarnings("unchecked")
+    public void insert(@NotNull final String name, @NotNull final Object value, final int index) {
+        this.insert(name, (value instanceof List) ? (List<Object>) value : Collections.singletonList(value), index);
+    }
+
+    public void insert(@NotNull final String name, @NotNull final List<Object> value) {
+        this.insert(name,value,0);
+    }
+
+    public void insert(@NotNull final String name, @NotNull final List<Object> value, final int index) {
+        int indexToInsert = index;
+        if (indexToInsert < 0) {
+            indexToInsert = 0;
+        }
+        Object propertyValue = this.getEntityProperty(name);
+        if( propertyValue != null ) {
+            ArrayList<Object> propertyArrayValue = this.convertToList(propertyValue);
+            propertyArrayValue = this.insertIntoArray(propertyArrayValue,value,indexToInsert);
+            this.putProperty(name, propertyArrayValue);
+        } else {
+            this.putProperty(name, value);
+        }
+    }
+
+    public void pop(@NotNull final String name) {
+        ArrayList<Object> arrayToPop = this.getArrayToPopOrShift(name);
+        if( arrayToPop != null && !arrayToPop.isEmpty() ) {
+            arrayToPop.remove(arrayToPop.size() - 1);
+            this.putProperty(name, arrayToPop);
+        }
+    }
+
+    public void shift(@NotNull final String name) {
+        ArrayList<Object> arrayToShift = this.getArrayToPopOrShift(name);
+        if( arrayToShift != null && !arrayToShift.isEmpty() ) {
+            arrayToShift.remove(0);
+            this.putProperty(name, arrayToShift);
+        }
+    }
+
+    @Nullable
+    public <T> T getEntityProperty(@NotNull final String name) {
+        return JsonUtils.getProperty(this.properties, name);
+    }
+
+    @Nullable
+    public JsonNode getJsonNodeProperty(@NotNull final String name) {
+        return this.getProperties().get(name);
+    }
+
+    @Nullable
+    public String getStringProperty(@NotNull final String name) {
+        return JsonUtils.getStringProperty(this.getProperties(), name);
+    }
+
+    @Nullable
+    public Boolean getBooleanProperty(@NotNull final String name) {
+        Boolean booleanValue = null;
+        Object object = JsonUtils.getProperty(this.getProperties(), name);
+        if( object instanceof Boolean ) {
+            booleanValue = (Boolean)object;
+        }
+        return booleanValue;
+    }
+
+    @Nullable
+    public Number getNumberProperty(@NotNull final String name) {
+        Number numberValue = null;
+        Object object = JsonUtils.getProperty(this.getProperties(), name);
+        if( object instanceof Number ) {
+            numberValue = (Number)object;
+        }
+        return numberValue;
+    }
+
+    @Nullable
+    public Integer getIntegerProperty(@NotNull final String name) {
+        Integer integerValue = null;
+        Object object = JsonUtils.getProperty(this.getProperties(), name);
+        if( object instanceof Number ) {
+            integerValue = ((Number)object).intValue();
+        }
+        return integerValue;
+    }
+
+    @Nullable
+    public Float getFloatProperty(@NotNull final String name) {
+        Float floatValue = null;
+        Object object = JsonUtils.getProperty(this.getProperties(), name);
+        if( object instanceof Number ) {
+            floatValue = ((Number)object).floatValue();
+        }
+        return floatValue;
+    }
+
+    @Nullable
+    public Long getLongProperty(@NotNull final String name) {
+        Long longValue = null;
+        Object object = JsonUtils.getProperty(this.getProperties(), name);
+        if( object instanceof Number ) {
+            longValue = ((Number)object).longValue();
+        }
+        return longValue;
+    }
+
+    @JsonAnyGetter @NotNull
+    private Map<String, JsonNode> getProperties() {
+        return this.properties;
+    }
+
+    @JsonAnySetter
+    private void internalPutProperty(@NotNull final String name, @Nullable final JsonNode value) {
+        if (value == null) {
+            properties.put(name, NullNode.instance);
+        } else {
+            properties.put(name, value);
+        }
+    }
+
+    @Nullable
+    @SuppressWarnings("unchecked")
+    private ArrayList<Object> getArrayToPopOrShift(@NotNull final String name) {
+        Object entityProperty = getEntityProperty(name);
+        ArrayList<Object> arrayToPopOrShift = null;
+        if (entityProperty instanceof POJONode) {
+            Object objectValue = ((POJONode) entityProperty).getPojo();
+            if (objectValue instanceof List) {
+                arrayToPopOrShift = new ArrayList<>((List) objectValue);
+            } else {
+                arrayToPopOrShift = new ArrayList<>();
+                arrayToPopOrShift.add(objectValue);
+            }
+        } else if( entityProperty instanceof ArrayNode ) {
+            arrayToPopOrShift = JsonUtils.convertToArrayList((ArrayNode)entityProperty);
+        } else if( entityProperty instanceof List ) {
+            arrayToPopOrShift = new ArrayList<>((List) entityProperty);
+        }
+        return arrayToPopOrShift;
+    }
+
+    @NotNull
+    private ArrayList<Object> convertToList(@NotNull final Object value) {
+        ArrayList<Object> arrayList = new ArrayList<>();
+        if( value instanceof ArrayNode ) {
+            arrayList = JsonUtils.convertToArrayList((ArrayNode)value);
+        } else if (value instanceof POJONode) {
+            Object objectValue = ((POJONode) value).getPojo();
+            if( objectValue instanceof List ) {
+                arrayList.addAll((List)objectValue);
+            } else {
+                arrayList.add(objectValue);
+            }
+        } else if (value instanceof List) {
+            arrayList.addAll((List)value);
+        } else {
+            arrayList.add(value);
+        }
+        return arrayList;
+    }
+
+    @NotNull
+    private ArrayList<Object> insertIntoArray(@NotNull final List<Object> propertyArrayNode, @NotNull final List<Object> arrayToInsert, final int index) {
+        ArrayList<Object> mergedArray = new ArrayList<>();
+        if (propertyArrayNode.size() <= 0 || arrayToInsert.isEmpty()) {
+            mergedArray.addAll(arrayToInsert);
+        }  else if ( index <= 0 ) {
+            mergedArray.addAll(arrayToInsert);
+            mergedArray.addAll(propertyArrayNode);
+        } else if ( index > 0 ) {
+            mergedArray.addAll(propertyArrayNode);
+            if ( index > propertyArrayNode.size() ) {
+                mergedArray.addAll(arrayToInsert);
+            } else {
+                mergedArray.addAll(index,arrayToInsert);
+            }
+        }
+        return mergedArray;
+    }
+}
\ No newline at end of file
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/model/UsergridUser.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/model/UsergridUser.java
new file mode 100644
index 0000000..f967e46
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/model/UsergridUser.java
@@ -0,0 +1,198 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import org.apache.usergrid.java.client.Usergrid;
+import org.apache.usergrid.java.client.UsergridClient;
+import org.apache.usergrid.java.client.UsergridEnums.*;
+import org.apache.usergrid.java.client.auth.UsergridUserAuth;
+import org.apache.usergrid.java.client.query.UsergridQuery;
+import org.apache.usergrid.java.client.response.UsergridResponse;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.HashMap;
+
+@SuppressWarnings("unused")
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class UsergridUser extends UsergridEntity {
+    @NotNull public final static String USER_ENTITY_TYPE = "user";
+
+    @Nullable private UsergridUserAuth userAuth = null;
+
+    @Nullable private String username;
+    @Nullable private String email;
+    @Nullable private String password;
+    @Nullable private String picture;
+
+    private boolean activated = false;
+    private boolean disabled = false;
+
+    public UsergridUser() {
+        super(USER_ENTITY_TYPE);
+    }
+
+    public UsergridUser(@NotNull final String username, @Nullable final String password) {
+        super(USER_ENTITY_TYPE);
+        setUsername(username);
+        setPassword(password);
+    }
+
+    public UsergridUser(@NotNull final String name, @NotNull final HashMap<String, Object> propertyMap) {
+        super(USER_ENTITY_TYPE,name);
+        putProperties(propertyMap);
+    }
+
+    public UsergridUser(@Nullable final String name, @Nullable final String username, @Nullable final String email, @Nullable final String password) {
+        super(USER_ENTITY_TYPE,name);
+        setUsername(username);
+        setEmail(email);
+        setPassword(password);
+    }
+
+    public void setName(@Nullable final String name) { super.setName(name); }
+
+    @Nullable public String getUsername() { return this.username; }
+    public void setUsername(@Nullable final String username) { this.username = username; }
+
+    @Nullable public String getEmail() { return this.email; }
+    public void setEmail(@Nullable final String email) { this.email = email; }
+
+    @Nullable public String getPassword() { return this.password; }
+    public void setPassword(@Nullable final String password) { this.password = password; }
+
+    @Nullable public String getPicture() { return this.picture; }
+    public void setPicture(@Nullable final String picture) { this.picture = picture; }
+
+    public boolean isActivated() { return this.activated; }
+    public void setActivated(final boolean activated) { this.activated = activated; }
+
+    public boolean isDisabled() { return this.disabled; }
+    public void setDisabled(final boolean disabled) { this.disabled = disabled; }
+
+    @JsonIgnore @Nullable public UsergridUserAuth getUserAuth() { return this.userAuth; }
+    @JsonIgnore public void setUserAuth(@Nullable final UsergridUserAuth userAuth) { this.userAuth = userAuth; }
+
+    @Nullable
+    public String uuidOrUsername() {
+        String uuidOrUsername = this.getUuid();
+        if( uuidOrUsername == null ) {
+            uuidOrUsername = this.getUsername();
+        }
+        return uuidOrUsername;
+    }
+
+    @Nullable
+    public String usernameOrEmail() {
+        String usernameOrEmail = this.getUsername();
+        if( usernameOrEmail == null ) {
+            usernameOrEmail = this.getEmail();
+        }
+        return usernameOrEmail;
+    }
+
+    public static boolean checkAvailable(@Nullable final String email, @Nullable final String username) {
+        return UsergridUser.checkAvailable(Usergrid.getInstance(), email, username);
+    }
+
+    public static boolean checkAvailable(@NotNull final UsergridClient client, @Nullable final String email, @Nullable final String username) {
+        if (email == null && username == null) {
+            throw new IllegalArgumentException("email and username both are null ");
+        }
+        UsergridQuery query = new UsergridQuery(USER_ENTITY_TYPE);
+        if (username != null) {
+            query.eq(UsergridUserProperties.USERNAME.toString(), username);
+        }
+        if (email != null) {
+            query.or().eq(UsergridUserProperties.EMAIL.toString(), email);
+        }
+        return client.GET(query).first() != null;
+    }
+
+    @NotNull
+    public UsergridResponse create() {
+        return this.create(Usergrid.getInstance());
+    }
+
+    @NotNull
+    public UsergridResponse create(@NotNull final UsergridClient client) {
+        UsergridResponse response = client.POST(this);
+        UsergridUser createdUser = response.user();
+        if( createdUser != null ) {
+            this.copyAllProperties(createdUser);
+        }
+        return response;
+    }
+
+    @NotNull
+    public UsergridResponse login(@NotNull final String username, @NotNull final String password) {
+        return this.login(Usergrid.getInstance(),username,password);
+    }
+
+    @NotNull
+    public UsergridResponse login(@NotNull final UsergridClient client, @NotNull final String username, @NotNull final String password) {
+        UsergridUserAuth userAuth = new UsergridUserAuth(username,password);
+        UsergridResponse response = client.authenticateUser(userAuth,false);
+        if( response.ok() ) {
+            this.userAuth = userAuth;
+        }
+        return response;
+    }
+
+    @NotNull
+    public UsergridResponse resetPassword(@NotNull final String oldPassword, @NotNull final String newPassword) {
+        return this.resetPassword(Usergrid.getInstance(),oldPassword,newPassword);
+    }
+
+    @NotNull
+    public UsergridResponse resetPassword(@NotNull final UsergridClient client, @NotNull final String oldPassword, @NotNull final String newPassword) {
+        return client.resetPassword(this,oldPassword,newPassword);
+    }
+
+    @NotNull
+    public UsergridResponse reauthenticate() {
+        return this.reauthenticate(Usergrid.getInstance());
+    }
+
+    @NotNull
+    public UsergridResponse reauthenticate(@NotNull final UsergridClient client) {
+        return this.userAuth == null ? UsergridResponse.fromError(client, "Invalid UsergridUserAuth.", "No UsergridUserAuth found on the UsergridUser.") : client.authenticateUser(this.userAuth, false);
+    }
+
+    @NotNull
+    public UsergridResponse logout() {
+        return this.logout(Usergrid.getInstance());
+    }
+
+    @NotNull
+    public UsergridResponse logout(@NotNull final UsergridClient client) {
+        UsergridResponse response;
+        String uuidOrUsername = this.uuidOrUsername();
+        String accessToken = (this.userAuth != null) ? this.userAuth.getAccessToken() : null;
+        if (uuidOrUsername == null || accessToken == null ) {
+            response = UsergridResponse.fromError(client,  "Logout Failed.", "UUID or Access Token not found on UsergridUser object.");
+        } else {
+            response = client.logoutUser(uuidOrUsername, accessToken);
+            if( response.ok() ) {
+                this.userAuth = null;
+            }
+        }
+        return response;
+    }
+}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/query/UsergridQuery.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/query/UsergridQuery.java
new file mode 100644
index 0000000..dc359c0
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/query/UsergridQuery.java
@@ -0,0 +1,434 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client.query;
+
+import org.apache.usergrid.java.client.UsergridEnums.UsergridQueryOperator;
+import org.apache.usergrid.java.client.UsergridEnums.UsergridQuerySortOrder;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.net.URLEncoder;
+import java.util.*;
+
+@SuppressWarnings("unused")
+public final class UsergridQuery {
+
+    @NotNull private final ArrayList<String> requirementStrings = new ArrayList<>();
+    @NotNull private final ArrayList<String> urlTerms = new ArrayList<>();
+    @NotNull private final HashMap<String, UsergridQuerySortOrder> orderClauses = new HashMap<>();
+    @NotNull private Integer limit = UsergridQuery.LIMIT_DEFAULT;
+    @Nullable private String cursor = null;
+    @Nullable private String fromStringValue = null;
+    @Nullable private String collectionName = null;
+
+    public UsergridQuery() {
+        this(null);
+    }
+
+    public UsergridQuery(@Nullable final String collectionName) {
+        this.collectionName = collectionName;
+        this.requirementStrings.add(UsergridQuery.EMPTY_STRING);
+    }
+
+    private static boolean isUUID(@NotNull final String string) {
+        try {
+            UUID uuid = UUID.fromString(string);
+            return true;
+        } catch (Exception ex) {
+            return false;
+        }
+    }
+
+    @NotNull
+    private static String encode(@NotNull final String stringValue) {
+        String escapedString;
+        try {
+            escapedString = URLEncoder.encode(stringValue, UTF8);
+        } catch (Exception e) {
+            escapedString = stringValue;
+        }
+        return escapedString;
+    }
+
+    @NotNull
+    public static String strJoin(@NotNull final List<String> array, @NotNull final String separator) {
+        StringBuilder stringBuilder = new StringBuilder();
+        for (int i = 0, il = array.size(); i < il; i++) {
+            if (i > 0) {
+                stringBuilder.append(separator);
+            }
+            stringBuilder.append(array.get(i));
+        }
+        return stringBuilder.toString();
+    }
+
+    @NotNull
+    public UsergridQuery fromString(@NotNull final String stringValue) {
+        this.fromStringValue = stringValue;
+        return this;
+    }
+
+    @Nullable
+    public String getType() {
+        return this.collectionName;
+    }
+
+    @Nullable
+    public String getCollectionName() {
+        return this.collectionName;
+    }
+
+    @Nullable
+    public String getCollection() {
+        return this.collectionName;
+    }
+
+    @NotNull
+    public UsergridQuery type(@Nullable final String type) {
+        this.collectionName = type;
+        return this;
+    }
+
+    @NotNull
+    public UsergridQuery collection(@Nullable final String collectionName) {
+        return this.type(collectionName);
+    }
+
+    @NotNull
+    public UsergridQuery collectionName(@Nullable final String collectionName) {
+        return this.type(collectionName);
+    }
+
+    @NotNull
+    public UsergridQuery cursor(@Nullable final String value) {
+        this.cursor = value;
+        return this;
+    }
+
+    @NotNull
+    public UsergridQuery limit(@NotNull final Integer limit) {
+        this.limit = limit;
+        return this;
+    }
+
+    @NotNull
+    private UsergridQuery addConditionalSeparator(@NotNull final String separator) {
+        if (!this.requirementStrings.get(0).isEmpty()) {
+            this.requirementStrings.add(0, separator);
+            this.requirementStrings.add(0, UsergridQuery.EMPTY_STRING);
+        }
+        return this;
+    }
+
+    @NotNull
+    public UsergridQuery and() {
+        return this.addConditionalSeparator(UsergridQuery.AND);
+    }
+
+    @NotNull
+    public UsergridQuery or() {
+        return this.addConditionalSeparator(UsergridQuery.OR);
+    }
+
+    @NotNull
+    public UsergridQuery not() {
+        return this.addConditionalSeparator(UsergridQuery.NOT);
+    }
+
+    @NotNull
+    public UsergridQuery sort(@NotNull final String term, @NotNull final UsergridQuerySortOrder sortOrder) {
+        this.orderClauses.put(term, sortOrder);
+        return this;
+    }
+
+    @NotNull
+    public UsergridQuery ascending(@NotNull final String term) {
+        return this.asc(term);
+    }
+
+    @NotNull
+    public UsergridQuery asc(@NotNull final String term) {
+        return this.sort(term, UsergridQuerySortOrder.ASC);
+    }
+
+    @NotNull
+    public UsergridQuery descending(@NotNull final String term) {
+        return this.desc(term);
+    }
+
+    @NotNull
+    public UsergridQuery desc(@NotNull final String term) {
+        return this.sort(term, UsergridQuerySortOrder.DESC);
+    }
+
+    @NotNull
+    public UsergridQuery contains(@NotNull final String term, @NotNull final String value) {
+        return this.containsWord(term, value);
+    }
+
+    @NotNull
+    public UsergridQuery containsString(@NotNull final String term, @NotNull final String value) {
+        return this.containsWord(term, value);
+    }
+
+    @NotNull
+    public UsergridQuery containsWord(@NotNull final String term, @NotNull final String value) {
+        return this.addRequirement(term + SPACE + CONTAINS + SPACE + ((UsergridQuery.isUUID(value)) ? EMPTY_STRING : APOSTROPHE) + value + ((UsergridQuery.isUUID(value)) ? EMPTY_STRING : APOSTROPHE));
+    }
+
+    @NotNull
+    public UsergridQuery filter(@NotNull final String term, @NotNull final Object value) {
+        return this.eq(term, value);
+    }
+
+    @NotNull
+    public UsergridQuery equals(@NotNull final String term, @NotNull final Object value) {
+        return this.eq(term, value);
+    }
+
+    @NotNull
+    public UsergridQuery eq(@NotNull final String term, @NotNull final Object value) {
+        return this.addOperationRequirement(term, UsergridQueryOperator.EQUAL, value);
+    }
+
+    @NotNull
+    public UsergridQuery greaterThan(@NotNull final String term, @NotNull final Object value) {
+        return this.gt(term, value);
+    }
+
+    @NotNull
+    public UsergridQuery gt(@NotNull final String term, @NotNull final Object value) {
+        return this.addOperationRequirement(term, UsergridQueryOperator.GREATER_THAN, value);
+    }
+
+    @NotNull
+    public UsergridQuery greaterThanOrEqual(@NotNull final String term, @NotNull final Object value) {
+        return this.gte(term, value);
+    }
+
+    @NotNull
+    public UsergridQuery gte(@NotNull final String term, @NotNull final Object value) {
+        return this.addOperationRequirement(term, UsergridQueryOperator.GREATER_THAN_EQUAL_TO, value);
+    }
+
+    @NotNull
+    public UsergridQuery lessThan(@NotNull final String term, @NotNull final Object value) {
+        return this.lt(term, value);
+    }
+
+    @NotNull
+    public UsergridQuery lt(@NotNull final String term, @NotNull final Object value) {
+        return this.addOperationRequirement(term, UsergridQueryOperator.LESS_THAN, value);
+    }
+
+    @NotNull
+    public UsergridQuery lessThanOrEqual(@NotNull final String term, @NotNull final Object value) {
+        return this.lte(term, value);
+    }
+
+    @NotNull
+    public UsergridQuery lte(@NotNull final String term, @NotNull final Object value) {
+        return this.addOperationRequirement(term, UsergridQueryOperator.LESS_THAN_EQUAL_TO, value);
+    }
+
+    @NotNull
+    public UsergridQuery locationWithin(final double distance, final double latitude, final double longitude) {
+        return this.addRequirement(LOCATION + SPACE + WITHIN + SPACE + distance + SPACE + OF + SPACE + latitude + SPACE + COMMA + longitude);
+    }
+
+    @NotNull
+    public UsergridQuery urlTerm(@NotNull final String term, @NotNull final String equalsValue) {
+        if (term.equalsIgnoreCase(QL)) {
+            this.ql(equalsValue);
+        } else {
+            this.urlTerms.add(UsergridQuery.encode(term) + EQUALS + UsergridQuery.encode(equalsValue));
+        }
+        return this;
+    }
+
+    @NotNull
+    public UsergridQuery ql(@NotNull final String value) {
+        return this.addRequirement(value);
+    }
+
+    @NotNull
+    public UsergridQuery addRequirement(@NotNull final String requirement) {
+        String requirementString = this.requirementStrings.remove(0);
+        if (!requirement.isEmpty() && !requirementString.isEmpty()) {
+            requirementString += SPACE + AND + SPACE;
+        }
+        requirementString += requirement;
+        this.requirementStrings.add(0, requirementString);
+        return this;
+    }
+
+    @NotNull
+    public UsergridQuery addOperationRequirement(@NotNull final String term, @NotNull final UsergridQueryOperator operation, final int intValue) {
+        return this.addOperationRequirement(term, operation, Integer.valueOf(intValue));
+    }
+
+    @NotNull
+    public UsergridQuery addOperationRequirement(@NotNull final String term, @NotNull final UsergridQueryOperator operation, @NotNull final Object value) {
+        if (value instanceof String) {
+            String valueString = value.toString();
+            if (!UsergridQuery.isUUID(valueString)) {
+                valueString = APOSTROPHE + value + APOSTROPHE;
+            }
+            return addRequirement(term + SPACE + operation.operatorValue() + SPACE + valueString);
+        } else {
+            return addRequirement(term + SPACE + operation.operatorValue() + SPACE + value.toString());
+        }
+    }
+
+    @NotNull
+    private String constructOrderByString() {
+        String orderByString = EMPTY_STRING;
+        if (!this.orderClauses.isEmpty()) {
+            for (Map.Entry<String, UsergridQuerySortOrder> orderClause : this.orderClauses.entrySet()) {
+                if (!orderByString.isEmpty()) {
+                    orderByString += COMMA;
+                }
+                orderByString += orderClause.getKey() + SPACE + orderClause.getValue().toString();
+            }
+            if (!orderByString.isEmpty()) {
+                orderByString = SPACE + ORDER_BY + SPACE + orderByString;
+            }
+        }
+        return orderByString;
+    }
+
+    @NotNull
+    private String constructURLTermsString() {
+        String urlTermsString = EMPTY_STRING;
+        if (!this.urlTerms.isEmpty()) {
+            urlTermsString = UsergridQuery.strJoin(this.urlTerms, AMPERSAND);
+        }
+        return urlTermsString;
+    }
+
+    @NotNull
+    private String constructRequirementString() {
+        ArrayList<String> requirementStrings = new ArrayList<>(this.requirementStrings);
+        String firstString = requirementStrings.get(0);
+        if (firstString.isEmpty()) {
+            requirementStrings.remove(0);
+        }
+        String requirementsString = EMPTY_STRING;
+        if (!requirementStrings.isEmpty()) {
+            firstString = requirementStrings.get(0);
+            if (firstString.equalsIgnoreCase(OR) || firstString.equalsIgnoreCase(AND) || firstString.equalsIgnoreCase(NOT)) {
+                requirementStrings.remove(0);
+            }
+            if (!requirementStrings.isEmpty()) {
+                Collections.reverse(requirementStrings);
+                requirementsString = UsergridQuery.strJoin(requirementStrings, SPACE);
+            }
+        }
+        return requirementsString;
+    }
+
+    @NotNull
+    private String constructURLAppend() {
+        return this.constructURLAppend(true);
+    }
+
+    @NotNull
+    private String constructURLAppend(final boolean autoURLEncode) {
+        if (this.fromStringValue != null) {
+            String requirementsString = this.fromStringValue;
+            if (autoURLEncode) {
+                requirementsString = UsergridQuery.encode(requirementsString);
+            }
+            return QUESTION_MARK + QL + EQUALS + requirementsString;
+        }
+        String urlAppend = EMPTY_STRING;
+        if (this.limit != LIMIT_DEFAULT) {
+            urlAppend += LIMIT + EQUALS + this.limit.toString();
+        }
+        String urlTermsString = this.constructURLTermsString();
+        if (!urlTermsString.isEmpty()) {
+            if (!urlAppend.isEmpty()) {
+                urlAppend += AMPERSAND;
+            }
+            urlAppend += urlTermsString;
+        }
+        if (this.cursor != null && !this.cursor.isEmpty()) {
+            if (!urlAppend.isEmpty()) {
+                urlAppend += AMPERSAND;
+            }
+            urlAppend += CURSOR + EQUALS + this.cursor;
+        }
+
+        String requirementsString = this.constructRequirementString();
+        if (!requirementsString.isEmpty()) {
+            requirementsString = SELECT_ALL + SPACE + WHERE + SPACE + requirementsString;
+        } else {
+            requirementsString = SELECT_ALL + SPACE;
+        }
+
+        String orderByString = this.constructOrderByString();
+        if (!orderByString.isEmpty()) {
+            requirementsString += orderByString;
+        }
+        if (!requirementsString.isEmpty()) {
+            if (autoURLEncode) {
+                requirementsString = UsergridQuery.encode(requirementsString);
+            }
+            if (!urlAppend.isEmpty()) {
+                urlAppend += AMPERSAND;
+            }
+            urlAppend += QL + EQUALS + requirementsString;
+        }
+        if (!urlAppend.isEmpty()) {
+            urlAppend = QUESTION_MARK + urlAppend;
+        }
+        return urlAppend;
+    }
+
+    @NotNull
+    public String build() {
+        return this.build(true);
+    }
+
+    @NotNull
+    public String build(final boolean autoURLEncode) {
+        return this.constructURLAppend(autoURLEncode);
+    }
+
+    private static final int LIMIT_DEFAULT = 10;
+    @NotNull private static final String AMPERSAND = "&";
+    @NotNull private static final String AND = "and";
+    @NotNull private static final String APOSTROPHE = "'";
+    @NotNull private static final String COMMA = ",";
+    @NotNull private static final String CONTAINS = "contains";
+    @NotNull private static final String CURSOR = "cursor";
+    @NotNull private static final String EMPTY_STRING = "";
+    @NotNull private static final String EQUALS = "=";
+    @NotNull private static final String LIMIT = "limit";
+    @NotNull private static final String LOCATION = "location";
+    @NotNull private static final String NOT = "not";
+    @NotNull private static final String OF = "of";
+    @NotNull private static final String OR = "or";
+    @NotNull private static final String ORDER_BY = "order by";
+    @NotNull private static final String QL = "ql";
+    @NotNull private static final String QUESTION_MARK = "?";
+    @NotNull private static final String SELECT_ALL = "select *";
+    @NotNull private static final String SPACE = " ";
+    @NotNull private static final String UTF8 = "UTF-8";
+    @NotNull private static final String WHERE = "where";
+    @NotNull private static final String WITHIN = "within";
+}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/response/AggregateCounter.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/response/AggregateCounter.java
deleted file mode 100644
index 240d09f..0000000
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/response/AggregateCounter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.usergrid.java.client.response;
-
-import static org.apache.usergrid.java.client.utils.JsonUtils.toJsonString;
-
-public class AggregateCounter {
-
-	private long timestamp;
-	private long value;
-
-	public AggregateCounter(long timestamp, long value) {
-		this.timestamp = timestamp;
-		this.value = value;
-	}
-
-	public long getTimestamp() {
-		return timestamp;
-	}
-
-	public void setTimestamp(long timestamp) {
-		this.timestamp = timestamp;
-	}
-
-	public long getValue() {
-		return value;
-	}
-
-	public void setValue(long value) {
-		this.value = value;
-	}
-
-	@Override
-	public String toString() {
-		return toJsonString(this);
-	}
-
-}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/response/AggregateCounterSet.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/response/AggregateCounterSet.java
deleted file mode 100644
index 499af3e..0000000
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/response/AggregateCounterSet.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.usergrid.java.client.response;
-
-import static org.apache.usergrid.java.client.utils.JsonUtils.toJsonString;
-
-import java.util.List;
-import java.util.UUID;
-
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion;
-
-public class AggregateCounterSet {
-	private String name;
-	private UUID user;
-	private UUID group;
-	private UUID queue;
-	private String category;
-	private List<AggregateCounter> values;
-
-	public AggregateCounterSet(String name, UUID user, UUID group,
-			String category, List<AggregateCounter> values) {
-		this.name = name;
-		this.user = user;
-		this.group = group;
-		this.category = category;
-		this.values = values;
-	}
-
-	public AggregateCounterSet(String name, UUID queue, String category,
-			List<AggregateCounter> values) {
-		this.name = name;
-		setQueue(queue);
-		this.category = category;
-		this.values = values;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public UUID getUser() {
-		return user;
-	}
-
-	public void setUser(UUID user) {
-		this.user = user;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public UUID getGroup() {
-		return group;
-	}
-
-	public void setGroup(UUID group) {
-		this.group = group;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public String getCategory() {
-		return category;
-	}
-
-	public void setCategory(String category) {
-		this.category = category;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public String getName() {
-		return name;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public List<AggregateCounter> getValues() {
-		return values;
-	}
-
-	public void setValues(List<AggregateCounter> values) {
-		this.values = values;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public UUID getQueue() {
-		return queue;
-	}
-
-	public void setQueue(UUID queue) {
-		this.queue = queue;
-	}
-
-	@Override
-	public String toString() {
-		return toJsonString(this);
-	}
-
-}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/response/ApiResponse.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/response/ApiResponse.java
deleted file mode 100644
index a87e293..0000000
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/response/ApiResponse.java
+++ /dev/null
@@ -1,421 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.usergrid.java.client.response;
-
-import static org.apache.usergrid.java.client.utils.JsonUtils.toJsonString;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion;
-import org.apache.usergrid.java.client.entities.Entity;
-import org.apache.usergrid.java.client.entities.Message;
-import org.apache.usergrid.java.client.entities.User;
-
-public class ApiResponse {
-
-	private String accessToken;
-
-	private String error;
-	private String errorDescription;
-	private String errorUri;
-	private String exception;
-
-	private String path;
-	private String uri;
-	private String status;
-	private long timestamp;
-	private UUID application;
-	private List<Entity> entities;
-	private UUID next;
-	private String cursor;
-	private String action;
-	private List<Object> list;
-	private Object data;
-	private Map<String, UUID> applications;
-	private Map<String, JsonNode> metadata;
-	private Map<String, List<String>> params;
-	private List<AggregateCounterSet> counters;
-	private ClientCredentialsInfo credentials;
-
-	private List<Message> messages;
-	private List<QueueInfo> queues;
-	private UUID last;
-	private UUID queue;
-	private UUID consumer;
-
-	private User user;
-
-	private final Map<String, JsonNode> properties = new HashMap<String, JsonNode>();
-
-	public ApiResponse() {
-	}
-
-	@JsonAnyGetter
-	public Map<String, JsonNode> getProperties() {
-		return properties;
-	}
-
-	@JsonAnySetter
-	public void setProperty(String key, JsonNode value) {
-		properties.put(key, value);
-	}
-
-	@JsonProperty("access_token")
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public String getAccessToken() {
-		return accessToken;
-	}
-
-	@JsonProperty("access_token")
-	public void setAccessToken(String accessToken) {
-		this.accessToken = accessToken;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public String getError() {
-		return error;
-	}
-
-	public void setError(String error) {
-		this.error = error;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	@JsonProperty("error_description")
-	public String getErrorDescription() {
-		return errorDescription;
-	}
-
-	@JsonProperty("error_description")
-	public void setErrorDescription(String errorDescription) {
-		this.errorDescription = errorDescription;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	@JsonProperty("error_uri")
-	public String getErrorUri() {
-		return errorUri;
-	}
-
-	@JsonProperty("error_uri")
-	public void setErrorUri(String errorUri) {
-		this.errorUri = errorUri;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public String getException() {
-		return exception;
-	}
-
-	public void setException(String exception) {
-		this.exception = exception;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public String getPath() {
-		return path;
-	}
-
-	public void setPath(String path) {
-		this.path = path;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public String getUri() {
-		return uri;
-	}
-
-	public void setUri(String uri) {
-		this.uri = uri;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public String getStatus() {
-		return status;
-	}
-
-	public void setStatus(String status) {
-		this.status = status;
-	}
-
-	public long getTimestamp() {
-		return timestamp;
-	}
-
-	public void setTimestamp(long timestamp) {
-		this.timestamp = timestamp;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public UUID getApplication() {
-		return application;
-	}
-
-	public void setApplication(UUID application) {
-		this.application = application;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public List<Entity> getEntities() {
-		return entities;
-	}
-
-	public void setEntities(List<Entity> entities) {
-		this.entities = entities;
-	}
-
-	public int getEntityCount() {
-		if (entities == null) {
-			return 0;
-		}
-		return entities.size();
-	}
-
-	public Entity getFirstEntity() {
-		if ((entities != null) && (entities.size() > 0)) {
-			return entities.get(0);
-		}
-		return null;
-	}
-
-	public <T extends Entity> T getFirstEntity(Class<T> t) {
-		return Entity.toType(getFirstEntity(), t);
-	}
-
-	public Entity getLastEntity() {
-		if ((entities != null) && (entities.size() > 0)) {
-			return entities.get(entities.size() - 1);
-		}
-		return null;
-	}
-
-	public <T extends Entity> T getLastEntity(Class<T> t) {
-		return Entity.toType(getLastEntity(), t);
-	}
-
-	public <T extends Entity> List<T> getEntities(Class<T> t) {
-		return Entity.toType(entities, t);
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public UUID getNext() {
-		return next;
-	}
-
-	public void setNext(UUID next) {
-		this.next = next;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public String getCursor() {
-		return cursor;
-	}
-
-	public void setCursor(String cursor) {
-		this.cursor = cursor;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public String getAction() {
-		return action;
-	}
-
-	public void setAction(String action) {
-		this.action = action;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public List<Object> getList() {
-		return list;
-	}
-
-	public void setList(List<Object> list) {
-		this.list = list;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public Object getData() {
-		return data;
-	}
-
-	public void setData(Object data) {
-		this.data = data;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public Map<String, UUID> getApplications() {
-		return applications;
-	}
-
-	public void setApplications(Map<String, UUID> applications) {
-		this.applications = applications;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public Map<String, JsonNode> getMetadata() {
-		return metadata;
-	}
-
-	public void setMetadata(Map<String, JsonNode> metadata) {
-		this.metadata = metadata;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public Map<String, List<String>> getParams() {
-		return params;
-	}
-
-	public void setParams(Map<String, List<String>> params) {
-		this.params = params;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public List<AggregateCounterSet> getCounters() {
-		return counters;
-	}
-
-	public void setCounters(List<AggregateCounterSet> counters) {
-		this.counters = counters;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public ClientCredentialsInfo getCredentials() {
-		return credentials;
-	}
-
-	public void setCredentials(ClientCredentialsInfo credentials) {
-		this.credentials = credentials;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public User getUser() {
-		return user;
-	}
-
-	public void setUser(User user) {
-		this.user = user;
-	}
-
-	@Override
-	public String toString() {
-		return toJsonString(this);
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public List<Message> getMessages() {
-		return messages;
-	}
-
-	public void setMessages(List<Message> messages) {
-		this.messages = messages;
-	}
-
-	@JsonIgnore
-	public int getMessageCount() {
-		if (messages == null) {
-			return 0;
-		}
-		return messages.size();
-	}
-
-	@JsonIgnore
-	public Message getFirstMessage() {
-		if ((messages != null) && (messages.size() > 0)) {
-			return messages.get(0);
-		}
-		return null;
-	}
-
-	@JsonIgnore
-	public Entity getLastMessage() {
-		if ((messages != null) && (messages.size() > 0)) {
-			return messages.get(messages.size() - 1);
-		}
-		return null;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public UUID getLast() {
-		return last;
-	}
-
-	public void setLast(UUID last) {
-		this.last = last;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public List<QueueInfo> getQueues() {
-		return queues;
-	}
-
-	public void setQueues(List<QueueInfo> queues) {
-		this.queues = queues;
-	}
-
-	@JsonIgnore
-	public QueueInfo getFirstQueue() {
-		if ((queues != null) && (queues.size() > 0)) {
-			return queues.get(0);
-		}
-		return null;
-	}
-
-	@JsonIgnore
-	public QueueInfo getLastQueue() {
-		if ((queues != null) && (queues.size() > 0)) {
-			return queues.get(queues.size() - 1);
-		}
-		return null;
-	}
-
-	@JsonIgnore
-	public UUID getLastQueueId() {
-		QueueInfo q = getLastQueue();
-		if (q != null) {
-			return q.getQueue();
-		}
-		return null;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public UUID getQueue() {
-		return queue;
-	}
-
-	public void setQueue(UUID queue) {
-		this.queue = queue;
-	}
-
-	@JsonSerialize(include = Inclusion.NON_NULL)
-	public UUID getConsumer() {
-		return consumer;
-	}
-
-	public void setConsumer(UUID consumer) {
-		this.consumer = consumer;
-	}
-
-}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/response/ClientCredentialsInfo.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/response/ClientCredentialsInfo.java
deleted file mode 100644
index 7ac6b36..0000000
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/response/ClientCredentialsInfo.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.usergrid.java.client.response;
-
-import static org.apache.usergrid.java.client.utils.JsonUtils.toJsonString;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public class ClientCredentialsInfo {
-
-	private String id;
-	private String secret;
-
-	public ClientCredentialsInfo(String id, String secret) {
-		this.id = id;
-		this.secret = secret;
-	}
-
-	@JsonProperty("client_id")
-	public String getId() {
-		return id;
-	}
-
-	@JsonProperty("client_id")
-	public void setId(String id) {
-		this.id = id;
-	}
-
-	@JsonProperty("client_secret")
-	public String getSecret() {
-		return secret;
-	}
-
-	@JsonProperty("client_secret")
-	public void setSecret(String secret) {
-		this.secret = secret;
-	}
-
-	@Override
-	public String toString() {
-		return toJsonString(this);
-	}
-
-}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/response/UsergridResponse.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/response/UsergridResponse.java
new file mode 100644
index 0000000..ee649c4
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/response/UsergridResponse.java
@@ -0,0 +1,230 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client.response;
+
+import com.fasterxml.jackson.annotation.*;
+import com.fasterxml.jackson.databind.JsonNode;
+import okhttp3.Headers;
+import org.apache.usergrid.java.client.UsergridClient;
+import org.apache.usergrid.java.client.UsergridEnums;
+import org.apache.usergrid.java.client.UsergridRequest;
+import org.apache.usergrid.java.client.model.UsergridEntity;
+import org.apache.usergrid.java.client.model.UsergridUser;
+import org.apache.usergrid.java.client.query.UsergridQuery;
+import org.apache.usergrid.java.client.utils.JsonUtils;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.*;
+
+import static org.apache.usergrid.java.client.utils.JsonUtils.toJsonString;
+
+@SuppressWarnings("unused")
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class UsergridResponse {
+
+    @Nullable private UsergridClient client;
+    @NotNull private Map<String, JsonNode> properties = new HashMap<>();
+
+    private int statusCode = 0;
+    @Nullable private JsonNode responseJson = null;
+    @Nullable private String cursor;
+    @Nullable private List<UsergridEntity> entities;
+    @Nullable private Map<String, String> headers;
+    @Nullable private UsergridQuery query;
+    @Nullable private UsergridResponseError responseError = null;
+
+    @Nullable private String accessToken;
+    @Nullable private Long expires;
+
+    public boolean ok() { return (statusCode > 0 && statusCode < 400); }
+    public int count()  { return (entities == null) ? 0 : entities.size(); }
+    public boolean hasNextPage() { return (cursor != null); }
+    @NotNull @Override public String toString() {
+        return toJsonString(this);
+    }
+
+    @Nullable public UsergridEntity first() { return (entities == null || entities.isEmpty()) ? null : entities.get(0); }
+    @Nullable public UsergridEntity entity() {
+        return first();
+    }
+    @Nullable public UsergridEntity last() { return (entities == null || entities.isEmpty()) ? null : entities.get(entities.size() - 1); }
+
+    @Nullable
+    public UsergridUser user() {
+        UsergridEntity entity = this.first();
+        if( entity != null && entity instanceof UsergridUser ) {
+            return (UsergridUser) entity;
+        }
+        return null;
+    }
+
+    @Nullable
+    public List<UsergridUser> users() {
+        ArrayList<UsergridUser> users = null;
+        if( entities != null && !entities.isEmpty() ) {
+            for( UsergridEntity entity : entities ) {
+                if( entity instanceof UsergridUser ) {
+                    if( users == null )  {
+                        users = new ArrayList<>();
+                    }
+                    users.add((UsergridUser)entity);
+                }
+            }
+        }
+        return users;
+    }
+
+    public int getStatusCode() { return this.statusCode; }
+
+    @Nullable @JsonIgnore
+    public UsergridClient getClient() {
+        return client;
+    }
+    @JsonIgnore public void setClient(@Nullable final UsergridClient client) { this.client = client; }
+
+    @Nullable @JsonIgnore
+    public JsonNode getResponseJson() {
+        return responseJson;
+    }
+    private void setResponseJson(@Nullable final JsonNode responseJson) {this.responseJson = responseJson; }
+
+    @Nullable @JsonIgnore
+    public UsergridQuery getQuery() {
+        return query;
+    }
+    private void setQuery(@Nullable final UsergridQuery query) { this.query = query; }
+
+    @Nullable
+    public UsergridResponseError getResponseError() {
+        return responseError;
+    }
+    private void setResponseError(@Nullable final UsergridResponseError responseError) { this.responseError = responseError; }
+
+    @Nullable
+    public Map<String, String> getHeaders() {
+        return headers;
+    }
+    private void setHeaders(@Nullable final Map<String, String> headers) { this.headers = headers; }
+
+    @Nullable
+    public List<UsergridEntity> getEntities() { return entities; }
+    private void setEntities(@NotNull final List<UsergridEntity> entities) { this.entities = entities; }
+
+    @Nullable @JsonProperty("cursor")
+    public String getCursor() {
+        return cursor;
+    }
+    @JsonProperty("cursor")
+    private void setCursor(@NotNull final String cursor) { this.cursor = cursor; }
+
+    @Nullable @JsonProperty("access_token")
+    public String getAccessToken() { return this.accessToken; }
+    @JsonProperty("access_token")
+    private void setAccessToken(@NotNull final String accessToken) { this.accessToken = accessToken; }
+
+    @Nullable @JsonProperty("expires_in")
+    public Long getExpires() { return this.expires; }
+    @JsonProperty("expires_in")
+    private void setExpires(@NotNull final Long expires) { this.expires = expires; }
+
+    @JsonProperty("user")
+    private void setUser(@NotNull final UsergridUser user) {
+        if( this.entities == null ) {
+            this.entities = new ArrayList<>();
+        }
+        this.entities.add(user);
+    }
+
+    @NotNull @JsonAnyGetter
+    public Map<String, JsonNode> getProperties() {
+        return properties;
+    }
+    @JsonAnySetter
+    private void setProperty(@NotNull final  String key, @NotNull final JsonNode value) {
+        properties.put(key, value);
+    }
+
+    @NotNull
+    public UsergridResponse loadNextPage() {
+        UsergridClient client = this.client;
+        UsergridEntity entity = this.first();
+        if( this.hasNextPage() && client != null && entity != null ) {
+            Map<String, Object> paramsMap = new HashMap<>();
+            paramsMap.put("cursor", getCursor());
+            UsergridRequest request = new UsergridRequest(UsergridEnums.UsergridHttpMethod.GET, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, client.clientAppUrl(), paramsMap, null, null, this.getQuery(), client.authForRequests() , entity.getType());
+            return client.sendRequest(request);
+        } else {
+            return UsergridResponse.fromError(client,"Error Loading Next Page.","Unable to load next page.");
+        }
+    }
+
+    @NotNull
+    public static UsergridResponse fromError(@Nullable final UsergridClient client, @NotNull final String errorName, @NotNull final String errorDescription) {
+        UsergridResponse response = new UsergridResponse();
+        response.client = client;
+        response.responseError = new UsergridResponseError(errorName,errorDescription);
+        return response;
+    }
+
+    @NotNull
+    public static UsergridResponse fromException(@Nullable final UsergridClient client, @NotNull final Exception ex) {
+        final UsergridResponse response = new UsergridResponse();
+        response.client = client;
+        final UsergridResponseError responseError = new UsergridResponseError();
+        responseError.setErrorDescription(ex.getMessage());
+        if( ex.getClass() != null ) {
+            responseError.setErrorName(ex.getClass().toString());
+        }
+        if( ex.getCause() != null ) {
+            responseError.setErrorException(ex.getCause().toString());
+        }
+        response.responseError = responseError;
+        return response;
+    }
+
+    @NotNull
+    public static UsergridResponse fromResponse(@NotNull final UsergridClient client, @NotNull final UsergridRequest request, @NotNull final okhttp3.Response requestResponse) {
+        UsergridResponse response;
+        JsonNode responseJson;
+        try {
+            String responseJsonString = requestResponse.body().string();
+            responseJson = JsonUtils.mapper.readTree(responseJsonString);
+        } catch ( Exception e ) {
+            return UsergridResponse.fromException(client,e);
+        }
+        if ( responseJson.has("error") )  {
+            response = new UsergridResponse();
+            response.responseError = JsonUtils.fromJsonNode(responseJson,UsergridResponseError.class);
+        } else {
+            response = JsonUtils.fromJsonNode(responseJson,UsergridResponse.class);
+        }
+        response.client = client;
+        response.responseJson = responseJson;
+        response.statusCode = requestResponse.code();
+
+        Headers responseHeaders = requestResponse.headers();
+        HashMap<String,String> headers = new HashMap<>();
+        for (int i = 0; i < responseHeaders.size(); i++) {
+            headers.put(responseHeaders.name(i),responseHeaders.value(i));
+        }
+
+        response.headers = headers;
+        response.query = request.getQuery();
+        return response;
+    }
+}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/response/UsergridResponseError.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/response/UsergridResponseError.java
new file mode 100644
index 0000000..387ae56
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/response/UsergridResponseError.java
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client.response;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.JsonNode;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@SuppressWarnings("unused")
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class UsergridResponseError {
+
+    @Nullable private String errorName;
+    @Nullable private String errorDescription;
+    @Nullable private String errorException;
+
+    @NotNull private final Map<String, JsonNode> properties = new HashMap<>();
+
+    public UsergridResponseError() {
+        this(null,null,null);
+    }
+    public UsergridResponseError(@Nullable final String errorName) {
+        this(errorName, null, null);
+    }
+    public UsergridResponseError(@Nullable final String errorName, @Nullable final String errorDescription) {
+        this(errorName,errorDescription,null);
+    }
+    public UsergridResponseError(@Nullable final String errorName, @Nullable final String errorDescription, @Nullable final String errorException) {
+        this.errorName = errorName;
+        this.errorDescription = errorDescription;
+        this.errorException = errorException;
+    }
+
+    @NotNull
+    @JsonAnyGetter
+    public Map<String, JsonNode> getProperties() {
+        return properties;
+    }
+
+    @JsonAnySetter
+    public void setProperty(@NotNull final String key, @NotNull final JsonNode value) {
+        properties.put(key, value);
+    }
+
+    @Nullable
+    @JsonProperty("error")
+    public String getErrorName() {
+        return errorName;
+    }
+
+    @JsonProperty("error")
+    public void setErrorName(@NotNull final String errorName) {
+        this.errorName = errorName;
+    }
+
+    @Nullable
+    @JsonProperty("exception")
+    public String getErrorException() {
+        return errorException;
+    }
+
+    @JsonProperty("exception")
+    public void setErrorException(@NotNull final String errorException) {
+        this.errorException = errorException;
+    }
+
+    @Nullable
+    @JsonProperty("error_description")
+    public String getErrorDescription() {
+        return errorDescription;
+    }
+
+    @JsonProperty("error_description")
+    public void setErrorDescription(@NotNull final String errorDescription) {
+        this.errorDescription = errorDescription;
+    }
+}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/JsonUtils.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/JsonUtils.java
index a465199..dc1514b 100644
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/JsonUtils.java
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/JsonUtils.java
@@ -16,167 +16,137 @@
  */
 package org.apache.usergrid.java.client.utils;
 
-import java.io.IOException;
-import java.util.Map;
-import java.util.UUID;
-
 import com.fasterxml.jackson.core.JsonGenerationException;
 import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import org.apache.usergrid.java.client.exception.ClientException;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.databind.node.*;
+import org.apache.usergrid.java.client.exception.UsergridException;
+import org.apache.usergrid.java.client.model.UsergridEntity;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
-public class JsonUtils {
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.Map;
 
+@SuppressWarnings("unused")
+public final class JsonUtils {
 
-	static ObjectMapper mapper = new ObjectMapper();
+    @NotNull public static final ObjectMapper mapper = new ObjectMapper();
 
-	public static String getStringProperty(Map<String, JsonNode> properties,
-			String name) {
-		JsonNode value = properties.get(name);
-		if (value != null) {
-			return value.asText();
-		}
-		return null;
-	}
+    static {
+        SimpleModule module = new SimpleModule();
+        module.addDeserializer(UsergridEntity.class, new UsergridEntityDeserializer());
+        mapper.registerModule(module);
+    }
 
-	public static void setStringProperty(Map<String, JsonNode> properties,
-			String name, String value) {
-		if (value == null) {
-			properties.remove(name);
-		} else {
-			properties.put(name, JsonNodeFactory.instance.textNode(value));
-		}
-	}
+    @NotNull
+    public static ObjectNode createObjectNode() {
+        return mapper.createObjectNode();
+    }
 
-	public static Long getLongProperty(Map<String, JsonNode> properties,
-			String name) {
-		JsonNode value = properties.get(name);
-		if (value != null) {
-			return value.asLong(0);
-		}
-		return null;
-	}
-
-	public static void setLongProperty(Map<String, JsonNode> properties,
-			String name, Long value) {
-		if (value == null) {
-			properties.remove(name);
-		} else {
-			properties.put(name, JsonNodeFactory.instance.numberNode(value));
-		}
-	}
-
-	public static void setFloatProperty(Map<String, JsonNode> properties, String name, Float value){
-	    if(value == null){
-	        properties.remove(name);
-	    }else{
-	        properties.put(name, JsonNodeFactory.instance.numberNode(value));
-	    }
-	}
-
-	public static Boolean getBooleanProperty(Map<String, JsonNode> properties,
-			String name) {
-		JsonNode value = properties.get(name);
-		if (value != null) {
-			return value.asBoolean();
-		}
-		return false;
-	}
-
-	public static void setBooleanProperty(Map<String, JsonNode> properties,
-			String name, Boolean value) {
-		if (value == null) {
-			properties.remove(name);
-		} else {
-			properties.put(name, JsonNodeFactory.instance.booleanNode(value));
-		}
-	}
-
-	public static UUID getUUIDProperty(Map<String, JsonNode> properties,
-			String name) {
-		JsonNode value = properties.get(name);
-		if (value != null) {
-			UUID uuid = null;
-			try {
-				uuid = UUID.fromString(value.asText());
-			} catch (Exception e) {
-			}
-			return uuid;
-		}
-		return null;
-	}
-
-	public static void setUUIDProperty(Map<String, JsonNode> properties,
-			String name, UUID value) {
-		if (value == null) {
-			properties.remove(name);
-		} else {
-			properties.put(name,
-					JsonNodeFactory.instance.textNode(value.toString()));
-		}
-	}
-
-	public static String toJsonString(Object obj) {
-		try {
-			return mapper.writeValueAsString(obj);
-		} catch (JsonGenerationException e) {
-			throw new ClientException("Unable to generate json", e);
-		} catch (JsonMappingException e) {
-		    throw new ClientException("Unable to map json", e);
-		} catch (IOException e) {
-		    throw new ClientException("IO error", e);
-		}
-	}
-
-	public static <T> T parse(String json, Class<T> c) {
-		try {
-			return mapper.readValue(json, c);
-		} catch (JsonGenerationException e) {
-            throw new ClientException("Unable to generate json", e);
-        } catch (JsonMappingException e) {
-            throw new ClientException("Unable to map json", e);
-        } catch (IOException e) {
-            throw new ClientException("IO error", e);
+    @Nullable
+    public static String getStringProperty(@NotNull final Map<String, JsonNode> properties, @NotNull final String name) {
+        JsonNode value = properties.get(name);
+        if (value != null) {
+            return value.asText();
         }
-	}
+        return null;
+    }
 
-	public static JsonNode toJsonNode(Object obj) {
-		return mapper.convertValue(obj, JsonNode.class);
-	}
-
-	public static <T> T fromJsonNode(JsonNode json, Class<T> c) {
-		try {
-			JsonParser jp = json.traverse();
-			return mapper.readValue(jp, c);
-		} catch (JsonGenerationException e) {
-            throw new ClientException("Unable to generate json", e);
-        } catch (JsonMappingException e) {
-            throw new ClientException("Unable to map json", e);
-        } catch (IOException e) {
-            throw new ClientException("IO error", e);
+    @NotNull
+    public static ArrayList<Object> convertToArrayList(@NotNull final ArrayNode arrayNode) {
+        ArrayList<Object> arrayList = new ArrayList<>();
+        Iterator<JsonNode> iterator = arrayNode.elements();
+        while( iterator.hasNext() ) {
+            arrayList.add(iterator.next());
         }
-	}
+        return arrayList;
+    }
 
-	public static <T> T getObjectProperty(Map<String, JsonNode> properties,
-			String name, Class<T> c) {
-		JsonNode value = properties.get(name);
-		if (value != null) {
-			return fromJsonNode(value, c);
-		}
-		return null;
-	}
+    @NotNull
+    public static String toJsonString(@NotNull final Object obj) {
+        try {
+            return mapper.writeValueAsString(obj);
+        } catch (JsonGenerationException e) {
+            throw new UsergridException("Unable to generate json", e);
+        } catch (JsonMappingException e) {
+            throw new UsergridException("Unable to map json", e);
+        } catch (IOException e) {
+            throw new UsergridException("IO error", e);
+        }
+    }
 
-	public static void setObjectProperty(Map<String, JsonNode> properties,
-			String name, Object value) {
-		if (value == null) {
-			properties.remove(name);
-		} else {
-			properties.put(name,
-					JsonNodeFactory.instance.textNode(value.toString()));
-		}
-	}
+    @NotNull
+    public static String toPrettyJsonString(@NotNull final Object obj) {
+        try {
+            return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj);
+        } catch (JsonGenerationException e) {
+            throw new UsergridException("Unable to generate json", e);
+        } catch (JsonMappingException e) {
+            throw new UsergridException("Unable to map json", e);
+        } catch (IOException e) {
+            throw new UsergridException("IO error", e);
+        }
+    }
 
+    @NotNull
+    public static JsonNode toJsonNode(@NotNull final Object obj) {
+        return mapper.convertValue(obj, JsonNode.class);
+    }
+
+    @NotNull
+    public static Map toMap(@NotNull final Object obj) {
+        return mapper.convertValue(obj,Map.class);
+    }
+
+    @NotNull
+    public static <T> T fromJsonNode(@NotNull final JsonNode json, @NotNull final Class<T> c) {
+        try {
+            JsonParser jp = json.traverse();
+            return mapper.readValue(jp, c);
+        } catch (JsonGenerationException e) {
+            throw new UsergridException("Unable to generate json", e);
+        } catch (JsonMappingException e) {
+            throw new UsergridException("Unable to map json", e);
+        } catch (IOException e) {
+            throw new UsergridException("IO error", e);
+        }
+    }
+
+    public static void setObjectProperty(@NotNull final Map<String, JsonNode> properties, @NotNull final String name, @Nullable final ObjectNode value) {
+        if (value == null) {
+            properties.remove(name);
+        } else {
+            properties.put(name, value);
+        }
+    }
+
+    @Nullable
+    @SuppressWarnings("unchecked")
+    public static <T> T getProperty(@NotNull final Map<String, JsonNode> properties, @NotNull final String name) {
+        JsonNode value = properties.get(name);
+        if( value == null ) {
+            return null;
+        } else if (value instanceof TextNode) {
+            return (T) value.asText();
+        } else if (value instanceof LongNode) {
+            Long valueLong = value.asLong();
+            return (T) valueLong;
+        } else if (value instanceof BooleanNode) {
+            Boolean valueBoolean = value.asBoolean();
+            return (T) valueBoolean;
+        } else if (value instanceof IntNode) {
+            Integer valueInteger = value.asInt();
+            return (T) valueInteger;
+        } else if (value instanceof FloatNode) {
+            return (T) Float.valueOf(value.toString());
+        } else {
+            return (T) value;
+        }
+    }
 }
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/MapUtils.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/MapUtils.java
index dd128eb..cbf6d51 100644
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/MapUtils.java
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/MapUtils.java
@@ -16,24 +16,21 @@
  */
 package org.apache.usergrid.java.client.utils;
 
+import org.jetbrains.annotations.NotNull;
+
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-public class MapUtils {
+@SuppressWarnings("unused")
+public final class MapUtils {
 
-	public static <T> Map<String, T> newMapWithoutKeys(Map<String, T> map,
-			List<String> keys) {
-		Map<String, T> newMap = null;
-		if (map != null) {
-			newMap = new HashMap<String, T>(map);
-		} else {
-			newMap = new HashMap<String, T>();
-		}
-		for (String key : keys) {
-			newMap.remove(key);
-		}
-		return newMap;
-	}
-
+    @NotNull
+    public static <T> Map<String, T> newMapWithoutKeys(@NotNull  final Map<String, T> map, @NotNull final List<String> keys) {
+        Map<String, T> newMap = new HashMap<>();
+        for (String key : keys) {
+            newMap.remove(key);
+        }
+        return newMap;
+    }
 }
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/ObjectUtils.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/ObjectUtils.java
index 465845a..1d05405 100644
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/ObjectUtils.java
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/ObjectUtils.java
@@ -16,21 +16,23 @@
  */
 package org.apache.usergrid.java.client.utils;
 
+import org.jetbrains.annotations.Nullable;
+
 import java.util.Map;
 
-public class ObjectUtils {
+public final class ObjectUtils {
 
-	public static boolean isEmpty(Object s) {
-		if (s == null) {
-			return true;
-		}
-		if ((s instanceof String) && (((String) s).trim().length() == 0)) {
-			return true;
-		}
-		if (s instanceof Map) {
-			return ((Map<?, ?>) s).isEmpty();
-		}
-		return false;
-	}
+    public static boolean isEmpty(@Nullable final Object s) {
+        if (s == null) {
+            return true;
+        }
+        if ((s instanceof String) && (((String) s).trim().length() == 0)) {
+            return true;
+        }
+        if (s instanceof Map) {
+            return ((Map<?, ?>) s).isEmpty();
+        }
+        return false;
+    }
 
 }
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/UrlUtils.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/UrlUtils.java
deleted file mode 100644
index bf2a2b3..0000000
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/UrlUtils.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.usergrid.java.client.utils;
-
-import static java.net.URLEncoder.encode;
-import static org.apache.usergrid.java.client.utils.ObjectUtils.isEmpty;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.apache.usergrid.java.client.exception.ClientException;
-
-public class UrlUtils {
-
-
-    public static URL url(String s) {
-        try {
-            return new URL(s);
-        } catch (MalformedURLException e) {
-            throw new ClientException("Incorrect URL format", e);
-        }
-    }
-
-    public static URL url(URL u, String s) {
-        try {
-            return new URL(u, s);
-        } catch (MalformedURLException e) {
-            throw new ClientException("Incorrect URL format", e);
-        }
-    }
-
-    public static String path(Object... segments) {
-        String path = "";
-        boolean first = true;
-        for (Object segment : segments) {
-            if (segment instanceof Object[]) {
-                segment = path((Object[]) segment);
-            }
-            if (!isEmpty(segment)) {
-                if (first) {
-                    path = segment.toString();
-                    first = false;
-                } else {
-                    if (!path.endsWith("/")) {
-                        path += "/";
-                    }
-                    path += segment.toString();
-                }
-            }
-        }
-        return path;
-    }
-
-    @SuppressWarnings("rawtypes")
-    public static String encodeParams(Map<String, Object> params) {
-        if (params == null) {
-            return "";
-        }
-        boolean first = true;
-        StringBuilder results = new StringBuilder();
-        for (Entry<String, Object> entry : params.entrySet()) {
-            if (entry.getValue() instanceof List) {
-                for (Object o : (List) entry.getValue()) {
-                    if (!isEmpty(o)) {
-                        if (!first) {
-                            results.append('&');
-                        }
-                        first = false;
-                        results.append(entry.getKey());
-                        results.append("=");
-                        try {
-                            results.append(encode(o.toString(), "UTF-8"));
-                        } catch (UnsupportedEncodingException e) {
-                            throw new ClientException("Unknown encoding", e);
-                        }
-                    }
-                }
-            } else if (!isEmpty(entry.getValue())) {
-                if (!first) {
-                    results.append('&');
-                }
-                first = false;
-                results.append(entry.getKey());
-                results.append("=");
-                try {
-                    results.append(encode(entry.getValue().toString(), "UTF-8"));
-                } catch (UnsupportedEncodingException e) {
-                    throw new ClientException("Unsupported string encoding", e);
-                }
-            }
-        }
-        return results.toString();
-    }
-
-    public static String addQueryParams(String url, Map<String, Object> params) {
-        if (params == null) {
-            return url;
-        }
-        if (!url.contains("?")) {
-            url += "?";
-        }
-        url += encodeParams(params);
-        return url;
-    }
-
-}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/UsergridEntityDeserializer.java b/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/UsergridEntityDeserializer.java
new file mode 100644
index 0000000..5daeace
--- /dev/null
+++ b/sdks/java/src/main/java/org/apache/usergrid/java/client/utils/UsergridEntityDeserializer.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.java.client.utils;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.usergrid.java.client.model.UsergridEntity;
+import org.jetbrains.annotations.NotNull;
+
+import java.io.IOException;
+
+public final class UsergridEntityDeserializer extends JsonDeserializer<UsergridEntity> {
+
+    @NotNull private static final ObjectMapper objectMapper = new ObjectMapper();
+
+    @NotNull
+    public UsergridEntity deserialize(JsonParser jsonParser, DeserializationContext context) throws IOException {
+        UsergridEntity entity = UsergridEntityDeserializer.objectMapper.readValue(jsonParser,UsergridEntity.class);
+        Class<? extends UsergridEntity> entitySubClass = UsergridEntity.customSubclassForType(entity.getType());
+        if( entitySubClass != null ) {
+            entity = JsonUtils.mapper.convertValue(entity,entitySubClass);
+        }
+        return entity;
+    }
+}
diff --git a/sdks/java/src/test/java/org/apache/usergrid/client/ClientAuthFallBackTestCase.java b/sdks/java/src/test/java/org/apache/usergrid/client/ClientAuthFallBackTestCase.java
new file mode 100644
index 0000000..944aaef
--- /dev/null
+++ b/sdks/java/src/test/java/org/apache/usergrid/client/ClientAuthFallBackTestCase.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.client;
+
+import org.apache.usergrid.java.client.*;
+import org.apache.usergrid.java.client.auth.UsergridAppAuth;
+import org.apache.usergrid.java.client.query.UsergridQuery;
+import org.apache.usergrid.java.client.response.UsergridResponse;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertTrue;
+
+public class ClientAuthFallBackTestCase {
+
+    private static UsergridQuery usersQuery = new UsergridQuery("users").desc("created");
+
+    @Before
+    public void before() {
+        Usergrid.initSharedInstance(SDKTestConfiguration.ORG_NAME, SDKTestConfiguration.APP_NAME, SDKTestConfiguration.USERGRID_URL, SDKTestConfiguration.authFallBack);
+        Usergrid.authenticateApp(new UsergridAppAuth(SDKTestConfiguration.APP_CLIENT_ID, SDKTestConfiguration.APP_CLIENT_SECRET));
+
+        String[] segments = {"roles","guest","permissions"};
+        Map<String, Object> params = new HashMap<>();
+        params.put("permission","get,post,put,delete:/**");
+        UsergridRequest request = new UsergridRequest(UsergridEnums.UsergridHttpMethod.DELETE, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, Usergrid.clientAppUrl(), params, null, Usergrid.authForRequests(), segments);
+        Usergrid.sendRequest(request);
+    }
+
+    @After
+    public void after() {
+        Usergrid.setAuthMode(UsergridEnums.UsergridAuthMode.APP);
+        String[] segments = {"roles","guest","permissions"};
+        Map<String, Object> params = new HashMap<>();
+        params.put("permission","get,post,put,delete:/**");
+        UsergridRequest request = new UsergridRequest(UsergridEnums.UsergridHttpMethod.POST, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE, Usergrid.clientAppUrl(), params, null, Usergrid.authForRequests(), segments);
+        Usergrid.sendRequest(request);
+        Usergrid.reset();
+    }
+
+    @Test
+    public void authFallBackNONETest() {
+        Usergrid.setAuthMode(UsergridEnums.UsergridAuthMode.NONE);
+        UsergridResponse resp = Usergrid.GET(usersQuery);
+        assertTrue("The returned response should have error", resp.getResponseError() != null);
+    }
+
+    @Test
+    public void authFallBackAPPTest() {
+        Usergrid.setAuthMode(UsergridEnums.UsergridAuthMode.APP);
+        UsergridResponse resp = Usergrid.GET(usersQuery);
+        assertTrue("The returned response should not have error", resp.getResponseError() == null);
+    }
+}
diff --git a/sdks/java/src/test/java/org/apache/usergrid/client/ClientAuthTestCase.java b/sdks/java/src/test/java/org/apache/usergrid/client/ClientAuthTestCase.java
new file mode 100644
index 0000000..79e1bbc
--- /dev/null
+++ b/sdks/java/src/test/java/org/apache/usergrid/client/ClientAuthTestCase.java
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.client;
+
+import org.apache.usergrid.java.client.Usergrid;
+import org.apache.usergrid.java.client.UsergridEnums.*;
+import org.apache.usergrid.java.client.auth.UsergridAppAuth;
+import org.apache.usergrid.java.client.auth.UsergridUserAuth;
+import org.apache.usergrid.java.client.model.UsergridUser;
+import org.apache.usergrid.java.client.response.UsergridResponse;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class ClientAuthTestCase {
+
+    @Before
+    public void before() {
+        Usergrid.initSharedInstance(SDKTestConfiguration.ORG_NAME, SDKTestConfiguration.APP_NAME, SDKTestConfiguration.USERGRID_URL);
+    }
+
+    @After
+    public void after() {
+        Usergrid.reset();
+    }
+
+    @Test
+    public void clientAuth_APP() {
+        Usergrid.setAuthMode(UsergridAuthMode.APP);
+        UsergridAppAuth appAuth = new UsergridAppAuth(SDKTestConfiguration.APP_CLIENT_ID, SDKTestConfiguration.APP_CLIENT_SECRET);
+        UsergridResponse response = Usergrid.authenticateApp(appAuth);
+        assertTrue("response status is OK", response.ok());
+        assertNull("no error thrown", response.getResponseError());
+        assertTrue("appAuth.isValidToken should be true", appAuth.isValidToken());
+        assertNotNull("should have a valid token", appAuth.getAccessToken());
+        assertNotNull("should have an expiry", appAuth.getExpiry());
+        assertEquals("client.appAuth.token should be set to the token returned from Usergrid", Usergrid.getAppAuth(), appAuth);
+        assertTrue("should have a token that is not empty", appAuth.getAccessToken().length() > 0);
+        assertTrue("client.appAuth.expiry should be set to a future date", appAuth.getExpiry() > System.currentTimeMillis());
+    }
+
+    @Test
+    public void clientAuth_USER() {
+        Usergrid.setAuthMode(UsergridAuthMode.USER);
+        UsergridUserAuth userAuth = new UsergridUserAuth(SDKTestConfiguration.APP_UserName, SDKTestConfiguration.APP_Password);
+        UsergridResponse response = Usergrid.authenticateUser(userAuth);
+        assertTrue("response status is OK", response.ok());
+        assertNull("no error thrown", response.getResponseError());
+        assertTrue("appAuth.isValidToken should be true", userAuth.isValidToken());
+        assertNotNull("should have a token", userAuth.getAccessToken());
+        assertNotNull("should have an expiry", userAuth.getExpiry());
+
+        UsergridUser currentUser = Usergrid.getCurrentUser();
+        assertNotNull("client.currentUser should not be null", currentUser);
+        assertNotNull("client.currentUser().getUserAuth() should not be null", currentUser.getUserAuth());
+        assertEquals("client.currentUser().userAuth should be the same as userAuth", currentUser.getUserAuth(), userAuth);
+        assertTrue("should have a token that is not empty", userAuth.getAccessToken().length() > 0);
+        assertTrue("client.currentUser().userAuth.getExpiry() should be set to a future date", userAuth.getExpiry() > System.currentTimeMillis());
+        assertEquals("client.authForRequests() should be the same as userAuth", Usergrid.authForRequests(), userAuth);
+    }
+
+    @Test
+    public void clientAuth_NONE() {
+        Usergrid.setAuthMode(UsergridAuthMode.NONE);
+        UsergridUserAuth userAuth = new UsergridUserAuth(SDKTestConfiguration.APP_UserName, SDKTestConfiguration.APP_Password);
+        Usergrid.authenticateUser(userAuth);
+        assertNull("no auth should be returned from client.authForRequests", Usergrid.authForRequests());
+    }
+}
diff --git a/sdks/java/src/test/java/org/apache/usergrid/client/ClientConnectionsTestCase.java b/sdks/java/src/test/java/org/apache/usergrid/client/ClientConnectionsTestCase.java
new file mode 100644
index 0000000..72b88dd
--- /dev/null
+++ b/sdks/java/src/test/java/org/apache/usergrid/client/ClientConnectionsTestCase.java
@@ -0,0 +1,171 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.client;
+
+import org.apache.usergrid.java.client.UsergridEnums.UsergridDirection;
+import org.apache.usergrid.java.client.Usergrid;
+import org.apache.usergrid.java.client.auth.UsergridAppAuth;
+import org.apache.usergrid.java.client.model.UsergridEntity;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class ClientConnectionsTestCase {
+
+    @Before
+    public void before() {
+        Usergrid.initSharedInstance(SDKTestConfiguration.ORG_NAME, SDKTestConfiguration.APP_NAME, SDKTestConfiguration.USERGRID_URL, SDKTestConfiguration.authFallBack);
+        UsergridAppAuth appAuth = new UsergridAppAuth(SDKTestConfiguration.APP_CLIENT_ID, SDKTestConfiguration.APP_CLIENT_SECRET);
+        Usergrid.authenticateApp(appAuth);
+    }
+
+    @After
+    public void after() {
+        Usergrid.reset();
+    }
+
+    @Test
+    public void clientConnect() {
+        String collectionName = "testClientConnection" + System.currentTimeMillis();
+
+        UsergridEntity entityOne = new UsergridEntity(collectionName,"john");
+        entityOne.putProperty("place","San Jose");
+        entityOne.save();
+        assertNotNull(entityOne.getUuid());
+
+        UsergridEntity entityTwo = new UsergridEntity(collectionName,"amici");
+        entityOne.putProperty("place","San Jose");
+        entityTwo.save();
+        assertNotNull(entityTwo.getUuid());
+
+        //should connect entities by passing UsergridEntity objects as parameters
+        Usergrid.connect(entityOne, "likes", entityTwo);
+
+        UsergridEntity responseEntity = Usergrid.getConnections(UsergridDirection.OUT, entityOne, "likes").first();
+        assertNotNull(responseEntity);
+        assertEquals("both entities name should be same", entityTwo.getName(),responseEntity.getName());
+        assertEquals("both entities uuid should be same", entityTwo.getUuid(),responseEntity.getUuid());
+
+        //should connect entities by passing a source UsergridEntity object and a target uuid.
+        Usergrid.connect(entityOne.getType(), entityOne.getUuid(), "visited", entityTwo.getUuid());
+
+        responseEntity = Usergrid.getConnections(UsergridDirection.OUT, entityOne, "visited").first();
+        assertNotNull(responseEntity);
+        assertEquals("both entities name should be same", entityTwo.getName(),responseEntity.getName());
+        assertEquals("both entities uuid should be same", entityTwo.getUuid(),responseEntity.getUuid());
+
+        //should connect entities by passing source type, source uuid, and target uuid as parameters
+        Usergrid.connect(entityTwo.getType(), entityTwo.getUuid(), "visitor", entityOne.getUuid());
+
+        responseEntity = Usergrid.getConnections(UsergridDirection.OUT, entityTwo, "visitor").first();
+        assertNotNull(responseEntity);
+        assertEquals("both entities name should be same", entityOne.getName(),responseEntity.getName());
+        assertEquals("both entities uuid should be same", entityOne.getUuid(),responseEntity.getUuid());
+
+        //should connect entities by passing source type, source name, target type, and target name as parameters
+        assertNotNull(entityOne.getName());
+        assertNotNull(entityTwo.getName());
+        Usergrid.connect(entityTwo.getType(), entityTwo.getName(), "welcomed", entityOne.getType(), entityOne.getName());
+
+        responseEntity = Usergrid.getConnections(UsergridDirection.OUT, entityTwo, "welcomed").first();
+        assertNotNull(responseEntity);
+        assertEquals("both entities name should be same", entityOne.getName(),responseEntity.getName());
+        assertEquals("both entities uuid should be same", entityOne.getUuid(),responseEntity.getUuid());
+
+        //should connect entities by passing source type, source name, target type, and target name as parameters
+        Usergrid.connect(entityTwo.getType(), entityTwo.getName(), "invalidLink", "invalidName");
+        responseEntity = Usergrid.getConnections(UsergridDirection.OUT, entityTwo, "invalidLink").first();
+        assertNull("response entity should be null.", responseEntity);
+    }
+
+    @Test
+    public void clientGetConnect() {
+        String collectionName = "testClientGetConnection" + System.currentTimeMillis();
+
+        //should set properties for a given object, overwriting properties that exist and creating those that don\'t
+        UsergridEntity entityOne = new UsergridEntity(collectionName, "john");
+        entityOne.putProperty("place","San Jose");
+        entityOne.save();
+
+        //should set properties for a given object, overwriting properties that exist and creating those that don\'t
+        UsergridEntity entityTwo = new UsergridEntity(collectionName, "amici");
+        entityTwo.putProperty("place","San Jose");
+        entityTwo.save();
+
+        //should connect entities by passing UsergridEntity objects as parameters
+        Usergrid.connect(entityOne, "likes", entityTwo);
+        Usergrid.connect(entityOne, "visited", entityTwo);
+
+        UsergridEntity responseEntity = Usergrid.getConnections(UsergridDirection.OUT, entityOne, "likes").first();
+        assertNotNull(responseEntity);
+        assertEquals("both entities name should be same", entityTwo.getName(),responseEntity.getName());
+        assertEquals("both entities uuid should be same", entityTwo.getUuid(),responseEntity.getUuid());
+
+        responseEntity = Usergrid.getConnections(UsergridDirection.IN, entityTwo, "visited").first();
+        assertNotNull(responseEntity);
+        assertEquals("both entities name should be same", entityOne.getName(),responseEntity.getName());
+        assertEquals("both entities uuid should be same", entityOne.getUuid(),responseEntity.getUuid());
+
+    }
+
+    @Test
+    public void clientDisConnect() {
+        String collectionName = "testClientGetConnection" + System.currentTimeMillis();
+
+        //should set properties for a given object, overwriting properties that exist and creating those that don\'t
+        UsergridEntity entityOne = new UsergridEntity(collectionName,"john");
+        entityOne.putProperty("place","San Jose");
+        entityOne.save();
+        assertNotNull(entityOne.getName());
+        assertNotNull(entityOne.getUuid());
+
+        //should set properties for a given object, overwriting properties that exist and creating those that don\'t
+        UsergridEntity entityTwo = new UsergridEntity(collectionName, "amici");
+        entityTwo.putProperty("place","San Jose");
+        entityTwo.save();
+        assertNotNull(entityTwo.getName());
+        assertNotNull(entityTwo.getUuid());
+
+        //should connect entities by passing UsergridEntity objects as parameters
+        Usergrid.connect(entityOne, "likes", entityTwo);
+        Usergrid.connect(entityOne, "visited", entityTwo);
+        Usergrid.connect(entityOne, "twice", entityTwo);
+        Usergrid.connect(entityOne, "thrice", entityTwo);
+
+        //should disConnect entities by passing UsergridEntity objects as parameters
+        Usergrid.disconnect(entityOne, "likes", entityTwo);
+        UsergridEntity responseEntity = Usergrid.getConnections(UsergridDirection.IN, entityTwo, "likes").first();
+        assertNull("responseEntity should be null", responseEntity);
+
+        //should disConnect entities by passing source type, source uuid, and target uuid as parameters
+        Usergrid.disconnect(entityOne.getType(), entityOne.getUuid(), "visited", entityTwo.getUuid());
+        responseEntity = Usergrid.getConnections(UsergridDirection.OUT, entityOne, "visited").first();
+        assertNull("responseEntity should be null", responseEntity);
+
+        //should disConnect entities by passing source type, source name, target type, and target name as parameters
+        Usergrid.disconnect(entityOne.getType(), entityOne.getName(), "twice", entityTwo.getType(), entityTwo.getName());
+        responseEntity = Usergrid.getConnections(UsergridDirection.OUT, entityOne, "twice").first();
+        assertNull("responseEntity should be null", responseEntity);
+
+        //should fail to disConnect entities when specifying target name without type
+        Usergrid.disconnect(entityTwo.getType(), entityTwo.getName(), "thrice", entityOne.getName());
+        responseEntity = Usergrid.getConnections(UsergridDirection.OUT, entityTwo, "thrice").first();
+        assertNull("both entities name should be same",responseEntity);
+    }
+}
diff --git a/sdks/java/src/test/java/org/apache/usergrid/client/ClientRestTestCase.java b/sdks/java/src/test/java/org/apache/usergrid/client/ClientRestTestCase.java
new file mode 100644
index 0000000..b01a167
--- /dev/null
+++ b/sdks/java/src/test/java/org/apache/usergrid/client/ClientRestTestCase.java
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.client;
+
+import org.apache.usergrid.java.client.Usergrid;
+import org.apache.usergrid.java.client.auth.UsergridAppAuth;
+import org.apache.usergrid.java.client.model.UsergridEntity;
+import org.apache.usergrid.java.client.response.UsergridResponse;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.ArrayList;
+
+import static org.junit.Assert.*;
+
+public class ClientRestTestCase {
+
+    final String collectionName = "testClientConnection" + System.currentTimeMillis();
+
+    @Before
+    public void before()  {
+        Usergrid.initSharedInstance(SDKTestConfiguration.ORG_NAME, SDKTestConfiguration.APP_NAME, SDKTestConfiguration.USERGRID_URL, SDKTestConfiguration.authFallBack);
+        UsergridAppAuth appAuth = new UsergridAppAuth(SDKTestConfiguration.APP_CLIENT_ID, SDKTestConfiguration.APP_CLIENT_SECRET);
+        Usergrid.authenticateApp(appAuth);
+        createCollectionAndEntity();
+    }
+
+    @After
+    public void after() {
+        Usergrid.reset();
+    }
+
+    public void createCollectionAndEntity()  {
+        UsergridEntity entityOne = new UsergridEntity(collectionName,"john");
+        entityOne.putProperty("place", "San Jose");
+        entityOne.save();
+
+        UsergridEntity entityTwo = new UsergridEntity(collectionName,"amici");
+        entityTwo.putProperty("place", "San Jose");
+        entityTwo.save();
+
+        assertNotNull(entityOne.getUuid());
+        assertNotNull(entityTwo.getUuid());
+
+        Usergrid.connect(entityOne, "likes", entityTwo);
+        Usergrid.connect(entityOne.getType(), entityOne.getUuid(), "visited", entityTwo.getUuid());
+    }
+
+    @Test
+    public void clientGET() {
+        // Retrieve the response.
+        UsergridResponse response = Usergrid.GET(collectionName, "john");
+        assertTrue("response should be ok", response.ok());
+        assertNull("no error thrown", response.getResponseError());
+
+        assertNotNull(response.getEntities());
+        assertTrue("response entities is an Array", response.getEntities().getClass() == ArrayList.class);
+
+        // response.first should exist and have a valid uuid
+        UsergridEntity firstEntity = response.first();
+        assertNotNull(firstEntity);
+        assertNotNull("first entity is not null and has uuid", firstEntity.getUuid());
+
+        // response.entity should exist, equals the first entity, and have a valid uuid
+        UsergridEntity responseEntity = response.entity();
+        assertNotNull(responseEntity);
+        assertEquals(firstEntity, responseEntity);
+        assertNotNull("entity is not null and has uuid", responseEntity.getUuid());
+
+        // response.last should exist and have a valid uuid
+        UsergridEntity lastEntity = response.last();
+        assertNotNull(lastEntity);
+        assertNotNull("last entity is not null and has uuid", lastEntity.getUuid());
+    }
+}
diff --git a/sdks/java/src/test/java/org/apache/usergrid/client/EntityTestCase.java b/sdks/java/src/test/java/org/apache/usergrid/client/EntityTestCase.java
new file mode 100644
index 0000000..42c3054
--- /dev/null
+++ b/sdks/java/src/test/java/org/apache/usergrid/client/EntityTestCase.java
@@ -0,0 +1,676 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.client;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import com.fasterxml.jackson.databind.node.TextNode;
+import org.apache.usergrid.java.client.UsergridEnums.UsergridDirection;
+import org.apache.usergrid.java.client.Usergrid;
+import org.apache.usergrid.java.client.auth.UsergridAppAuth;
+import org.apache.usergrid.java.client.model.UsergridEntity;
+import org.apache.usergrid.java.client.query.UsergridQuery;
+import org.apache.usergrid.java.client.response.UsergridResponse;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.*;
+
+public class EntityTestCase {
+
+    @Before
+    public void before() {
+        Usergrid.initSharedInstance(SDKTestConfiguration.ORG_NAME, SDKTestConfiguration.APP_NAME, SDKTestConfiguration.USERGRID_URL, SDKTestConfiguration.authFallBack);
+        Usergrid.authenticateApp(new UsergridAppAuth(SDKTestConfiguration.APP_CLIENT_ID, SDKTestConfiguration.APP_CLIENT_SECRET));
+    }
+
+    @After
+    public void after() {
+        Usergrid.reset();
+    }
+
+    @Test
+    public void testEntityCreationSuccess() {
+        String collectionName = "ect" + System.currentTimeMillis();
+        String entityName = "testEntity1";
+
+        HashMap<String,JsonNode> map = new HashMap<>();
+        map.put("name",new TextNode(entityName));
+        map.put("color",new TextNode("red"));
+        map.put("shape",new TextNode("square"));
+
+        UsergridEntity entity = new UsergridEntity(collectionName,null,map);
+        UsergridResponse response = entity.save();
+        assertNull(response.getResponseError());
+
+        UsergridEntity eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The returned entity is null!", eLookUp);
+        assertEquals("entities has the correct type", eLookUp.getType(),collectionName);
+        assertEquals("entities has the correct name", eLookUp.getName(),entityName);
+        assertEquals("entities has the correct color", eLookUp.getStringProperty("color"),"red");
+        assertEquals("entities has the correct shape", eLookUp.getStringProperty("shape"),"square");
+    }
+
+    @Test
+    public void testDuplicateEntityNameFailure() {
+        String collectionName = "testDuplicateEntityNameFailure" + System.currentTimeMillis();
+
+        UsergridEntity entity = new UsergridEntity(collectionName,"test3");
+        UsergridResponse response = Usergrid.POST(entity);
+        assertNull("First entity create should have succeeded.", response.getResponseError());
+
+        response = Usergrid.POST(entity);
+        assertNotNull("Second entity create should not succeed!", response.getResponseError());
+    }
+
+    @Test
+    public void testEntityLookupByName() {
+        String collectionName = "testEntityLookupByName" + System.currentTimeMillis();
+        String entityName = "testEntity4";
+
+        UsergridEntity entity = new UsergridEntity(collectionName,entityName);
+        entity.save();
+
+        UsergridEntity eLookup = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The returned entity is null!", eLookup);
+        assertEquals("The returned entity does not have the same UUID", entity.getUuid(),eLookup.getUuid());
+    }
+
+    @Test
+    public void testEntityLookupByUUID() {
+        String collectionName = "testEntityLookupByUUID" + System.currentTimeMillis();
+        String entityName = "testEntity5";
+
+        UsergridEntity entity = new UsergridEntity(collectionName,entityName);
+        entity.save();
+        assertNotNull(entity.getUuid());
+
+        UsergridEntity eLookup = Usergrid.GET(collectionName, entity.getUuid()).first();
+        assertNotNull("The returned entity is null!", eLookup);
+        assertEquals("The returned entity does not have the same UUID", entity.getUuid(),eLookup.getUuid());
+    }
+
+    @Test
+    public void testEntityLookupByQuery() {
+        String collectionName = "testEntityLookupByQuery" + System.currentTimeMillis();
+        String entityName = "testEntity6";
+
+        UsergridEntity entity = new UsergridEntity(collectionName,entityName);
+        entity.putProperty("color","red");
+        entity.putProperty("shape","square");
+        entity.save();
+
+        SDKTestUtils.indexSleep();
+
+        UsergridQuery query = new UsergridQuery(collectionName).eq("color", "red");
+        UsergridEntity eLookup = Usergrid.GET(query).first();
+
+        assertNotNull("The entity was not returned on lookup", eLookup);
+        assertEquals("The returned entity does not have the same UUID", entity.getUuid(),eLookup.getUuid());
+
+        query = new UsergridQuery(collectionName).eq("name", entityName);
+        eLookup = Usergrid.GET(query).first();
+
+        assertNotNull("The entity was not returned on lookup", eLookup);
+        assertEquals("The returned entity does not have the same UUID", entity.getUuid(),eLookup.getUuid());
+
+        query = new UsergridQuery(collectionName).eq("shape", "square");
+        eLookup = Usergrid.GET(query).first();
+
+        assertNotNull("The entity was not returned on lookup", eLookup);
+        assertEquals("The returned entity does not have the same UUID", entity.getUuid(),eLookup.getUuid());
+
+        query = new UsergridQuery(collectionName).eq("shape", "circle");
+        eLookup = Usergrid.GET(query).first();
+
+        assertNull("The entity was not expected to be returned on lookup", eLookup);
+    }
+
+    @Test
+    public void testEntityUpdate() {
+        String collectionName = "testEntityLookupByUUID" + System.currentTimeMillis();
+        String entityName = "testEntity7";
+
+        UsergridEntity entity = new UsergridEntity(collectionName,entityName);
+        entity.putProperty("color","red");
+        entity.putProperty("shape","square");
+        entity.putProperty("orientation","up");
+        entity.save();
+
+        SDKTestUtils.sleep(1000);
+
+        UsergridQuery query = new UsergridQuery(collectionName).eq("orientation", "up");
+        UsergridEntity eLookup = Usergrid.GET(query).first();
+        assertNotNull(eLookup);
+
+        assertEquals("The returned entity does not have the same UUID when querying by field", entity.getUuid(),eLookup.getUuid());
+
+        entity.putProperty("orientation", "down");
+        entity.save();
+        assertNotNull(entity.getUuid());
+
+        eLookup = Usergrid.GET(collectionName, entity.getUuid()).first();
+        assertNotNull(eLookup);
+
+        assertEquals("The returned entity does not have the same UUID", entity.getUuid(),eLookup.getUuid());
+        assertEquals("The field was not updated!", eLookup.getStringProperty("orientation"),"down");
+
+        SDKTestUtils.sleep(1000);
+
+        query = new UsergridQuery(collectionName).eq("orientation", "up");
+        eLookup = Usergrid.GET(query).first();
+
+        assertNull("The entity was returned for old value!", eLookup);
+    }
+
+    @Test
+    public void testEntityDelete() {
+        String collectionName = "testEntityDelete" + System.currentTimeMillis();
+        String entityName = "testEntity8";
+
+        UsergridEntity entity = new UsergridEntity(collectionName,entityName);
+        entity.putProperty("color","red");
+        entity.putProperty("shape","square");
+        entity.putProperty("orientation","up");
+        entity.save();
+
+        SDKTestUtils.indexSleep();
+
+        assertNotNull(entity.getUuid());
+        assertNotNull(entity.getName());
+
+        UsergridQuery query = new UsergridQuery(collectionName).eq("orientation", "up");
+        UsergridEntity eLookup = Usergrid.GET(query).first();
+
+        assertNotNull("The returned entity was null!", eLookup);
+        assertEquals("The returned entity does not have the same UUID when querying by field", entity.getUuid(),eLookup.getUuid());
+
+        Usergrid.DELETE(entity);
+
+        eLookup = Usergrid.GET(collectionName, entity.getUuid()).first();
+        assertNull("The entity was not expected to be returned by UUID", eLookup);
+
+        eLookup = Usergrid.GET(collectionName, entity.getName()).first();
+        assertNull("The entity was not expected to be returned by getName", eLookup);
+
+        query = new UsergridQuery(collectionName).eq("color", "red");
+        eLookup = Usergrid.GET(query).first();
+        assertNull("The entity was not expected to be returned", eLookup);
+
+        query = new UsergridQuery(collectionName).eq("shape", "square");
+        eLookup = Usergrid.GET(query).first();
+        assertNull("The entity was not expected to be returned", eLookup);
+
+        query = new UsergridQuery(collectionName).eq("orientation", "up");
+        eLookup = Usergrid.GET(query).first();
+        assertNull("The entity was not expected to be returned", eLookup);
+    }
+
+    @Test
+    public void testEntityPutPropertyAndSave() {
+        String collectionName = "testEntityPutProperty" + System.currentTimeMillis();
+        String entityName = "testEntity9";
+
+        UsergridEntity entity = new UsergridEntity(collectionName,entityName);
+        entity.putProperty("color","red");
+        entity.putProperty("shape","square");
+        entity.putProperty("orientation","up");
+        entity.putProperty("sides", 4);
+        entity.save();
+
+        UsergridEntity eLookUp = Usergrid.GET(collectionName, entityName).first();
+
+        //Check if the property was added correctly
+        assertNotNull("The entity returned is not null.", eLookUp);
+        assertEquals("The entity putProperty() was successful ", eLookUp.getStringProperty("orientation"),"up");
+        assertEquals("The entity putProperty() was successful ", eLookUp.getIntegerProperty("sides"), new Integer(4));
+
+        //Overwrite the property if it exists.
+        entity.putProperty("orientation", "horizontal");
+        entity.save();
+
+        eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The returned entity was null!", eLookUp);
+        assertEquals("The entity putProperty() was successful ", eLookUp.getStringProperty("orientation"),"horizontal");
+
+        //should not be able to set the name key (name is immutable)
+        entity.putProperty("name","entityNew");
+        entity.save();
+
+        eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The returned entity was null!", eLookUp);
+        assertEquals("The entity putProperty() was successful ", eLookUp.getName(),"testEntity9");
+    }
+
+    @Test
+    public void testEntityPutProperties() {
+        String collectionName = "testEntityProperties" + System.currentTimeMillis();
+        String entityName = "testEntity9";
+
+        UsergridEntity entity = new UsergridEntity(collectionName,entityName);
+        entity.putProperty("color","black");
+        entity.putProperty("orientation","up");
+        entity.save();
+
+        UsergridEntity eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+        assertEquals("The entity putProperty() was successful ", eLookUp.getStringProperty("orientation"),"up");
+        assertEquals("overwrite existing property", eLookUp.getStringProperty("color"),"black");
+    }
+
+    @Test
+    public void testEntityRemovePropertiesAndSave() {
+        String collectionName = "testEntityProperties" + System.currentTimeMillis();
+
+        Map<String, String> fields = new HashMap<>(3);
+        fields.put("color", "red");
+
+        String entityName = "testEntity9";
+
+        //should set properties for a given object, overwriting properties that exist and creating those that don\'t
+        UsergridEntity entity = SDKTestUtils.createEntity(collectionName, entityName, fields);
+        Map<String, Object> properties = new HashMap<>();
+        properties.put("shape", "square");
+        properties.put("orientation", "up");
+        properties.put("color", "black");
+        entity.putProperties(properties);
+        entity.save();
+
+        UsergridEntity eLookUp = Usergrid.GET(collectionName, "testEntity9").first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+
+        String[] removeProperties = {"shape", "color"};
+        entity.removeProperties(Arrays.asList(removeProperties));
+        entity.save();
+
+        eLookUp = Usergrid.GET(collectionName, "testEntity9").first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+        assertTrue("overwrite existing property", eLookUp.getStringProperty("color") == null);
+        assertTrue("overwrite existing property", eLookUp.getStringProperty("shape") == null);
+
+    }
+
+    @Test
+    public void testEntityRemoveProperty() {
+        String collectionName = "testEntityProperties" + System.currentTimeMillis();
+
+        Map<String, String> fields = new HashMap<>(3);
+        fields.put("color", "red");
+
+        String entityName = "testEntity11";
+
+        //should set properties for a given object, overwriting properties that exist and creating those that don\'t
+        UsergridEntity entity = SDKTestUtils.createEntity(collectionName, entityName, fields);
+        Map<String, Object> properties = new HashMap<>();
+        properties.put("shape", "square");
+        properties.put("orientation", "up");
+        properties.put("color", "black");
+        entity.putProperties(properties);
+        entity.save();
+
+        UsergridEntity eLookUp = Usergrid.GET(collectionName, "testEntity11").first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+
+        entity.removeProperty("color");
+        entity.removeProperty("shape");
+        entity.save();
+
+        eLookUp = Usergrid.GET(collectionName, "testEntity11").first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+        assertTrue("overwrite existing property", eLookUp.getStringProperty("color") == null);
+        assertTrue("overwrite existing property", eLookUp.getStringProperty("shape") == null);
+
+    }
+
+    @Test
+    public void testEntityAppendInArray() {
+        String collectionName = "testEntityProperties" + System.currentTimeMillis();
+        String entityName = "testEntity1";
+
+        UsergridEntity entity = new UsergridEntity(collectionName,entityName);
+        entity.save();
+
+        ArrayList<Object> lenArr = new ArrayList<>();
+        lenArr.add(1);
+        lenArr.add(2);
+        lenArr.add(3);
+        lenArr.add(4);
+        entity.insert("lenArray", lenArr);
+        entity.save();
+
+        lenArr = new ArrayList<>();
+        lenArr.add(6);
+        lenArr.add(7);
+        entity.append("lenArray", lenArr);
+        entity.save();
+
+        UsergridEntity eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+
+        ArrayNode toCompare = new ArrayNode(JsonNodeFactory.instance);
+        toCompare.add(1).add(2).add(3).add(4).add(6).add(7);
+        assertEquals("The two arrays should be equal.", eLookUp.getJsonNodeProperty("lenArray"),toCompare);
+    }
+
+    @Test
+    public void testEntityPrependInArray() {
+        String collectionName = "testEntityProperties" + System.currentTimeMillis();
+        String entityName = "testEntity1";
+
+        UsergridEntity entity = new UsergridEntity(collectionName,entityName);
+        entity.save();
+
+        ArrayList<Object> lenArr = new ArrayList<>();
+        lenArr.add(1);
+        lenArr.add(2);
+        lenArr.add(3);
+        lenArr.add(4);
+        entity.putProperty("lenArray", lenArr);
+        entity.save();
+
+        lenArr = new ArrayList<>();
+        lenArr.add(6);
+        lenArr.add(7);
+
+        entity.insert("lenArray", lenArr, 0);
+        entity.save();
+        UsergridEntity eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+
+        ArrayNode toCompare = new ArrayNode(JsonNodeFactory.instance);
+        toCompare.add(6).add(7).add(1).add(2).add(3).add(4);
+        assertEquals("The two arrays should be equal.", eLookUp.getJsonNodeProperty("lenArray"),toCompare);
+    }
+
+    @Test
+    public void testEntityPopInArray() {
+        String collectionName = "testEntityProperties" + System.currentTimeMillis();
+        String entityName = "testEntity1";
+
+        UsergridEntity entity = new UsergridEntity(collectionName,entityName);
+        entity.save();
+
+        ArrayList<Object> lenArr = new ArrayList<>();
+        lenArr.add(1);
+        lenArr.add(2);
+        lenArr.add(3);
+        entity.putProperty("lenArray", lenArr);
+        entity.save();
+
+        // should remove the last value of an existing array
+        entity.pop("lenArray");
+        entity.save();
+
+        UsergridEntity eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+
+        ArrayNode toCompare = new ArrayNode(JsonNodeFactory.instance);
+        toCompare.add(1).add(2);
+        assertEquals("The two arrays should be equal.", eLookUp.getJsonNodeProperty("lenArray"),toCompare);
+
+        // value should remain unchanged if it is not an array
+        entity.putProperty("foo", "test1");
+        entity.save();
+
+        entity.pop("foo");
+        entity.save();
+
+        eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+        assertEquals("foo should equal test1.", eLookUp.getStringProperty("foo"), "test1");
+
+        //should gracefully handle empty arrays
+        ArrayList<Object> lenArr2 = new ArrayList<>();
+        entity.putProperty("foo", lenArr2);
+        entity.save();
+        entity.pop("foo");
+
+        eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+
+        toCompare = new ArrayNode(JsonNodeFactory.instance);
+        assertEquals("The two arrays should be equal.", eLookUp.getJsonNodeProperty("foo"),toCompare);
+    }
+
+    @Test
+    public void testEntityShiftInArray() {
+        String collectionName = "testEntityProperties" + System.currentTimeMillis();
+        String entityName = "testEntity1";
+
+        //should remove the last value of an existing array
+        UsergridEntity entity = new UsergridEntity(collectionName,entityName);
+        entity.save();
+
+        ArrayList<Object> lenArr = new ArrayList<>();
+        lenArr.add(1);
+        lenArr.add(2);
+        lenArr.add(3);
+        entity.putProperty("lenArray", lenArr);
+        entity.save();
+
+        entity.shift("lenArray");
+        entity.save();
+
+        UsergridEntity eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+
+        ArrayNode toCompare = new ArrayNode(JsonNodeFactory.instance);
+        toCompare.add(2).add(3);
+        assertEquals("The two arrays should be equal.", eLookUp.getJsonNodeProperty("lenArray"),toCompare);
+
+        //value should remain unchanged if it is not an array
+        entity.putProperty("foo", "test1");
+        entity.shift("foo");
+        entity.save();
+
+        eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+        assertEquals("The entity returned is not null.", eLookUp.getStringProperty("foo"), "test1");
+
+        //should gracefully handle empty arrays
+        ArrayList<Object> lenArr2 = new ArrayList<>();
+        entity.putProperty("foo", lenArr2);
+        entity.shift("foo");
+        entity.save();
+
+        eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+        assertEquals("The two arrays should be equal.", eLookUp.getJsonNodeProperty("foo"), new ArrayNode(JsonNodeFactory.instance));
+    }
+
+    @Test
+    public void testEntityInsertInArray() {
+        String collectionName = "testEntityProperties" + System.currentTimeMillis();
+        String entityName = "testEntity1";
+
+        //should set properties for a given object, overwriting properties that exist and creating those that don\'t
+        UsergridEntity entity = new UsergridEntity(collectionName,entityName);
+        entity.save();
+
+        ArrayList<Object> lenArr = new ArrayList<>();
+        lenArr.add(1);
+        lenArr.add(2);
+        lenArr.add(3);
+        lenArr.add(4);
+        entity.putProperty("lenArray", lenArr);
+        entity.save();
+
+        ArrayList<Object> lenArr2 = new ArrayList<>();
+        lenArr2.add(6);
+        lenArr2.add(7);
+
+        entity.insert("lenArray", lenArr2, 6);
+        entity.save();
+
+        UsergridEntity eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+
+        ArrayNode toCompare = new ArrayNode(JsonNodeFactory.instance);
+        toCompare.add(1).add(2).add(3).add(4).add(6).add(7);
+        assertEquals("The two arrays should be equal.", eLookUp.getJsonNodeProperty("lenArray"),toCompare);
+
+        //should merge an array of values into an existing array at the specified index
+        lenArr = new ArrayList<>();
+        lenArr.add(1);
+        lenArr.add(2);
+        lenArr.add(3);
+        lenArr.add(4);
+
+        entity.putProperty("lenArray", lenArr);
+        entity.save();
+
+        lenArr2 = new ArrayList<>();
+        lenArr2.add(5);
+        lenArr2.add(6);
+        lenArr2.add(7);
+        lenArr2.add(8);
+
+        entity.insert("lenArray", lenArr2, 2);
+        entity.save();
+
+        eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+
+        toCompare = new ArrayNode(JsonNodeFactory.instance);
+        toCompare.add(1).add(2).add(5).add(6).add(7).add(8).add(3).add(4);
+        assertEquals("The two arrays should be equal.", eLookUp.getJsonNodeProperty("lenArray"),toCompare);
+
+        //should convert an existing value into an array when inserting a second value
+        entity.putProperty("foo", "test");
+        entity.insert("foo", "test1", 1);
+        entity.save();
+
+        eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+
+        toCompare = new ArrayNode(JsonNodeFactory.instance);
+        toCompare.add("test").add("test1");
+        assertEquals("The two arrays should be equal.", eLookUp.getJsonNodeProperty("foo"),toCompare);
+
+        //should create a new array when a property does not exist
+        entity.insert("foo1", "test2", 1);
+        entity.save();
+
+        eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+
+        toCompare = new ArrayNode(JsonNodeFactory.instance);
+        toCompare.add("test2");
+        assertEquals("The two arrays should be equal.", eLookUp.getJsonNodeProperty("foo1"),toCompare);
+
+        //should gracefully handle index out of positive range
+        entity.putProperty("ArrayIndex", "test1");
+        entity.insert("ArrayIndex", "test2", 1000);
+        entity.save();
+
+        eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+
+        toCompare = new ArrayNode(JsonNodeFactory.instance);
+        toCompare.add("test1").add("test2");
+        assertEquals("The two arrays should be equal.", eLookUp.getJsonNodeProperty("ArrayIndex"),toCompare);
+
+        //should gracefully handle index out of negative range
+        entity.insert("ArrayIndex", "test3", -1000);
+        entity.save();
+
+        eLookUp = Usergrid.GET(collectionName, entityName).first();
+        assertNotNull("The entity returned is not null.", eLookUp);
+
+        toCompare = new ArrayNode(JsonNodeFactory.instance);
+        toCompare.add("test3").add("test1").add("test2");
+        assertEquals("The two arrays should be equal.", eLookUp.getJsonNodeProperty("ArrayIndex"),toCompare);
+    }
+
+    @Test
+    public void testEntityConnectDisconnectGetConnections() {
+        String collectionName = "testEntityProperties" + System.currentTimeMillis();
+        String entityOneName = "testEntity1";
+        String entityTwoName = "testEntity2";
+
+        UsergridEntity entityOne = new UsergridEntity(collectionName,entityOneName);
+        entityOne.putProperty("color","red");
+        entityOne.putProperty("shape","square");
+        entityOne.save();
+
+        UsergridEntity entityTwo = new UsergridEntity(collectionName,entityTwoName);
+        entityTwo.putProperty("color","green");
+        entityTwo.putProperty("shape","circle");
+        entityTwo.save();
+
+        assertNotNull(entityOne.getUuid());
+        assertNotNull(entityTwo.getUuid());
+        assertNotNull(entityOne.getName());
+        assertNotNull(entityTwo.getName());
+        assertNotNull(entityOne.uuidOrName());
+        assertNotNull(entityTwo.uuidOrName());
+
+        //should connect entities by passing a target UsergridEntity object as a parameter
+        entityOne.connect("likes", entityTwo);
+        entityOne.save();
+
+        UsergridEntity eLookUpConnectedEntity = entityOne.getConnections(UsergridDirection.OUT, "likes").first();
+        assertNotNull("The connected entity returned is not null.", eLookUpConnectedEntity);
+
+        assertEquals("The entity name should be equals.", eLookUpConnectedEntity.getName(),entityTwoName);
+
+        eLookUpConnectedEntity = entityTwo.getConnections(UsergridDirection.IN, "likes").first();
+        assertNotNull("The connected entity returned is not null.", eLookUpConnectedEntity);
+        assertEquals("The entity name should be equals.", eLookUpConnectedEntity.getName(),entityOneName);
+
+        entityOne.disconnect("likes", entityTwo);
+        entityOne.save();
+
+        eLookUpConnectedEntity = entityTwo.getConnections(UsergridDirection.IN, "likes").first();
+        assertNull("The entity returned is not null.", eLookUpConnectedEntity);
+
+        //should connect entities by passing target uuid as a parameter
+        Usergrid.connect(entityOne.getType(),entityOne.getUuid(),"visited",entityTwo.getUuid());
+        entityOne.save();
+
+        eLookUpConnectedEntity = entityOne.getConnections(UsergridDirection.OUT, "visited").first();
+        assertNotNull("The connected entity returned is not null.", eLookUpConnectedEntity);
+        assertEquals("The entity name should be equals.", eLookUpConnectedEntity.getName(),entityTwoName);
+
+        Usergrid.disconnect(entityOne.getType(),entityOne.getUuid(),"visited",entityTwo.getUuid());
+        entityOne.save();
+
+        eLookUpConnectedEntity = entityOne.getConnections(UsergridDirection.OUT, "visited").first();
+        assertNull("The entity returned is not null.", eLookUpConnectedEntity);
+
+        //should connect entities by passing target type and name as parameters
+        Usergrid.connect(entityOne.getType(),entityOne.getUuid(),"revisit",entityTwo.getType(),entityTwo.getName());
+        entityOne.save();
+
+        eLookUpConnectedEntity = entityOne.getConnections(UsergridDirection.OUT, "revisit").first();
+        assertNotNull("The connected entity returned is not null.", eLookUpConnectedEntity);
+        assertEquals("The entity name should be equals.", eLookUpConnectedEntity.getName(),entityTwoName);
+
+        Usergrid.disconnect(entityOne.getType(),entityOne.getUuid(),"revisit",entityTwo.getType(),entityTwo.getName());
+        entityOne.save();
+
+        eLookUpConnectedEntity = entityOne.getConnections(UsergridDirection.OUT, "revisit").first();
+        assertNull("The entity returned is not null.", eLookUpConnectedEntity);
+    }
+}
diff --git a/sdks/java/src/test/java/org/apache/usergrid/client/QueryTestCase.java b/sdks/java/src/test/java/org/apache/usergrid/client/QueryTestCase.java
new file mode 100644
index 0000000..f013134
--- /dev/null
+++ b/sdks/java/src/test/java/org/apache/usergrid/client/QueryTestCase.java
@@ -0,0 +1,194 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.client;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.DoubleNode;
+import org.apache.usergrid.java.client.Usergrid;
+import org.apache.usergrid.java.client.auth.UsergridAppAuth;
+import org.apache.usergrid.java.client.model.UsergridEntity;
+import org.apache.usergrid.java.client.query.UsergridQuery;
+import org.apache.usergrid.java.client.response.UsergridResponse;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.*;
+
+public class QueryTestCase {
+
+    public static final String COLLECTION = "shapes";
+
+    public static float distFrom(float lat1, float lng1, float lat2, float lng2) {
+        double earthRadius = 6371000; //meters
+        double dLat = Math.toRadians(lat2 - lat1);
+        double dLng = Math.toRadians(lng2 - lng1);
+        double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.sin(dLng / 2) * Math.sin(dLng / 2);
+        double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
+        return (float) (earthRadius * c);
+    }
+
+    @Before
+    public void before() {
+        Usergrid.initSharedInstance(SDKTestConfiguration.ORG_NAME, SDKTestConfiguration.APP_NAME, SDKTestConfiguration.USERGRID_URL, SDKTestConfiguration.authFallBack);
+        Usergrid.authenticateApp(new UsergridAppAuth(SDKTestConfiguration.APP_CLIENT_ID, SDKTestConfiguration.APP_CLIENT_SECRET));
+    }
+
+    @After
+    public void after() {
+        Usergrid.reset();
+    }
+
+    /**
+     * Test a basic set of queries where there is inclusion and exclusion based on
+     * two fields
+     */
+    @Test
+    public void testBasicQuery() {
+
+        UsergridQuery qDelete = new UsergridQuery(COLLECTION);
+        Usergrid.DELETE(qDelete);
+
+        Map<String, UsergridEntity> entityMapByUUID = SDKTestUtils.createColorShapes(COLLECTION);
+        Map<String, UsergridEntity> entityMapByName = new HashMap<>(entityMapByUUID.size());
+
+        for (Map.Entry<String, UsergridEntity> uuidEntity : entityMapByUUID.entrySet()) {
+            entityMapByName.put(uuidEntity.getValue().getName(), uuidEntity.getValue());
+        }
+
+        SDKTestUtils.indexSleep();
+
+        Map<String, String> fields = new HashMap<>(7);
+        fields.put("red", "square");
+        fields.put("blue", "circle");
+        fields.put("yellow", "triangle");
+
+        for (Map.Entry<String, String> entry : fields.entrySet()) {
+            UsergridEntity targetEntity = entityMapByName.get(entry.getKey() + entry.getValue());
+
+            UsergridResponse response = Usergrid.GET(new UsergridQuery(COLLECTION).eq("color", entry.getKey()));
+            assertNotNull("entities returned should not be null.", response.getEntities());
+            assertTrue("query for " + entry.getKey() + " shape should return 1, not: " + response.getEntities().size(), response.getEntities().size() == 1);
+
+            UsergridEntity responseEntity = response.first();
+            assertNotNull("first entity should not be null.", responseEntity);
+            assertEquals("query for " + entry.getKey() + " shape should the right UUID", responseEntity.getUuid(),targetEntity.getUuid());
+        }
+        Usergrid.DELETE(qDelete);
+    }
+
+    /**
+     * Test that geolocation is working as expected with different ranges and radius
+     * also test that results are sorted ascending by distance from the specified point
+     */
+    @Test
+    public void testGeoQuery() {
+
+        String collectionName = "sdkTestLocation";
+
+        UsergridQuery deleteQuery = new UsergridQuery(collectionName);
+        Usergrid.DELETE(deleteQuery);
+
+        ArrayList<UsergridEntity> entities = new ArrayList<>();
+        UsergridEntity apigeeOffice = new UsergridEntity(collectionName,"Apigee Office");
+        apigeeOffice.setLocation(37.334115, -121.894340);
+        entities.add(apigeeOffice);
+
+        UsergridEntity amicis = new UsergridEntity(collectionName,"Amicis");
+        amicis.setLocation(37.335616, -121.894168);
+        entities.add(amicis);
+
+        UsergridEntity sanPedroMarket = new UsergridEntity(collectionName,"SanPedroMarket");
+        sanPedroMarket.setLocation(37.336499, -121.894356);
+        entities.add(sanPedroMarket);
+
+        UsergridEntity saintJamesPark = new UsergridEntity(collectionName,"saintJamesPark");
+        saintJamesPark.setLocation(37.339079, -121.891422);
+        entities.add(saintJamesPark);
+
+        UsergridEntity sanJoseNews = new UsergridEntity(collectionName,"sanJoseNews");
+        sanJoseNews.setLocation(37.337812, -121.890784);
+        entities.add(sanJoseNews);
+
+        UsergridEntity deAnza = new UsergridEntity(collectionName,"deAnza");
+        deAnza.setLocation(37.334370, -121.895081);
+        entities.add(deAnza);
+
+        Usergrid.POST(entities);
+
+        SDKTestUtils.indexSleep();
+
+        float centerLat = 37.334110f;
+        float centerLon = -121.894340f;
+
+        // Test a large distance
+        UsergridResponse queryResponse = Usergrid.GET(new UsergridQuery(collectionName).locationWithin(611.00000, centerLat, centerLon));
+        assertNotNull(queryResponse.getEntities());
+
+        float lastDistanceFrom = 0;
+        for (UsergridEntity entity : queryResponse.getEntities()) {
+
+            JsonNode locationNode = entity.getEntityProperty("location");
+            assertNotNull("location node should not be null", locationNode);
+
+            DoubleNode lat = (DoubleNode) locationNode.get("latitude");
+            DoubleNode lon = (DoubleNode) locationNode.get("longitude");
+
+            float distanceFrom = distFrom(centerLat, centerLon, lat.floatValue(), lon.floatValue());
+            System.out.println("Entity " + entity.getName() + " is " + distanceFrom + " away");
+
+            assertTrue("Entity " + entity.getName() + " was included but is not within specified distance (" + distanceFrom + ")", distanceFrom <= 611.0);
+
+            if (lastDistanceFrom != 0) {
+                assertTrue("GEO results are not sorted by distance ascending: expected " + lastDistanceFrom + " <= " + distanceFrom, lastDistanceFrom <= distanceFrom);
+            }
+
+            lastDistanceFrom = distanceFrom;
+        }
+
+        // Test a small distance
+        queryResponse = Usergrid.GET(new UsergridQuery(collectionName).locationWithin(150, centerLat, centerLon));
+        assertNotNull(queryResponse.getEntities());
+
+        lastDistanceFrom = 0;
+        for (UsergridEntity entity : queryResponse.getEntities()) {
+
+            JsonNode locationNode = entity.getEntityProperty("location");
+            assertNotNull("location node should not be null", locationNode);
+
+            DoubleNode lat = (DoubleNode) locationNode.get("latitude");
+            DoubleNode lon = (DoubleNode) locationNode.get("longitude");
+
+            float distanceFrom = distFrom(centerLat, centerLon, lat.floatValue(), lon.floatValue());
+            System.out.println("Entity " + entity.getName() + " is " + distanceFrom + " away");
+
+            assertTrue("Entity " + entity.getName() + " was included but is not within specified distance (" + distanceFrom + ")", distanceFrom <= 150);
+
+            if (lastDistanceFrom != 0) {
+                assertTrue("GEO results are not sorted by distance ascending: expected " + lastDistanceFrom + " <= " + distanceFrom, lastDistanceFrom <= distanceFrom);
+            }
+
+            lastDistanceFrom = distanceFrom;
+        }
+
+        Usergrid.DELETE(deleteQuery);
+    }
+}
diff --git a/sdks/java/src/test/java/org/apache/usergrid/client/SDKTestConfiguration.java b/sdks/java/src/test/java/org/apache/usergrid/client/SDKTestConfiguration.java
new file mode 100644
index 0000000..e92e7be
--- /dev/null
+++ b/sdks/java/src/test/java/org/apache/usergrid/client/SDKTestConfiguration.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.client;
+
+import org.apache.usergrid.java.client.UsergridEnums.UsergridAuthMode;
+
+public class SDKTestConfiguration {
+    public static final String APP_CLIENT_ID = "b3U6THNcevskEeOQZLcUROUUVA"; //"YXA6_j0WsfFCEeWKoy6txsCOfA" ;
+    public static final String APP_CLIENT_SECRET = "b3U6RZHYznP28xieBzQPackFPmmnevU"; //"YXA6jg8x4wjq1AAyQBKtn4bRd1l0gJ8"; //
+
+    public static final String APP_UserName = "javaSDK"; //"test";// //"b3U66ne33W4OEeWXmAIj6QFb-Q";
+    public static final String APP_Password = "Apigee123"; //"test";//"b3U6PxbpQiTrXKCWu0n1CjK1uTZXuG4";
+    public static final String USERGRID_URL = "https://api.usergrid.com/";
+    public static final String ORG_NAME = "rwalsh";
+    public static final String APP_NAME = "sdk.demo";
+
+    public static UsergridAuthMode authFallBack = UsergridAuthMode.APP;
+
+//  public static final String APP_CLIENT_ID = "YXA61n2kpFffEeWs9QLknKqhHw";
+//  public static final String APP_CLIENT_SECRET = "YXA69_aRW1IHLgMTUUYSitsGwOLY8uQ";
+//  public static final String USERGRID_URL = "https://fhirsandbox-prod.apigee.net/appservices";
+//  public static final String ORG_NAME = "usergrid";
+//  public static final String APP_NAME = "sandbox";
+}
diff --git a/sdks/java/src/test/java/org/apache/usergrid/client/SDKTestUtils.java b/sdks/java/src/test/java/org/apache/usergrid/client/SDKTestUtils.java
new file mode 100644
index 0000000..fc5a039
--- /dev/null
+++ b/sdks/java/src/test/java/org/apache/usergrid/client/SDKTestUtils.java
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.client;
+
+import org.apache.usergrid.java.client.Usergrid;
+import org.apache.usergrid.java.client.model.UsergridEntity;
+import org.apache.usergrid.java.client.response.UsergridResponse;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+public class SDKTestUtils {
+
+
+    public static Map<String, UsergridEntity> createColorShapes(String collection) {
+
+        Map<String, Map<String, String>> entityMap = new HashMap<>(7);
+
+        Map<String, String> fields = new HashMap<>(3);
+        fields.put("color", "red");
+        fields.put("shape", "square");
+
+        entityMap.put("redsquare", fields);
+
+        fields = new HashMap<>(3);
+        fields.put("color", "blue");
+        fields.put("shape", "circle");
+
+        entityMap.put("bluecircle", fields);
+
+        fields = new HashMap<>(3);
+        fields.put("color", "yellow");
+        fields.put("shape", "triangle");
+
+        entityMap.put("yellowtriangle", fields);
+
+        return createEntities(collection, entityMap);
+    }
+
+    public static Map<String, UsergridEntity> createEntities(final String collection,
+                                                             final Map<String, Map<String, String>> entities) {
+
+        Map<String, UsergridEntity> entityMap = new HashMap<>();
+
+        for (Map.Entry<String, Map<String, String>> entity : entities.entrySet()) {
+
+            UsergridEntity e = createEntity(collection, entity.getKey(), entity.getValue());
+            entityMap.put(e.getUuid(), e);
+        }
+
+        return entityMap;
+    }
+
+    public static UsergridEntity createEntity(final String collection,
+                                              final String name,
+                                              final Map<String, String> fields) {
+
+        UsergridEntity e = new UsergridEntity(collection, name);
+
+        if( fields != null ) {
+            for (Map.Entry<String, String> field : fields.entrySet()) {
+                e.putProperty(field.getKey(), field.getValue());
+            }
+        }
+
+        UsergridResponse r = Usergrid.getInstance().POST(e);
+
+        if (r.getResponseError() != null) {
+            assertTrue("UUID should not be null", e.getUuid() != null);
+            if( fields != null ) {
+                for (Map.Entry<String, String> field : fields.entrySet()) {
+                    assertEquals("attempted to set a property which did not persist on the entity", e.getStringProperty(field.getKey()),field.getValue());
+                }
+            }
+        }
+
+        return r.first();
+    }
+
+    public static void sleep(long millis) {
+        try {
+            Thread.sleep(millis);
+        } catch (InterruptedException ignore) {
+            ignore.printStackTrace();
+        }
+    }
+
+    public static void indexSleep() {
+        sleep(1000);
+    }
+}
diff --git a/sdks/java/src/test/java/org/apache/usergrid/client/UsergridClientAuthTestCase.java b/sdks/java/src/test/java/org/apache/usergrid/client/UsergridClientAuthTestCase.java
new file mode 100644
index 0000000..82ca3c9
--- /dev/null
+++ b/sdks/java/src/test/java/org/apache/usergrid/client/UsergridClientAuthTestCase.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.client;
+
+import org.apache.usergrid.java.client.Usergrid;
+import org.apache.usergrid.java.client.UsergridClient;
+import org.apache.usergrid.java.client.UsergridEnums;
+import org.apache.usergrid.java.client.UsergridRequest;
+import org.apache.usergrid.java.client.auth.UsergridAppAuth;
+import org.apache.usergrid.java.client.model.UsergridEntity;
+import org.apache.usergrid.java.client.model.UsergridUser;
+import org.apache.usergrid.java.client.auth.UsergridUserAuth;
+import org.apache.usergrid.java.client.response.UsergridResponse;
+import org.junit.After;
+import org.junit.Test;
+
+import java.util.List;
+
+public class UsergridClientAuthTestCase {
+
+    @After
+    public void after() {
+        Usergrid.reset();
+    }
+
+    @Test
+    public void clientAppInit() {
+        Usergrid.initSharedInstance(SDKTestConfiguration.ORG_NAME, SDKTestConfiguration.APP_NAME, SDKTestConfiguration.USERGRID_URL, SDKTestConfiguration.authFallBack);
+        Usergrid.authenticateApp(new UsergridAppAuth(SDKTestConfiguration.APP_CLIENT_ID, SDKTestConfiguration.APP_CLIENT_SECRET));
+
+        //should fall back to using no authentication when currentUser is not authenticated and authFallback is set to NONE
+        UsergridClient client = Usergrid.getInstance();
+//        client.config.authMode = UsergridEnums.UsergridAuthMode.NONE;
+
+        String[] segments = {client.getOrgId(), client.getAppId(), "users"};
+        UsergridRequest request = new UsergridRequest(UsergridEnums.UsergridHttpMethod.GET, UsergridRequest.APPLICATION_JSON_MEDIA_TYPE,
+                client.getBaseUrl(), null, null, null, null, client.authForRequests(), segments);
+        client.sendRequest(request);
+    }
+
+    @Test
+    public void clientUserInit() {
+        Usergrid.initSharedInstance(SDKTestConfiguration.ORG_NAME, SDKTestConfiguration.APP_NAME, SDKTestConfiguration.USERGRID_URL);
+        Usergrid.authenticateUser(new UsergridUserAuth(SDKTestConfiguration.APP_UserName, SDKTestConfiguration.APP_Password));
+        UsergridResponse getResponse = Usergrid.GET("user","eb8145ea-e171-11e5-a5e5-2bc0953f9fe6");
+        if( getResponse.getEntities() != null ) {
+            UsergridEntity entity = getResponse.first();
+            if( entity instanceof UsergridUser) {
+                UsergridUser user = (UsergridUser) entity;
+                System.out.print(user.toString());
+            }
+            List<UsergridUser> users = getResponse.users();
+            if( users != null ) {
+                System.out.print(users.get(0).toString());
+            }
+        }
+
+    }
+}
diff --git a/sdks/java/src/test/java/org/apache/usergrid/client/UsergridInitTestCase.java b/sdks/java/src/test/java/org/apache/usergrid/client/UsergridInitTestCase.java
new file mode 100644
index 0000000..980a3e7
--- /dev/null
+++ b/sdks/java/src/test/java/org/apache/usergrid/client/UsergridInitTestCase.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.client;
+
+import org.apache.usergrid.java.client.Usergrid;
+import org.apache.usergrid.java.client.UsergridClient;
+import org.apache.usergrid.java.client.auth.UsergridAppAuth;
+import org.apache.usergrid.java.client.auth.UsergridUserAuth;
+import org.junit.After;
+import org.junit.Test;
+
+import static org.junit.Assert.assertTrue;
+
+public class UsergridInitTestCase {
+
+    @After
+    public void after() {
+        Usergrid.reset();
+    }
+
+    @Test
+    public void testInitAppUsergrid() {
+        Usergrid.initSharedInstance(SDKTestConfiguration.ORG_NAME, SDKTestConfiguration.APP_NAME, SDKTestConfiguration.USERGRID_URL);
+        Usergrid.authenticateApp(new UsergridAppAuth(SDKTestConfiguration.APP_CLIENT_ID, SDKTestConfiguration.APP_CLIENT_SECRET));
+        assertTrue("usergrid should be an instance of usergrid client", Usergrid.getInstance().getClass() == UsergridClient.class);
+    }
+
+    @Test
+    public void testInitUserUsergrid() {
+        Usergrid.initSharedInstance(SDKTestConfiguration.ORG_NAME, SDKTestConfiguration.APP_NAME, SDKTestConfiguration.USERGRID_URL);
+        Usergrid.authenticateUser(new UsergridUserAuth(SDKTestConfiguration.APP_UserName, SDKTestConfiguration.APP_Password));
+        assertTrue("usergrid should be an instance of usergrid client", Usergrid.getInstance().getClass() == UsergridClient.class);
+    }
+}
diff --git a/sdks/java/src/test/java/org/apache/usergrid/client/UsergridResponseErrorTestCase.java b/sdks/java/src/test/java/org/apache/usergrid/client/UsergridResponseErrorTestCase.java
new file mode 100644
index 0000000..3533805
--- /dev/null
+++ b/sdks/java/src/test/java/org/apache/usergrid/client/UsergridResponseErrorTestCase.java
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.client;
+
+import org.apache.usergrid.java.client.Usergrid;
+import org.apache.usergrid.java.client.auth.UsergridAppAuth;
+import org.apache.usergrid.java.client.response.UsergridResponse;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.*;
+
+public class UsergridResponseErrorTestCase {
+
+    @Before
+    public void before() {
+        Usergrid.initSharedInstance(SDKTestConfiguration.ORG_NAME, SDKTestConfiguration.APP_NAME, SDKTestConfiguration.USERGRID_URL, SDKTestConfiguration.authFallBack);
+        UsergridAppAuth appAuth = new UsergridAppAuth(SDKTestConfiguration.APP_CLIENT_ID, SDKTestConfiguration.APP_CLIENT_SECRET);
+        Usergrid.authenticateApp(appAuth);
+    }
+
+    @After
+    public void after() {
+        Usergrid.reset();
+    }
+
+    @Test
+    public void testEntityCreationSuccess() {
+        String collectionName = "ect" + System.currentTimeMillis();
+
+        Map<String, String> fields = new HashMap<>(3);
+        fields.put("color", "red");
+        fields.put("shape", "square");
+
+        SDKTestUtils.createEntity(collectionName, "testEntity1", fields);
+        UsergridResponse eLookUp = Usergrid.GET(collectionName, "testEntity1");
+        assertNull("The returned entity is null!", eLookUp.getResponseError());
+
+        UsergridResponse response = Usergrid.GET(collectionName, "testEntityThatShouldNotExist");
+        assertFalse("Response returned should not be ok.",response.ok());
+        assertTrue("StatusCode equals than 404", response.getStatusCode() == 404);
+        assertNotNull("The returned entity is null!", response.getResponseError());
+    }
+}
diff --git a/sdks/java/src/test/java/org/apache/usergrid/client/UsergridResponseTestCase.java b/sdks/java/src/test/java/org/apache/usergrid/client/UsergridResponseTestCase.java
new file mode 100644
index 0000000..e158d85
--- /dev/null
+++ b/sdks/java/src/test/java/org/apache/usergrid/client/UsergridResponseTestCase.java
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.client;
+
+import org.apache.usergrid.java.client.Usergrid;
+import org.apache.usergrid.java.client.UsergridEnums;
+import org.apache.usergrid.java.client.auth.UsergridUserAuth;
+import org.apache.usergrid.java.client.response.UsergridResponse;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+public class UsergridResponseTestCase {
+
+    @Before
+    public void before() {
+        Usergrid.initSharedInstance(SDKTestConfiguration.ORG_NAME, SDKTestConfiguration.APP_NAME, SDKTestConfiguration.USERGRID_URL, UsergridEnums.UsergridAuthMode.USER);
+        Usergrid.authenticateUser(new UsergridUserAuth(SDKTestConfiguration.APP_UserName, SDKTestConfiguration.APP_Password));
+    }
+
+    @After
+    public void after() {
+        Usergrid.reset();
+    }
+
+    @Test
+    public void testLogoutUser() {
+        String collectionName = "ect" + System.currentTimeMillis();
+
+        Map<String, String> fields = new HashMap<>(3);
+        fields.put("color", "red");
+        fields.put("shape", "square");
+
+        SDKTestUtils.createEntity(collectionName, "testEntity1", fields);
+        UsergridResponse response = Usergrid.GET(collectionName, "testEntity1");
+        Object instanceObj = response.getStatusCode();
+        assertTrue("The returned statusCode is and object of integer", instanceObj instanceof Integer);
+        instanceObj = response.ok();
+        assertTrue("The returned statusCode is and object of boolean", instanceObj instanceof Boolean);
+
+        UsergridResponse resp = Usergrid.logoutUser(SDKTestConfiguration.APP_UserName,null);
+
+        response = Usergrid.GET(collectionName, "testEntity1");
+        assertNotNull("The response should throw an error",response.getResponseError());
+    }
+
+    @Test
+    public void testLogoutCurrentUser() {
+        String collectionName = "ect" + System.currentTimeMillis();
+
+        Map<String, String> fields = new HashMap<>(3);
+        fields.put("color", "red");
+        fields.put("shape", "square");
+
+        SDKTestUtils.createEntity(collectionName, "testEntity12", fields);
+        UsergridResponse response = Usergrid.GET(collectionName, "testEntity12");
+        assertNull("The response should not throw an error",response.getResponseError());
+
+        Usergrid.logoutCurrentUser();
+        response = Usergrid.GET(collectionName, "testEntity1");
+        assertNotNull("The response should throw an error",response.getResponseError());
+    }
+
+}
diff --git a/sdks/java/src/main/java/org/apache/usergrid/java/client/response/QueueInfo.java b/sdks/java/src/test/java/org/apache/usergrid/client/UsergridTestCase.java
similarity index 66%
rename from sdks/java/src/main/java/org/apache/usergrid/java/client/response/QueueInfo.java
rename to sdks/java/src/test/java/org/apache/usergrid/client/UsergridTestCase.java
index 04fe717..5e1ab3a 100644
--- a/sdks/java/src/main/java/org/apache/usergrid/java/client/response/QueueInfo.java
+++ b/sdks/java/src/test/java/org/apache/usergrid/client/UsergridTestCase.java
@@ -14,31 +14,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.usergrid.java.client.response;
+package org.apache.usergrid.client;
 
-import java.util.UUID;
+import org.apache.usergrid.java.client.Usergrid;
+import org.apache.usergrid.java.client.auth.UsergridAppAuth;
+import org.junit.Before;
+import org.junit.Test;
 
-public class QueueInfo {
+public class UsergridTestCase {
 
-	String path;
-	UUID queue;
-
-	public QueueInfo() {
-	}
-
-	public String getPath() {
-		return path;
-	}
-
-	public void setPath(String path) {
-		this.path = path;
-	}
-
-	public UUID getQueue() {
-		return queue;
-	}
-
-	public void setQueue(UUID queue) {
-		this.queue = queue;
-	}
+    @Test
+    public void initialize() {
+        Usergrid.initSharedInstance(SDKTestConfiguration.ORG_NAME, SDKTestConfiguration.APP_NAME, SDKTestConfiguration.USERGRID_URL);
+    }
 }
diff --git a/sdks/java/usergrid-java-client-2.1.0.jar b/sdks/java/usergrid-java-client-2.1.0.jar
new file mode 100644
index 0000000..fa90a59
--- /dev/null
+++ b/sdks/java/usergrid-java-client-2.1.0.jar
Binary files differ
diff --git a/sdks/swift/README.md b/sdks/swift/README.md
index be8b6f6..14f93ea 100644
--- a/sdks/swift/README.md
+++ b/sdks/swift/README.md
@@ -742,7 +742,7 @@
                      progress: { bytesFinished, bytesExpected in
                         // Monitor the upload progress
                      },
-                     completion: { response, asset, error in
+                     completion: { asset, response in
                         // The asset is now uploaded to Usergrid and entity.asset == asset
 })
 ```
diff --git a/sdks/swift/Samples/ActivityFeed/Source/Base.lproj/Main.storyboard b/sdks/swift/Samples/ActivityFeed/Source/Base.lproj/Main.storyboard
index 5f38e98..8ec5316 100644
--- a/sdks/swift/Samples/ActivityFeed/Source/Base.lproj/Main.storyboard
+++ b/sdks/swift/Samples/ActivityFeed/Source/Base.lproj/Main.storyboard
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="0Ca-En-eac">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15E65" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="0Ca-En-eac">
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
         <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
     </dependencies>
     <scenes>
@@ -30,7 +30,7 @@
         <!--Chit-Chat-->
         <scene sceneID="tne-QT-ifu">
             <objects>
-                <viewController title="Chit-Chat" id="BYZ-38-t0r" customClass="LoginViewController" customModule="SDKSample" customModuleProvider="target" sceneMemberID="viewController">
+                <viewController title="Chit-Chat" id="BYZ-38-t0r" customClass="LoginViewController" customModule="ActivityFeed" customModuleProvider="target" sceneMemberID="viewController">
                     <layoutGuides>
                         <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
                         <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
@@ -39,7 +39,7 @@
                         <rect key="frame" x="0.0" y="64" width="414" height="672"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
-                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Password" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="AUv-4K-02z" userLabel="Password Text Field" customClass="FormTextField" customModule="SDKSample" customModuleProvider="target">
+                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Password" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="AUv-4K-02z" userLabel="Password Text Field" customClass="FormTextField" customModule="ActivityFeed" customModuleProvider="target">
                                 <rect key="frame" x="55" y="221" width="305" height="30"/>
                                 <color key="backgroundColor" red="0.98039215686274506" green="0.98039215686274506" blue="0.98039215686274506" alpha="1" colorSpace="calibratedRGB"/>
                                 <constraints>
@@ -56,7 +56,7 @@
                                     <outlet property="nextResponderField" destination="Pj4-c5-WOw" id="ndL-qj-xzY"/>
                                 </connections>
                             </textField>
-                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Username" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Z6O-sS-NMx" customClass="FormTextField" customModule="SDKSample" customModuleProvider="target">
+                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Username" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Z6O-sS-NMx" customClass="FormTextField" customModule="ActivityFeed" customModuleProvider="target">
                                 <rect key="frame" x="54" y="183" width="305" height="30"/>
                                 <color key="backgroundColor" red="0.98431372549019602" green="0.98431372549019602" blue="0.98431372549019602" alpha="1" colorSpace="calibratedRGB"/>
                                 <constraints>
@@ -142,7 +142,7 @@
         <!--Chat-->
         <scene sceneID="xKw-pF-1VK">
             <objects>
-                <viewController storyboardIdentifier="Chat" id="e2L-gy-keG" customClass="MessageViewController" customModule="SDKSample" customModuleProvider="target" sceneMemberID="viewController">
+                <viewController storyboardIdentifier="Chat" id="e2L-gy-keG" customClass="MessageViewController" customModule="ActivityFeed" customModuleProvider="target" sceneMemberID="viewController">
                     <layoutGuides>
                         <viewControllerLayoutGuide type="top" id="l0J-tj-N8R"/>
                         <viewControllerLayoutGuide type="bottom" id="aRQ-i9-bBv"/>
@@ -171,7 +171,7 @@
         <!--Follow-->
         <scene sceneID="L1J-vW-kjp">
             <objects>
-                <viewController id="dZf-Pa-FEf" customClass="FollowViewController" customModule="SDKSample" customModuleProvider="target" sceneMemberID="viewController">
+                <viewController id="dZf-Pa-FEf" customClass="FollowViewController" customModule="ActivityFeed" customModuleProvider="target" sceneMemberID="viewController">
                     <layoutGuides>
                         <viewControllerLayoutGuide type="top" id="bqC-DA-7jl"/>
                         <viewControllerLayoutGuide type="bottom" id="WfX-kG-aQR"/>
@@ -191,7 +191,7 @@
                                     <action selector="addFollowerButtonTouched:" destination="dZf-Pa-FEf" eventType="touchUpInside" id="yuv-da-ArK"/>
                                 </connections>
                             </button>
-                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Username" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="30w-Hq-z3n" customClass="FormTextField" customModule="SDKSample" customModuleProvider="target">
+                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Username" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="30w-Hq-z3n" customClass="FormTextField" customModule="ActivityFeed" customModuleProvider="target">
                                 <rect key="frame" x="55" y="229" width="305" height="30"/>
                                 <color key="backgroundColor" red="0.98431372549999996" green="0.98431372549999996" blue="0.98431372549999996" alpha="1" colorSpace="calibratedRGB"/>
                                 <constraints>
@@ -236,7 +236,7 @@
         <!--Create Account-->
         <scene sceneID="KTq-tk-yrN">
             <objects>
-                <viewController title="Create Account" id="bnr-oZ-e0h" customClass="RegisterViewController" customModule="SDKSample" customModuleProvider="target" sceneMemberID="viewController">
+                <viewController title="Create Account" id="bnr-oZ-e0h" customClass="RegisterViewController" customModule="ActivityFeed" customModuleProvider="target" sceneMemberID="viewController">
                     <layoutGuides>
                         <viewControllerLayoutGuide type="top" id="54e-JK-PBR"/>
                         <viewControllerLayoutGuide type="bottom" id="JWP-YK-0Zj"/>
@@ -245,7 +245,7 @@
                         <rect key="frame" x="0.0" y="64" width="414" height="672"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
-                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Name" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="X55-Ni-6OO" customClass="FormTextField" customModule="SDKSample" customModuleProvider="target">
+                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Name" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="X55-Ni-6OO" customClass="FormTextField" customModule="ActivityFeed" customModuleProvider="target">
                                 <rect key="frame" x="55" y="112" width="305" height="30"/>
                                 <color key="backgroundColor" red="0.98431372549999996" green="0.98431372549999996" blue="0.98431372549999996" alpha="1" colorSpace="calibratedRGB"/>
                                 <constraints>
@@ -262,7 +262,7 @@
                                     <outlet property="nextResponderField" destination="T7U-9G-AS6" id="HUF-el-scZ"/>
                                 </connections>
                             </textField>
-                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Username" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="T7U-9G-AS6" userLabel="Username Text Field" customClass="FormTextField" customModule="SDKSample" customModuleProvider="target">
+                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Username" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="T7U-9G-AS6" userLabel="Username Text Field" customClass="FormTextField" customModule="ActivityFeed" customModuleProvider="target">
                                 <rect key="frame" x="55" y="150" width="305" height="30"/>
                                 <color key="backgroundColor" red="0.98431372549999996" green="0.98431372549999996" blue="0.98431372549999996" alpha="1" colorSpace="calibratedRGB"/>
                                 <constraints>
@@ -279,7 +279,7 @@
                                     <outlet property="nextResponderField" destination="Fbi-gF-0jQ" id="sjv-Dm-5GL"/>
                                 </connections>
                             </textField>
-                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Email" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Fbi-gF-0jQ" customClass="FormTextField" customModule="SDKSample" customModuleProvider="target">
+                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Email" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Fbi-gF-0jQ" customClass="FormTextField" customModule="ActivityFeed" customModuleProvider="target">
                                 <rect key="frame" x="55" y="188" width="305" height="30"/>
                                 <color key="backgroundColor" red="0.98431372549999996" green="0.98431372549999996" blue="0.98431372549999996" alpha="1" colorSpace="calibratedRGB"/>
                                 <constraints>
@@ -296,7 +296,7 @@
                                     <outlet property="nextResponderField" destination="3wi-7s-j5P" id="eE7-9Y-L0t"/>
                                 </connections>
                             </textField>
-                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Password" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="3wi-7s-j5P" userLabel="Password Text Field" customClass="FormTextField" customModule="SDKSample" customModuleProvider="target">
+                            <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="Password" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="3wi-7s-j5P" userLabel="Password Text Field" customClass="FormTextField" customModule="ActivityFeed" customModuleProvider="target">
                                 <rect key="frame" x="55" y="226" width="305" height="30"/>
                                 <color key="backgroundColor" red="0.98431372549999996" green="0.98431372549999996" blue="0.98431372549999996" alpha="1" colorSpace="calibratedRGB"/>
                                 <constraints>
diff --git a/sdks/swift/Samples/ActivityFeed/Source/FormTextField.swift b/sdks/swift/Samples/ActivityFeed/Source/FormTextField.swift
index 9a79022..fbb9bd6 100644
--- a/sdks/swift/Samples/ActivityFeed/Source/FormTextField.swift
+++ b/sdks/swift/Samples/ActivityFeed/Source/FormTextField.swift
@@ -43,7 +43,7 @@
     }
 
     func setUp() {
-        addTarget(self, action: "actionKeyboardButtonTapped:", forControlEvents: .EditingDidEndOnExit)
+        addTarget(self, action: #selector(FormTextField.actionKeyboardButtonTapped(_:)), forControlEvents: .EditingDidEndOnExit)
     }
 
     func actionKeyboardButtonTapped(sender: UITextField) {
diff --git a/sdks/swift/Samples/ActivityFeed/Source/MessageViewController.swift b/sdks/swift/Samples/ActivityFeed/Source/MessageViewController.swift
index 28d32d4..b2a152c 100644
--- a/sdks/swift/Samples/ActivityFeed/Source/MessageViewController.swift
+++ b/sdks/swift/Samples/ActivityFeed/Source/MessageViewController.swift
@@ -40,7 +40,7 @@
         commonInit()
     }
 
-    required init!(coder decoder: NSCoder!) {
+    required init(coder decoder: NSCoder) {
         super.init(coder: decoder)
         commonInit()
     }
@@ -71,7 +71,7 @@
     func reloadMessages() {
         UsergridManager.getFeedMessages { (response) -> Void in
             self.messageEntities = response.entities as? [ActivityEntity] ?? []
-            self.tableView.reloadData()
+            self.tableView!.reloadData()
         }
     }
 
@@ -84,8 +84,8 @@
         self.textInputbar.maxCharCount = 256
         self.textInputbar.editorTitle.textColor = UIColor.darkGrayColor()
 
-        self.tableView.separatorStyle = .None
-        self.tableView.registerClass(MessageTableViewCell.self, forCellReuseIdentifier:MessageViewController.MESSAGE_CELL_IDENTIFIER)
+        self.tableView!.separatorStyle = .None
+        self.tableView!.registerClass(MessageTableViewCell.self, forCellReuseIdentifier:MessageViewController.MESSAGE_CELL_IDENTIFIER)
     }
 
     override func didPressRightButton(sender: AnyObject!) {
@@ -97,13 +97,13 @@
                 let rowAnimation: UITableViewRowAnimation = self.inverted ? .Bottom : .Top
                 let scrollPosition: UITableViewScrollPosition = self.inverted ? .Bottom : .Top
 
-                self.tableView.beginUpdates()
+                self.tableView!.beginUpdates()
                 self.messageEntities.insert(messageEntity, atIndex: 0)
-                self.tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: rowAnimation)
-                self.tableView.endUpdates()
+                self.tableView!.insertRowsAtIndexPaths([indexPath], withRowAnimation: rowAnimation)
+                self.tableView!.endUpdates()
 
-                self.tableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: scrollPosition, animated: true)
-                self.tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: .Automatic)
+                self.tableView!.scrollToRowAtIndexPath(indexPath, atScrollPosition: scrollPosition, animated: true)
+                self.tableView!.reloadRowsAtIndexPaths([indexPath], withRowAnimation: .Automatic)
 
                 self.sendEntitiesToWatch(self.messageEntities)
             }
@@ -111,7 +111,7 @@
         super.didPressRightButton(sender)
     }
 
-    override func keyForTextCaching() -> String! {
+    override func keyForTextCaching() -> String? {
         return NSBundle.mainBundle().bundleIdentifier
     }
 
@@ -149,11 +149,11 @@
     }
 
     func messageCellForRowAtIndexPath(indexPath:NSIndexPath) -> MessageTableViewCell {
-        let cell = self.tableView.dequeueReusableCellWithIdentifier(MessageViewController.MESSAGE_CELL_IDENTIFIER) as! MessageTableViewCell
+        let cell = self.tableView!.dequeueReusableCellWithIdentifier(MessageViewController.MESSAGE_CELL_IDENTIFIER) as! MessageTableViewCell
         self.populateCell(cell, feedEntity: self.messageEntities[indexPath.row])
 
         cell.indexPath = indexPath
-        cell.transform = self.tableView.transform
+        cell.transform = self.tableView!.transform
 
         return cell
     }
@@ -176,7 +176,7 @@
         let pointSize = MessageTableViewCell.defaultFontSize
         let attributes = [NSFontAttributeName:UIFont.boldSystemFontOfSize(pointSize),NSParagraphStyleAttributeName:paragraphStyle]
 
-        let width: CGFloat = CGRectGetWidth(self.tableView.frame) - MessageTableViewCell.kMessageTableViewCellAvatarHeight - 25
+        let width: CGFloat = CGRectGetWidth(self.tableView!.frame) - MessageTableViewCell.kMessageTableViewCellAvatarHeight - 25
 
         let titleBounds = messageUsername.boundingRectWithSize(CGSize(width: width, height: CGFloat.max), options: .UsesLineFragmentOrigin, attributes: attributes, context: nil)
         let bodyBounds = messageText.boundingRectWithSize(CGSize(width: width, height: CGFloat.max), options: .UsesLineFragmentOrigin, attributes: attributes, context: nil)
diff --git a/sdks/swift/Samples/Push/Source/UsergridManager.swift b/sdks/swift/Samples/Push/Source/UsergridManager.swift
index a916b75..00e8ec2 100644
--- a/sdks/swift/Samples/Push/Source/UsergridManager.swift
+++ b/sdks/swift/Samples/Push/Source/UsergridManager.swift
@@ -63,7 +63,7 @@
     }
 
     static func pushToThisDevice() {
-        UsergridManager.sendPush(deviceId: UsergridDevice.sharedDevice.uuid, message: "Push to this device message.")
+        UsergridManager.sendPush(deviceId: UsergridDevice.sharedDevice.uuid!, message: "Push to this device message.")
     }
 
     static func pushToAllDevices() {
diff --git a/sdks/swift/Source/Usergrid.swift b/sdks/swift/Source/Usergrid.swift
index 1049a62..063d361 100644
--- a/sdks/swift/Source/Usergrid.swift
+++ b/sdks/swift/Source/Usergrid.swift
@@ -27,7 +27,7 @@
 import Foundation
 
 /// The version number for the Usergrid Swift SDK.
-public let UsergridSDKVersion = "2.1.0"
+public let UsergridSDKVersion = "2.1.1"
 
 /**
  The `Usergrid` class acts as a static shared instance manager for the `UsergridClient` class.
@@ -87,10 +87,10 @@
         set(auth) { Usergrid.sharedInstance.appAuth = auth }
     }
 
-    /// The `UsergridAuthFallback` value used to determine what type of token will be sent of the shared instance of `UsergridClient`, if any.
-    public static var authFallback: UsergridAuthFallback {
-        get { return Usergrid.sharedInstance.authFallback }
-        set(authFallback) { Usergrid.sharedInstance.authFallback = authFallback }
+    /// The `UsergridAuthMode` value used to determine what type of token will be sent of the shared instance of `UsergridClient`, if any.
+    public static var authMode: UsergridAuthMode {
+        get { return Usergrid.sharedInstance.authMode }
+        set(mode) { Usergrid.sharedInstance.authMode = mode }
     }
 
     // MARK: - Initialization -
@@ -206,7 +206,7 @@
 
     If there is a `UsergridUser` logged in and the token of that user is valid then it will return that.
 
-    Otherwise, if the `authFallback` is `.App`, and the `UsergridAppAuth` of the client is set and the token is valid it will return that.
+    Otherwise, if the `authMode` is `.App`, and the `UsergridAppAuth` of the client is set and the token is valid it will return that.
 
     - returns: The `UsergridAuth` if one is found or nil if not.
     */
@@ -255,7 +255,19 @@
     }
 
     /**
-    Logs out the current user of the shared instance locally and remotely.
+     Changes the given `UsergridUser`'s current password with the shared instance of `UsergridClient`.
+
+     - parameter user:       The user.
+     - parameter old:        The old password.
+     - parameter new:        The new password.
+     - parameter completion: The optional completion block.
+     */
+    public static func resetPassword(user: UsergridUser, old:String, new:String, completion:UsergridUserResetPasswordCompletion? = nil) {
+        Usergrid.sharedInstance.resetPassword(user, old: old, new: new, completion: completion)
+    }
+
+    /**
+    Logs out the current user of the shared instance locally and remotely using the shared instance of `UsergridClient`.
 
     - parameter completion: The completion block that will be called after logout has completed.
     */
@@ -566,7 +578,7 @@
     - parameter relationship: The relationship.
     - parameter completion:   The completion block that will be called once the request has completed.
     */
-    public static func getConnections(direction:UsergridDirection, entity:UsergridEntity, relationship:String, query:UsergridQuery?, completion:UsergridResponseCompletion? = nil) {
+    public static func getConnections(direction:UsergridDirection, entity:UsergridEntity, relationship:String, query:UsergridQuery? = nil, completion:UsergridResponseCompletion? = nil) {
         Usergrid.sharedInstance.getConnections(direction, entity: entity, relationship: relationship, query:query, completion: completion)
     }
 
@@ -580,7 +592,7 @@
      - parameter query:            The optional query.
      - parameter completion:       The completion block that will be called once the request has completed.
      */
-    public static func getConnections(direction:UsergridDirection, type:String, uuidOrName:String, relationship:String, query:UsergridQuery?, completion:UsergridResponseCompletion? = nil) {
+    public static func getConnections(direction:UsergridDirection, type:String, uuidOrName:String, relationship:String, query:UsergridQuery? = nil, completion:UsergridResponseCompletion? = nil) {
         Usergrid.sharedInstance.getConnections(direction, type: type, uuidOrName: uuidOrName, relationship: relationship, query:query, completion: completion)
     }
 
@@ -593,7 +605,7 @@
      - parameter query:        The optional query.
      - parameter completion:   The optional completion block that will be called once the request has completed.
      */
-    public static func getConnections(direction:UsergridDirection, uuid:String, relationship:String, query:UsergridQuery?, completion:UsergridResponseCompletion? = nil) {
+    public static func getConnections(direction:UsergridDirection, uuid:String, relationship:String, query:UsergridQuery? = nil, completion:UsergridResponseCompletion? = nil) {
         Usergrid.sharedInstance.getConnections(direction, uuid: uuid, relationship: relationship, query: query, completion: completion)
     }
 
diff --git a/sdks/swift/Source/UsergridAsset.swift b/sdks/swift/Source/UsergridAsset.swift
index 3f74796..9353ec1 100644
--- a/sdks/swift/Source/UsergridAsset.swift
+++ b/sdks/swift/Source/UsergridAsset.swift
@@ -35,10 +35,10 @@
 public typealias UsergridAssetRequestProgress = (bytesFinished:Int64, bytesExpected: Int64) -> Void
 
 /// The completion block used in `UsergridAsset` are finished uploading.
-public typealias UsergridAssetUploadCompletion = (response:UsergridResponse,asset:UsergridAsset?, error: String?) -> Void
+public typealias UsergridAssetUploadCompletion = (asset:UsergridAsset?, response: UsergridResponse) -> Void
 
 /// The completion block used in `UsergridAsset` are finished downloading.
-public typealias UsergridAssetDownloadCompletion = (asset:UsergridAsset?, error: String?) -> Void
+public typealias UsergridAssetDownloadCompletion = (asset:UsergridAsset?, error: UsergridResponseError?) -> Void
 
 /**
 As Usergrid supports storing binary assets, the SDKs are designed to make uploading assets easier and more robust. Attaching, uploading, and downloading assets is handled by the `UsergridEntity` class.
@@ -47,7 +47,7 @@
 */
 public class UsergridAsset: NSObject, NSCoding {
 
-    private static let DEFAULT_FILE_NAME = "file"
+    internal static let DEFAULT_FILE_NAME = "file"
 
     // MARK: - Instance Properties -
 
@@ -95,7 +95,7 @@
 
     - returns: A new instance of `UsergridAsset` if the data can be gathered from the passed in `UIImage`, otherwise nil.
     */
-    public convenience init?(fileName:String? = UsergridAsset.DEFAULT_FILE_NAME, image:UIImage, imageContentType:UsergridImageContentType = .Png) {
+    public convenience init?(filename:String? = UsergridAsset.DEFAULT_FILE_NAME, image:UIImage, imageContentType:UsergridImageContentType = .Png) {
         var imageData: NSData?
         switch(imageContentType) {
             case .Png :
@@ -104,7 +104,7 @@
                 imageData = UIImageJPEGRepresentation(image, 1.0)
         }
         if let assetData = imageData {
-            self.init(filename:fileName,data:assetData,contentType:imageContentType.stringValue)
+            self.init(filename:filename,data:assetData,contentType:imageContentType.stringValue)
         } else {
             self.init(filename:"",data:NSData(),contentType:"")
             return nil
@@ -121,9 +121,9 @@
 
     - returns: A new instance of `UsergridAsset` if the data can be gathered from the passed in `NSURL`, otherwise nil.
     */
-    public convenience init?(fileName:String? = UsergridAsset.DEFAULT_FILE_NAME, fileURL:NSURL, contentType:String? = nil) {
-        if fileURL.isFileReferenceURL(), let assetData = NSData(contentsOfURL: fileURL) {
-            var fileNameToUse = fileName
+    public convenience init?(filename:String? = UsergridAsset.DEFAULT_FILE_NAME, fileURL:NSURL, contentType:String? = nil) {
+        if fileURL.fileURL, let assetData = NSData(contentsOfURL: fileURL) {
+            var fileNameToUse = filename
             if fileNameToUse != UsergridAsset.DEFAULT_FILE_NAME, let inferredFileName = fileURL.lastPathComponent {
                 fileNameToUse = inferredFileName
             }
@@ -135,7 +135,7 @@
                 return nil
             }
         } else {
-            print("Usergrid Error: fileURL parameter must be a file reference URL.")
+            print("Usergrid Error: fileURL parameter must be a file URL.")
             self.init(filename:"",data:NSData(),contentType:"")
             return nil
         }
diff --git a/sdks/swift/Source/UsergridAuth.swift b/sdks/swift/Source/UsergridAuth.swift
index a8879b2..e87e9c1 100644
--- a/sdks/swift/Source/UsergridAuth.swift
+++ b/sdks/swift/Source/UsergridAuth.swift
@@ -104,7 +104,7 @@
 
     - parameter aDecoder: The decoder.
 
-    - returns: A decoded `UsergridUser` object.
+    - returns: A decoded `UsergridAuth` object.
     */
     required public init?(coder aDecoder: NSCoder) {
         self.accessToken = aDecoder.decodeObjectForKey("accessToken") as? String
@@ -177,7 +177,7 @@
 
     - parameter aDecoder: The decoder.
 
-    - returns: A decoded `UsergridUser` object.
+    - returns: A decoded `UsergridUserAuth` object.
     */
     required public init?(coder aDecoder: NSCoder) {
         guard let username = aDecoder.decodeObjectForKey("username") as? String,
@@ -247,7 +247,7 @@
 
     - parameter aDecoder: The decoder.
 
-    - returns: A decoded `UsergridUser` object.
+    - returns: A decoded `UsergridAppAuth` object.
     */
     required public init?(coder aDecoder: NSCoder) {
         guard let clientId = aDecoder.decodeObjectForKey("clientId") as? String,
diff --git a/sdks/swift/Source/UsergridClient.swift b/sdks/swift/Source/UsergridClient.swift
index 9cb6aa7..2b3eb6b 100644
--- a/sdks/swift/Source/UsergridClient.swift
+++ b/sdks/swift/Source/UsergridClient.swift
@@ -51,7 +51,7 @@
     public var baseUrl : String { return config.baseUrl }
 
     /// The constructed URL string based on the `UsergridClient`'s `baseUrl`, `orgId`, and `appId`.
-    internal var clientAppURL : String { return "\(baseUrl)/\(orgId)/\(appId)" }
+    public var clientAppURL : String { return "\(baseUrl)/\(orgId)/\(appId)" }
 
     /// Whether or not the current user will be saved and restored from the keychain.
     public var persistCurrentUserInKeychain: Bool {
@@ -78,16 +78,16 @@
     /// The temporary `UsergridAuth` object that is set when calling the `UsergridClient.usingAuth()` method.
     private var tempAuth: UsergridAuth? = nil
 
-    /// The application level `UsergridAppAuth` object.  Can be set manually but must call `authenticateApp` to retrive token.
+    /// The application level `UsergridAppAuth` object.  Can be set manually but must call `authenticateApp` to retrieve token.
     public var appAuth: UsergridAppAuth? {
         get { return config.appAuth }
         set(auth) { config.appAuth = auth }
     }
 
-    /// The `UsergridAuthFallback` value used to determine what type of token will be sent, if any.
-    public var authFallback: UsergridAuthFallback {
-        get { return config.authFallback }
-        set(fallback) { config.authFallback = fallback }
+    /// The `UsergridAuthMode` value used to determine what type of token will be sent, if any.
+    public var authMode: UsergridAuthMode {
+        get { return config.authMode }
+        set(mode) { config.authMode = mode }
     }
 
     // MARK: - Initialization -
@@ -196,7 +196,12 @@
     */
     public func applyPushToken(device: UsergridDevice, pushToken: NSData, notifierID: String, completion: UsergridResponseCompletion? = nil) {
         device.applyPushToken(pushToken, notifierID: notifierID)
-        device.save(self, completion: completion)
+        self.PUT("devices", jsonBody: device.jsonObjectValue) { (response) in
+            if let responseEntity = response.entity {
+                device.copyInternalsFromEntity(responseEntity)
+            }
+            completion?(response: response)
+        }
     }
 
     // MARK: - Authorization and User Management -
@@ -208,19 +213,33 @@
 
     If there is a `UsergridUser` logged in and the token of that user is valid then it will return that.
 
-    Otherwise, if the `authFallback` is `.App`, and the `UsergridAppAuth` of the client is set and the token is valid it will return that.
+    Otherwise, if the `authMode` is `.App`, and the `UsergridAppAuth` of the client is set and the token is valid it will return that.
 
     - returns: The `UsergridAuth` if one is found or nil if not.
     */
-    internal func authForRequests() -> UsergridAuth? {
+    public func authForRequests() -> UsergridAuth? {
         var usergridAuth: UsergridAuth?
-        if let tempAuth = self.tempAuth where tempAuth.isValid {
-            usergridAuth = tempAuth
+        if let tempAuth = self.tempAuth {
+            if tempAuth.isValid {
+                usergridAuth = tempAuth
+            }
             self.tempAuth = nil
-        } else if let userAuth = self.userAuth where userAuth.isValid {
-            usergridAuth = userAuth
-        } else if self.authFallback == .App, let appAuth = self.appAuth where appAuth.isValid {
-            usergridAuth = appAuth
+        } else {
+            switch(self.authMode) {
+                case .User:
+                    if let userAuth = self.userAuth where userAuth.isValid {
+                        usergridAuth = userAuth
+                    }
+                    break
+                case .App:
+                    if let appAuth = self.appAuth where appAuth.isValid {
+                        usergridAuth = appAuth
+                    }
+                    break
+                case .None:
+                    usergridAuth = nil
+                    break
+            }
         }
         return usergridAuth
     }
@@ -319,7 +338,7 @@
     }
 
     /**
-     Changes the give `UsergridUser`'s current password with the shared instance of `UsergridClient`.
+     Changes the given `UsergridUser`'s current password.
 
      - parameter user:       The user.
      - parameter old:        The old password.
@@ -357,13 +376,7 @@
             return
         }
 
-        self.logoutUser(uuidOrUsername, token: token) { (response) -> Void in
-            if response.ok || response.error?.errorName == "auth_bad_access_token" {
-                self.currentUser?.auth = nil
-                self.currentUser = nil
-            }
-            completion?(response: response)
-        }
+        self.logoutUser(uuidOrUsername, token: token)
     }
 
     /**
@@ -396,7 +409,16 @@
                                       paths: paths,
                                       auth: self.authForRequests(),
                                       queryParams: queryParams)
-        self.sendRequest(request, completion: completion)
+
+        self.sendRequest(request) { response in
+            if uuidOrUsername == self.currentUser?.uuidOrUsername { // Check to see if this user is the currentUser
+                if response.ok || response.error?.errorName == "auth_bad_access_token" { // If the logout was successful or if we have a bad token reset things.
+                    self.currentUser?.auth = nil
+                    self.currentUser = nil
+                }
+            }
+            completion?(response: response)
+        }
     }
 
     // MARK: - Generic Request Methods -
@@ -807,7 +829,7 @@
     - parameter query:        The optional query.
     - parameter completion:   The optional completion block that will be called once the request has completed.
     */
-    public func getConnections(direction:UsergridDirection, entity:UsergridEntity, relationship:String, query:UsergridQuery?, completion:UsergridResponseCompletion? = nil) {
+    public func getConnections(direction:UsergridDirection, entity:UsergridEntity, relationship:String, query:UsergridQuery? = nil, completion:UsergridResponseCompletion? = nil) {
         guard let uuidOrName = entity.uuidOrName
         else {
             completion?(response: UsergridResponse(client: self, errorName: "Invalid Entity Get Connections Attempt.", errorDescription: "The entity must have a `uuid` or `name` assigned."))
@@ -826,7 +848,7 @@
      - parameter query:            The optional query.
      - parameter completion:       The optional completion block that will be called once the request has completed.
      */
-    public func getConnections(direction:UsergridDirection, type:String, uuidOrName:String, relationship:String, query:UsergridQuery?, completion:UsergridResponseCompletion? = nil) {
+    public func getConnections(direction:UsergridDirection, type:String, uuidOrName:String, relationship:String, query:UsergridQuery? = nil, completion:UsergridResponseCompletion? = nil) {
         let request = UsergridRequest(method: .Get,
                                       baseUrl: self.clientAppURL,
                                       paths: [type, uuidOrName, direction.connectionValue, relationship],
@@ -844,7 +866,7 @@
      - parameter query:        The optional query.
      - parameter completion:   The optional completion block that will be called once the request has completed.
      */
-    public func getConnections(direction:UsergridDirection, uuid:String, relationship:String, query:UsergridQuery?, completion:UsergridResponseCompletion? = nil) {
+    public func getConnections(direction:UsergridDirection, uuid:String, relationship:String, query:UsergridQuery? = nil, completion:UsergridResponseCompletion? = nil) {
         let request = UsergridRequest(method: .Get,
             baseUrl: self.clientAppURL,
             paths: [uuid, direction.connectionValue, relationship],
@@ -869,9 +891,14 @@
                                                       auth: self.authForRequests(),
                                                       asset: asset)
 
-        _requestManager.performAssetUpload(assetRequest, progress: progress) { [weak entity] (response, asset, error) -> Void in
-            entity?.asset = asset
-            completion?(response: response, asset: asset, error: error)
+        _requestManager.performAssetUpload(assetRequest, progress: progress) { asset, response in
+            if response.ok {
+                entity.asset = asset
+                if let responseEntityFileMetaData = response.entity?.fileMetaData {
+                    entity.fileMetaData = responseEntityFileMetaData
+                }
+            }
+            completion?(asset: asset, response: response)
         }
     }
 
@@ -886,7 +913,7 @@
     public func downloadAsset(entity:UsergridEntity, contentType:String, progress:UsergridAssetRequestProgress? = nil, completion:UsergridAssetDownloadCompletion? = nil) {
         guard entity.hasAsset
         else {
-            completion?(asset: nil, error: "Entity does not have an asset attached.")
+            completion?(asset: nil, error: UsergridResponseError(errorName: "Download asset failed.", errorDescription: "Entity does not have an asset attached."))
             return
         }
 
diff --git a/sdks/swift/Source/UsergridClientConfig.swift b/sdks/swift/Source/UsergridClientConfig.swift
index 2719610..64ebd4f 100644
--- a/sdks/swift/Source/UsergridClientConfig.swift
+++ b/sdks/swift/Source/UsergridClientConfig.swift
@@ -44,8 +44,8 @@
     /// The base URL that all calls will be made with.
     public var baseUrl: String = UsergridClient.DEFAULT_BASE_URL
 
-    /// The `UsergridAuthFallback` value used to determine what type of token will be sent, if any.
-    public var authFallback: UsergridAuthFallback = .None
+    /// The `UsergridAuthMode` value used to determine what type of token will be sent, if any.
+    public var authMode: UsergridAuthMode = .User
 
     /// Whether or not the `UsergridClient` current user will be saved and restored from the keychain.
     public var persistCurrentUserInKeychain: Bool = true
@@ -92,16 +92,16 @@
     - parameter orgId:                          The organization identifier.
     - parameter appId:                          The application identifier.
     - parameter baseUrl:                        The base URL that all calls will be made with.
-    - parameter authFallback:                   The `UsergridAuthFallback` value used to determine what type of token will be sent, if any.
+    - parameter authMode:                       The `UsergridAuthMode` value used to determine what type of token will be sent, if any.
     - parameter persistCurrentUserInKeychain:   Whether or not the `UsergridClient` current user will be saved and restored from the keychain.
     - parameter appAuth:                        The application level `UsergridAppAuth` object.
 
     - returns: A new instance of `UsergridClientConfig`.
     */
-    public convenience init(orgId: String, appId: String, baseUrl:String, authFallback:UsergridAuthFallback, persistCurrentUserInKeychain: Bool = true, appAuth:UsergridAppAuth? = nil) {
+    public convenience init(orgId: String, appId: String, baseUrl:String, authMode:UsergridAuthMode, persistCurrentUserInKeychain: Bool = true, appAuth:UsergridAppAuth? = nil) {
         self.init(orgId:orgId,appId:appId,baseUrl:baseUrl)
         self.persistCurrentUserInKeychain = persistCurrentUserInKeychain
-        self.authFallback = authFallback
+        self.authMode = authMode
         self.appAuth = appAuth
     }
 
@@ -129,7 +129,7 @@
         self.baseUrl = baseUrl
         self.appAuth = aDecoder.decodeObjectForKey("appAuth") as? UsergridAppAuth
         self.persistCurrentUserInKeychain = aDecoder.decodeBoolForKey("persistCurrentUserInKeychain") ?? true
-        self.authFallback = UsergridAuthFallback(rawValue:aDecoder.decodeIntegerForKey("authFallback")) ?? .App
+        self.authMode = UsergridAuthMode(rawValue:aDecoder.decodeIntegerForKey("authMode")) ?? .None
         super.init()
     }
 
@@ -144,6 +144,6 @@
         aCoder.encodeObject(self.baseUrl, forKey: "baseUrl")
         aCoder.encodeObject(self.appAuth, forKey: "appAuth")
         aCoder.encodeBool(self.persistCurrentUserInKeychain, forKey: "persistCurrentUserInKeychain")
-        aCoder.encodeInteger(self.authFallback.rawValue, forKey: "authFallback")
+        aCoder.encodeInteger(self.authMode.rawValue, forKey: "authMode")
     }
 }
diff --git a/sdks/swift/Source/UsergridDevice.swift b/sdks/swift/Source/UsergridDevice.swift
index 995470c..004c42c 100644
--- a/sdks/swift/Source/UsergridDevice.swift
+++ b/sdks/swift/Source/UsergridDevice.swift
@@ -46,9 +46,6 @@
 
     // MARK: - Instance Properties -
 
-    /// Property helper method for the `UsergridDevice` objects `uuid`.
-    override public var uuid: String! { return super[UsergridEntityProperties.UUID.stringValue] as! String }
-
     /// Property helper method for the `UsergridDevice` objects device model.
     public var model: String { return super[UsergridDeviceProperties.Model.stringValue] as! String }
 
@@ -110,6 +107,44 @@
     }
 
     /**
+     Performs a PUT (or POST if no UUID is found) on the `UsergridDevice` using the shared instance of `UsergridClient`.
+     
+     If this device is equal to `UsergridDevice.sharedDevice` it will also update the shared device on the keychain.
+
+     - parameter completion: An optional completion block that, if successful, will contain the updated/saved `UsergridEntity` object.
+     */
+    public override func save(completion: UsergridResponseCompletion? = nil) {
+        self.save(Usergrid.sharedInstance, completion: completion)
+    }
+
+
+    /**
+     Performs a PUT (or POST if no UUID is found) on the `UsergridDevice`.
+
+     If this device is equal to `UsergridDevice.sharedDevice` it will also update the shared device on the keychain.
+
+     - parameter client:     The client to use when saving.
+     - parameter completion: An optional completion block that, if successful, will contain the updated/saved `UsergridEntity` object.
+     */
+    public override func save(client: UsergridClient, completion: UsergridResponseCompletion? = nil) {
+        super.save(client) { (response) in
+            if( response.ok ) {
+                if( self == UsergridDevice.sharedDevice || self.isEqualToEntity(UsergridDevice.sharedDevice)) {
+                    UsergridDevice.saveSharedDeviceToKeychain()
+                }
+            }
+            completion?(response:response)
+        }
+    }
+
+    /**
+     Saves the `UsergridDevice.sharedDevice` to the keychain.
+     */
+    public static func saveSharedDeviceToKeychain() {
+        UsergridDevice.saveSharedDeviceKeychainItem(UsergridDevice.sharedDevice)
+    }
+
+    /**
     Subscript for the `UsergridDevice` class. Note that all of the `UsergridDeviceProperties` are immutable.
 
     - Warning: When setting a properties value must be a valid JSON object.
diff --git a/sdks/swift/Source/UsergridEntity.swift b/sdks/swift/Source/UsergridEntity.swift
index 5baaba4..dd169ed 100644
--- a/sdks/swift/Source/UsergridEntity.swift
+++ b/sdks/swift/Source/UsergridEntity.swift
@@ -50,10 +50,10 @@
     }
 
     /// The `UsergridAsset` that contains the asset data.
-    public var asset: UsergridAsset?
+    internal(set) public var asset: UsergridAsset?
 
     /// The `UsergridFileMetaData` of this `UsergridEntity`.
-    private(set) public var fileMetaData : UsergridFileMetaData?
+    internal(set) public var fileMetaData : UsergridFileMetaData?
 
     /// Property helper method for the `UsergridEntity` objects `UsergridEntityProperties.EntityType`.
     public var type: String { return self.getEntitySpecificProperty(.EntityType) as! String }
@@ -115,6 +115,7 @@
     required public init(type:String, name:String? = nil, propertyDict:[String:AnyObject]? = nil) {
         self.properties = propertyDict ?? [:]
         super.init()
+
         if self is UsergridUser {
             self.properties[UsergridEntityProperties.EntityType.stringValue] = UsergridUser.USER_ENTITY_TYPE
         } else if self is UsergridDevice {
@@ -122,9 +123,14 @@
         } else {
             self.properties[UsergridEntityProperties.EntityType.stringValue] = type
         }
+
         if let entityName = name {
             self.properties[UsergridEntityProperties.Name.stringValue] = entityName
         }
+
+        if let fileMetaData = self.properties.removeValueForKey(UsergridFileMetaData.FILE_METADATA) as? [String:AnyObject] {
+            self.fileMetaData = UsergridFileMetaData(fileMetaDataJSON: fileMetaData)
+        }
     }
 
     internal func copyInternalsFromEntity(entity:UsergridEntity) {
@@ -149,15 +155,13 @@
     - returns: A `UsergridEntity` object provided that the `type` key within the dictionay exists. Otherwise nil.
     */
     public class func entity(jsonDict jsonDict: [String:AnyObject]) -> UsergridEntity? {
-        if let type = jsonDict[UsergridEntityProperties.EntityType.stringValue] as? String {
-            if let mapping = UsergridEntity.subclassMappings[type] {
-                return mapping.init(type: type,propertyDict:jsonDict)
-            } else {
-                return UsergridEntity(type:type, propertyDict:jsonDict)
-            }
-        } else {
-            return nil
+        guard let type = jsonDict[UsergridEntityProperties.EntityType.stringValue] as? String
+            else {
+                return nil
         }
+
+        let mapping = UsergridEntity.subclassMappings[type] ?? UsergridEntity.self
+        return mapping.init(type: type, propertyDict: jsonDict)
     }
 
     /**
@@ -392,17 +396,17 @@
     private func getEntitySpecificProperty(entityProperty: UsergridEntityProperties) -> AnyObject? {
         var propertyValue: AnyObject? = nil
         switch entityProperty {
-        case .UUID,.EntityType,.Name :
-            propertyValue = self.properties[entityProperty.stringValue]
-        case .Created,.Modified :
-            if let utcTimeStamp = self.properties[entityProperty.stringValue] as? Int {
-                propertyValue = NSDate(utcTimeStamp: utcTimeStamp.description)
+            case .UUID,.EntityType,.Name :
+                propertyValue = self.properties[entityProperty.stringValue]
+            case .Created,.Modified :
+                if let milliseconds = self.properties[entityProperty.stringValue] as? Int {
+                    propertyValue = NSDate(milliseconds: milliseconds.description)
+                }
+            case .Location :
+                if let locationDict = self.properties[entityProperty.stringValue] as? [String:Double], lat = locationDict[ENTITY_LATITUDE], long = locationDict[ENTITY_LONGITUDE] {
+                    propertyValue = CLLocation(latitude: lat, longitude: long)
+                }
             }
-        case .Location :
-            if let locationDict = self.properties[entityProperty.stringValue] as? [String:Double], lat = locationDict[ENTITY_LATITUDE], long = locationDict[ENTITY_LONGITUDE] {
-                propertyValue = CLLocation(latitude: lat, longitude: long)
-            }
-        }
         return propertyValue
     }
 
@@ -424,15 +428,17 @@
     - parameter completion: An optional completion block that, if successful, will contain the reloaded `UsergridEntity` object.
     */
     public func reload(client:UsergridClient, completion: UsergridResponseCompletion? = nil) {
-        if let uuidOrName = self.uuidOrName {
-            client.GET(self.type, uuidOrName: uuidOrName) { (response) -> Void in
-                if let responseEntity = response.entity {
-                    self.copyInternalsFromEntity(responseEntity)
-                }
-                completion?(response: response)
+        guard let uuidOrName = self.uuidOrName
+            else {
+                completion?(response: UsergridResponse(client: client, errorName: "Entity cannot be reloaded.", errorDescription: "Entity has neither an UUID or name specified."))
+                return
+        }
+
+        client.GET(self.type, uuidOrName: uuidOrName) { response in
+            if let responseEntity = response.entity {
+                self.copyInternalsFromEntity(responseEntity)
             }
-        } else {
-            completion?(response: UsergridResponse(client: client, errorName: "Entity cannot be reloaded.", errorDescription: "Entity has neither an UUID or name specified."))
+            completion?(response: response)
         }
     }
 
@@ -453,19 +459,19 @@
     */
     public func save(client:UsergridClient, completion: UsergridResponseCompletion? = nil) {
         if let _ = self.uuid { // If UUID exists we PUT otherwise POST
-            client.PUT(self, completion: { (response) -> Void in
+            client.PUT(self) { response in
                 if let responseEntity = response.entity {
                     self.copyInternalsFromEntity(responseEntity)
                 }
                 completion?(response: response)
-            })
+            }
         } else {
-            client.POST(self, completion: { (response) -> Void in
+            client.POST(self) { response in
                 if let responseEntity = response.entity {
                     self.copyInternalsFromEntity(responseEntity)
                 }
                 completion?(response: response)
-            })
+            }
         }
     }
 
@@ -475,7 +481,7 @@
     - parameter completion: An optional completion block.
     */
     public func remove(completion: UsergridResponseCompletion? = nil) {
-        Usergrid.sharedInstance.DELETE(self, completion: completion)
+        self.remove(Usergrid.sharedInstance, completion: completion)
     }
 
     /**
@@ -498,7 +504,7 @@
     - parameter completion: An optional completion block.
     */
     public func uploadAsset(asset:UsergridAsset, progress:UsergridAssetRequestProgress? = nil, completion:UsergridAssetUploadCompletion? = nil) {
-        Usergrid.sharedInstance.uploadAsset(self, asset: asset, progress:progress, completion:completion)
+        self.uploadAsset(Usergrid.sharedInstance, asset: asset, progress: progress, completion: completion)
     }
 
     /**
@@ -521,7 +527,7 @@
     - parameter completion:  An optional completion block.
     */
     public func downloadAsset(contentType:String, progress:UsergridAssetRequestProgress? = nil, completion:UsergridAssetDownloadCompletion? = nil) {
-        Usergrid.sharedInstance.downloadAsset(self, contentType: contentType, progress:progress, completion: completion)
+        self.downloadAsset(Usergrid.sharedInstance, contentType: contentType, progress: progress, completion: completion)
     }
 
     /**
@@ -546,7 +552,7 @@
     - parameter completion:   An optional completion block.
     */
     public func connect(relationship:String, toEntity:UsergridEntity, completion: UsergridResponseCompletion? = nil) {
-        Usergrid.sharedInstance.connect(self, relationship: relationship, to: toEntity, completion: completion)
+        self.connect(Usergrid.sharedInstance, relationship: relationship, toEntity: toEntity, completion: completion)
     }
 
     /**
@@ -569,7 +575,7 @@
     - parameter completion:   An optional completion block.
     */
     public func disconnect(relationship:String, fromEntity:UsergridEntity, completion: UsergridResponseCompletion? = nil) {
-        Usergrid.sharedInstance.disconnect(self, relationship: relationship, from: fromEntity, completion: completion)
+        self.disconnect(Usergrid.sharedInstance, relationship: relationship, fromEntity: fromEntity, completion: completion)
     }
 
     /**
@@ -592,8 +598,8 @@
     - parameter query:          The optional query.
     - parameter completion:     An optional completion block.
     */
-    public func getConnections(direction:UsergridDirection, relationship:String, query:UsergridQuery?, completion:UsergridResponseCompletion? = nil) {
-        Usergrid.sharedInstance.getConnections(direction, entity: self, relationship: relationship, query:query, completion: completion)
+    public func getConnections(direction:UsergridDirection, relationship:String, query:UsergridQuery? = nil, completion:UsergridResponseCompletion? = nil) {
+        self.getConnections(Usergrid.sharedInstance, direction: direction, relationship: relationship, query: query, completion: completion)
     }
 
     /**
@@ -605,7 +611,25 @@
     - parameter query:        The optional query.
     - parameter completion:   An optional completion block.
     */
-    public func getConnections(client:UsergridClient, direction:UsergridDirection, relationship:String, query:UsergridQuery?, completion:UsergridResponseCompletion? = nil) {
+    public func getConnections(client:UsergridClient, direction:UsergridDirection, relationship:String, query:UsergridQuery? = nil, completion:UsergridResponseCompletion? = nil) {
         client.getConnections(direction, entity: self, relationship: relationship, query:query, completion: completion)
     }
+
+    // MARK: - Helper methods -
+
+    /**
+     Determines if the two `UsergridEntity` objects are equal.  i.e. they have the same non nil uuidOrName.
+
+     - parameter entity: The entity to check.
+
+     - returns: If the two `UsergridEntity` objects are equal.  i.e. they have the same non nil uuidOrName.
+     */
+    public func isEqualToEntity(entity: UsergridEntity?) -> Bool {
+        guard let selfUUID = self.uuidOrName,
+              let entityUUID = entity?.uuidOrName
+            else {
+                return false
+        }
+        return selfUUID == entityUUID
+    }
 }
\ No newline at end of file
diff --git a/sdks/swift/Source/UsergridEnums.swift b/sdks/swift/Source/UsergridEnums.swift
index 1cc0c9c..fd0b625 100644
--- a/sdks/swift/Source/UsergridEnums.swift
+++ b/sdks/swift/Source/UsergridEnums.swift
@@ -27,26 +27,28 @@
 import Foundation
 
 /**
-An enumeration that is used to determine what the `UsergridClient` will fallback to depending on certain authorization conditions.
+An enumeration that is used to determine what the `UsergridClient` will use for authorization.
 */
-@objc public enum UsergridAuthFallback : Int {
+@objc public enum UsergridAuthMode : Int {
 
     // MARK: - Values -
 
     /**
-    If a non-expired user auth token exists in `UsergridClient.currentUser`, this token is used to authenticate all API calls.
-
     If the API call fails, the activity is treated as a failure with an appropriate HTTP status code.
-
-    If a non-expired user auth token does not exist, all API calls will be made unauthenticated.
     */
     case None
+
     /**
-    If a non-expired user auth token exists in `UsergridClient.currentUser`, this token is used to authenticate all API calls.
+     If a non-expired `UsergridUserAuth` exists in `UsergridClient.currentUser`, this token is used to authenticate all API calls.
 
-    If the API call fails, the activity is treated as a failure with an appropriate HTTP status code (This behavior is identical to authFallback=.None).
+     If the API call fails, the activity is treated as a failure with an appropriate HTTP status code (This behavior is identical to authMode=.None).
+     */
+    case User
 
-    If a non-expired user auth does not exist, all API calls will be made using stored app auth.
+    /**
+    If a non-expired `UsergridAppAuth` exists in `UsergridClient.appAuth`, this token is used to authenticate all API calls.
+
+    If the API call fails, the activity is treated as a failure with an appropriate HTTP status code (This behavior is identical to authMode=.None).
     */
     case App
 }
@@ -406,7 +408,7 @@
 
 let DEVICE_MODEL = "deviceModel"
 let DEVICE_PLATFORM = "devicePlatform"
-let DEVICE_OSVERSION = "devicePlatform"
+let DEVICE_OSVERSION = "deviceOSVersion"
 
 let ASSET_IMAGE_PNG = "image/png"
 let ASSET_IMAGE_JPEG = "image/jpeg"
diff --git a/sdks/swift/Source/UsergridExtensions.swift b/sdks/swift/Source/UsergridExtensions.swift
index 050145c..30ff3a7 100644
--- a/sdks/swift/Source/UsergridExtensions.swift
+++ b/sdks/swift/Source/UsergridExtensions.swift
@@ -26,12 +26,74 @@
 
 import Foundation
 
-internal extension NSDate {
-    convenience init(utcTimeStamp: String) {
-        self.init(timeIntervalSince1970: (utcTimeStamp as NSString).doubleValue / 1000 )
+private let kUsergrid_Milliseconds_Per_Second = 1000
+
+/// Extension methods to help create and manipulate `NSDate` objects returned by Usergrid.
+public extension NSDate {
+    /**
+     Creates a new `NSDate` object with the given milliseconds.
+
+     - parameter milliseconds: the milliseconds
+
+     - returns: A new `NSDate` object.
+     */
+    public convenience init(milliseconds: String) {
+        self.init(timeIntervalSince1970: (milliseconds as NSString).doubleValue / Double(kUsergrid_Milliseconds_Per_Second) )
     }
-    func utcTimeStamp() -> Int {
-        return Int(self.timeIntervalSince1970 * 1000)
+    /**
+     Converts the `NSDate` object to milliseconds.
+
+     - returns: The number of milliseconds corresponding to the date.
+     */
+    public func dateAsMilliseconds() -> Int {
+        return Int(self.timeIntervalSince1970 * Double(kUsergrid_Milliseconds_Per_Second))
+    }
+    /**
+     Converts the `NSDate` object to milliseconds and returns the value as a string.
+
+     - returns: The number of milliseconds corresponding to the date as a string.
+     */
+    public func dateAsMillisecondsString() -> String {
+        return NSDate.stringFromMilleseconds(self.dateAsMilliseconds())
+    }
+    /**
+     Converts the number of milliseconds to a string.
+
+     - parameter milliseconds: the milliseconds to convert
+
+     - returns: The milliseconds as a string.
+     */
+    public static func stringFromMilleseconds(milliseconds:Int) -> String {
+        return NSNumber(longLong: Int64(milliseconds)).stringValue
+    }
+    /**
+     Converts the `NSDate` object to the corresponding UNIX time stamp as a string.
+
+     - returns: The UNIX time stamp as a string.
+     */
+    public static func unixTimeStampString() -> String {
+        return NSDate.stringFromMilleseconds(NSDate.nowAsMilliseconds())
+    }
+    /**
+     Converts the `NSDate` object to the corresponding UNIX time stamp.
+
+     - returns: The UNIX time stamp.
+     */
+    public static func unixTimeStamp() -> Int {
+        return NSDate.nowAsMilliseconds()
+    }
+    /**
+     Converts the current date to milliseconds.
+
+     - returns: The milliseconds of the current date.
+     */
+    public static func nowAsMilliseconds() -> Int {
+        var tv = timeval()
+        let currentMillisecondTime = withUnsafeMutablePointer(&tv, { (t: UnsafeMutablePointer<timeval>) -> Int in
+            gettimeofday(t, nil)
+            return (Int(t.memory.tv_sec) * kUsergrid_Milliseconds_Per_Second) + (Int(t.memory.tv_usec) / kUsergrid_Milliseconds_Per_Second)
+        })
+        return currentMillisecondTime
     }
 }
 
@@ -39,4 +101,12 @@
     func isUuid() -> Bool {
         return (NSUUID(UUIDString: self) != nil) ? true : false
     }
-}
\ No newline at end of file
+}
+
+internal extension Dictionary {
+    mutating func update(other:Dictionary) {
+        for (key,value) in other {
+            self.updateValue(value, forKey:key)
+        }
+    }
+}
diff --git a/sdks/swift/Source/UsergridFileMetaData.swift b/sdks/swift/Source/UsergridFileMetaData.swift
index c3e7f52..4908430 100644
--- a/sdks/swift/Source/UsergridFileMetaData.swift
+++ b/sdks/swift/Source/UsergridFileMetaData.swift
@@ -70,7 +70,7 @@
         self.lastModifiedTimeStamp = fileMetaDataJSON["last-modified"] as? Int ?? 0
 
         if self.lastModifiedTimeStamp > 0 {
-            self.lastModifiedDate = NSDate(utcTimeStamp: self.lastModifiedTimeStamp.description)
+            self.lastModifiedDate = NSDate(milliseconds: self.lastModifiedTimeStamp.description)
         } else {
             self.lastModifiedDate = nil
         }
@@ -93,7 +93,7 @@
         self.lastModifiedTimeStamp = aDecoder.decodeIntegerForKey("last-modified") ?? 0
 
         if self.lastModifiedTimeStamp > 0 {
-            self.lastModifiedDate = NSDate(utcTimeStamp: self.lastModifiedTimeStamp.description)
+            self.lastModifiedDate = NSDate(milliseconds: self.lastModifiedTimeStamp.description)
         } else {
             self.lastModifiedDate = nil
         }
diff --git a/sdks/swift/Source/UsergridQuery.swift b/sdks/swift/Source/UsergridQuery.swift
index 7d08e35..c2a7000 100644
--- a/sdks/swift/Source/UsergridQuery.swift
+++ b/sdks/swift/Source/UsergridQuery.swift
@@ -528,7 +528,7 @@
             urlAppend += "\(UsergridQuery.CURSOR)=\(cursorString)"
         }
         
-        var requirementsString = self.constructRequirementString()
+        var requirementsString = UsergridQuery.SELECT_ALL + UsergridQuery.SPACE + self.constructRequirementString()
         let orderByString = self.constructOrderByString()
         if !orderByString.isEmpty {
             requirementsString += orderByString
@@ -577,6 +577,7 @@
     private static let ORDER_BY = "order by"
     private static let QL = "ql"
     private static let QUESTION_MARK = "?"
+    private static let SELECT_ALL = "select *"
     private static let SPACE = " "
     private static let WITHIN = "within"
     
diff --git a/sdks/swift/Source/UsergridRequest.swift b/sdks/swift/Source/UsergridRequest.swift
index dd1f561..0a651e2 100644
--- a/sdks/swift/Source/UsergridRequest.swift
+++ b/sdks/swift/Source/UsergridRequest.swift
@@ -177,7 +177,7 @@
 
     private static let AUTHORIZATION = "Authorization"
     private static let ACCESS_TOKEN = "access_token"
-    private static let APPLICATION_JSON = "application/json"
+    private static let APPLICATION_JSON = "application/json; charset=utf-8"
     private static let BEARER = "Bearer"
     private static let CONTENT_LENGTH = "Content-Length"
     private static let CONTENT_TYPE = "Content-Type"
diff --git a/sdks/swift/Source/UsergridRequestManager.swift b/sdks/swift/Source/UsergridRequestManager.swift
index ccd41e5..46a4213 100644
--- a/sdks/swift/Source/UsergridRequestManager.swift
+++ b/sdks/swift/Source/UsergridRequestManager.swift
@@ -53,7 +53,7 @@
 
         self.session = NSURLSession(configuration:  config,
                                     delegate:       UsergridSessionDelegate(),
-                                    delegateQueue:  NSOperationQueue.mainQueue())
+                                    delegateQueue:  nil)
     }
 
     deinit {
@@ -62,7 +62,10 @@
 
     func performRequest(request:UsergridRequest, completion:UsergridResponseCompletion?) {
         session.dataTaskWithRequest(request.buildNSURLRequest()) { [weak self] (data, response, error) -> Void in
-            completion?(response: UsergridResponse(client:self?.client, data: data, response: response as? NSHTTPURLResponse, error: error))
+            let response = UsergridResponse(client:self?.client, data: data, response: response as? NSHTTPURLResponse, error: error)
+            dispatch_async(dispatch_get_main_queue()) {
+                completion?(response: response)
+            }
         }.resume()
     }
 }
@@ -71,7 +74,7 @@
 // MARK: - Authentication -
 extension UsergridRequestManager {
 
-    static func getTokenAndExpiryFromResponseJSON(jsonDict:[String:AnyObject]) -> (String?,NSDate?) {
+    static func getTokenAndExpiryFromResponseJSON(jsonDict:[String:AnyObject]) -> (token:String?,expiry:NSDate?) {
         var token: String? = nil
         var expiry: NSDate? = nil
         if let accessToken = jsonDict["access_token"] as? String {
@@ -79,7 +82,7 @@
         }
         if let expiresIn = jsonDict["expires_in"] as? Int {
             let expiresInAdjusted = expiresIn - 5000
-            expiry = NSDate(timeIntervalSinceNow: Double(expiresInAdjusted))
+            expiry = NSDate(timeIntervalSinceNow: NSTimeInterval(expiresInAdjusted))
         }
         return (token,expiry)
     }
@@ -87,27 +90,30 @@
     func performUserAuthRequest(userAuth:UsergridUserAuth, request:UsergridRequest, completion:UsergridUserAuthCompletionBlock?) {
         session.dataTaskWithRequest(request.buildNSURLRequest()) { (data, response, error) -> Void in
             let dataAsJSON = try! NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)
+
+            var createdUser: UsergridUser? = nil
+            var responseError: UsergridResponseError? = nil
+
             if let jsonDict = dataAsJSON as? [String:AnyObject] {
                 let tokenAndExpiry = UsergridRequestManager.getTokenAndExpiryFromResponseJSON(jsonDict)
-                userAuth.accessToken = tokenAndExpiry.0
-                userAuth.expiry = tokenAndExpiry.1
+                userAuth.accessToken = tokenAndExpiry.token
+                userAuth.expiry = tokenAndExpiry.expiry
 
-                var user: UsergridUser?
                 if let userDict = jsonDict[UsergridUser.USER_ENTITY_TYPE] as? [String:AnyObject] {
-                    if let createdUser = UsergridEntity.entity(jsonDict: userDict) as? UsergridUser {
-                        createdUser.auth = userAuth
-                        user = createdUser
+                    if let newUser = UsergridEntity.entity(jsonDict: userDict) as? UsergridUser {
+                        newUser.auth = userAuth
+                        createdUser = newUser
                     }
                 }
-                if let createdUser = user {
-                    completion?(auth: userAuth, user:createdUser, error: nil)
-                } else {
-                    let error = UsergridResponseError(jsonDictionary: jsonDict) ?? UsergridResponseError(errorName: "Auth Failed.", errorDescription: "Error Description: \(error?.localizedDescription).")
-                    completion?(auth: userAuth, user:nil, error:error)
+                if createdUser == nil {
+                    responseError = UsergridResponseError(jsonDictionary: jsonDict) ?? UsergridResponseError(errorName: "Auth Failed.", errorDescription: "Error Description: \(error?.localizedDescription).")
                 }
             } else {
-                let error = UsergridResponseError(errorName: "Auth Failed.", errorDescription: "Error Description: \(error?.localizedDescription).")
-                completion?(auth: userAuth, user:nil, error: error)
+                responseError = UsergridResponseError(errorName: "Auth Failed.", errorDescription: "Error Description: \(error?.localizedDescription).")
+            }
+
+            dispatch_async(dispatch_get_main_queue()) {
+                completion?(auth: userAuth, user: createdUser, error: responseError)
             }
         }.resume()
     }
@@ -115,14 +121,19 @@
     func performAppAuthRequest(appAuth: UsergridAppAuth, request: UsergridRequest, completion: UsergridAppAuthCompletionBlock?) {
         session.dataTaskWithRequest(request.buildNSURLRequest()) { (data, response, error) -> Void in
             let dataAsJSON = try! NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)
+
+            var responseError: UsergridResponseError? = nil
+
             if let jsonDict = dataAsJSON as? [String:AnyObject] {
                 let tokenAndExpiry = UsergridRequestManager.getTokenAndExpiryFromResponseJSON(jsonDict)
-                appAuth.accessToken = tokenAndExpiry.0
-                appAuth.expiry = tokenAndExpiry.1
-                completion?(auth: appAuth, error: nil)
+                appAuth.accessToken = tokenAndExpiry.token
+                appAuth.expiry = tokenAndExpiry.expiry
             } else {
-                let error = UsergridResponseError(errorName: "Auth Failed.", errorDescription: "Error Description: \(error?.localizedDescription).")
-                completion?(auth: nil, error: error)
+                responseError = UsergridResponseError(errorName: "Auth Failed.", errorDescription: "Error Description: \(error?.localizedDescription).")
+            }
+
+            dispatch_async(dispatch_get_main_queue()) {
+                completion?(auth: appAuth, error: responseError)
             }
         }.resume()
     }
@@ -134,11 +145,17 @@
     func performAssetDownload(contentType:String, usergridRequest:UsergridRequest, progress: UsergridAssetRequestProgress? = nil, completion:UsergridAssetDownloadCompletion? = nil) {
         let downloadTask = session.downloadTaskWithRequest(usergridRequest.buildNSURLRequest())
         let requestWrapper = UsergridAssetRequestWrapper(session: self.session, sessionTask: downloadTask, progress: progress)  { (request) -> Void in
+            var asset: UsergridAsset? = nil
+            var responseError: UsergridResponseError? = nil
+
             if let assetData = request.responseData where assetData.length > 0 {
-                let asset = UsergridAsset(data: assetData, contentType: contentType)
-                completion?(asset: asset, error:nil)
+                asset = UsergridAsset(data: assetData, contentType: contentType)
             } else {
-                completion?(asset: nil, error: "Downloading asset failed.  No data was recieved.")
+                responseError = UsergridResponseError(errorName: "Download Failed.", errorDescription: "Downloading asset failed.  No data was recieved.")
+            }
+
+            dispatch_async(dispatch_get_main_queue()) {
+                completion?(asset: asset, error: responseError)
             }
         }
         self.sessionDelegate.addRequestDelegate(requestWrapper.sessionTask, requestWrapper:requestWrapper)
@@ -148,7 +165,10 @@
     func performAssetUpload(usergridRequest:UsergridAssetUploadRequest, progress:UsergridAssetRequestProgress? = nil, completion: UsergridAssetUploadCompletion? = nil) {
         let uploadTask = session.uploadTaskWithRequest(usergridRequest.buildNSURLRequest(), fromData: usergridRequest.multiPartHTTPBody)
         let requestWrapper = UsergridAssetRequestWrapper(session: self.session, sessionTask: uploadTask, progress: progress)  { [weak self] (request) -> Void in
-            completion?(response: UsergridResponse(client: self?.client, data: request.responseData, response: request.response as? NSHTTPURLResponse, error: request.error),asset:usergridRequest.asset,error:nil)
+            let response = UsergridResponse(client: self?.client, data: request.responseData, response: request.response as? NSHTTPURLResponse, error: request.error)
+            dispatch_async(dispatch_get_main_queue()) {
+                completion?(asset: usergridRequest.asset, response: response)
+            }
         }
         self.sessionDelegate.addRequestDelegate(requestWrapper.sessionTask, requestWrapper:requestWrapper)
         requestWrapper.sessionTask.resume()
diff --git a/sdks/swift/Source/UsergridResponse.swift b/sdks/swift/Source/UsergridResponse.swift
index d2b025d..b9e58ec 100644
--- a/sdks/swift/Source/UsergridResponse.swift
+++ b/sdks/swift/Source/UsergridResponse.swift
@@ -95,11 +95,11 @@
     public var hasNextPage: Bool { return self.cursor != nil }
 
     /// The string value.
-    public var stringValue : String? {
+    public var stringValue : String {
         if let responseJSON = self.responseJSON {
-            return NSString(data: try! NSJSONSerialization.dataWithJSONObject(responseJSON, options: .PrettyPrinted), encoding: NSUTF8StringEncoding) as? String
+            return NSString(data: try! NSJSONSerialization.dataWithJSONObject(responseJSON, options: .PrettyPrinted), encoding: NSUTF8StringEncoding) as? String ?? ""
         } else {
-            return error?.description
+            return error?.description ?? ""
         }
     }
 
diff --git a/sdks/swift/Source/UsergridUser.swift b/sdks/swift/Source/UsergridUser.swift
index 0c98b5f..17415ba 100644
--- a/sdks/swift/Source/UsergridUser.swift
+++ b/sdks/swift/Source/UsergridUser.swift
@@ -291,7 +291,12 @@
     - parameter completion: The optional completion block.
     */
     public func create(client: UsergridClient, completion: UsergridResponseCompletion? = nil) {
-        client.POST(self,completion:completion)
+        client.POST(self) { (response) -> Void in
+            if response.ok, let createdUser = response.user {
+                self.copyInternalsFromEntity(createdUser)
+            }
+            completion?(response: response)
+        }
     }
 
     /**
@@ -364,12 +369,13 @@
      - parameter completion: The optional completion block.
      */
     public func reauthenticate(client: UsergridClient, completion: UsergridUserAuthCompletionBlock? = nil) {
-        if let userAuth = self.auth {
-            client.authenticateUser(userAuth, completion: completion)
-        } else {
-            let error = UsergridResponseError(errorName: "Invalid UsergridUserAuth.", errorDescription: "No UsergridUserAuth found on the UsergridUser.")
-            completion?(auth: nil, user: self, error: error)
+        guard let userAuth = self.auth
+            else {
+                completion?(auth: nil, user: self, error: UsergridResponseError(errorName: "Invalid UsergridUserAuth.", errorDescription: "No UsergridUserAuth found on the UsergridUser."))
+                return
         }
+
+        client.authenticateUser(userAuth, setAsCurrentUser:self.isEqualToEntity(client.currentUser), completion: completion)
     }
 
     /**
@@ -388,15 +394,16 @@
     - parameter completion: The optional completion block.
     */
     public func logout(client: UsergridClient, completion:UsergridResponseCompletion? = nil) {
-        if self === client.currentUser {
-            client.logoutCurrentUser(completion)
-        } else if let uuidOrUsername = self.uuidOrUsername, accessToken = self.auth?.accessToken {
-            client.logoutUser(uuidOrUsername, token: accessToken) { (response) in
-                self.auth = nil
-                completion?(response: response)
-            }
-        } else {
-            completion?(response: UsergridResponse(client:client, errorName:"Logout Failed.", errorDescription:"UUID or Access Token not found on UsergridUser object."))
+        guard let uuidOrUsername = self.uuidOrUsername,
+              let accessToken = self.auth?.accessToken
+            else {
+                completion?(response: UsergridResponse(client:client, errorName:"Logout Failed.", errorDescription:"UUID or Access Token not found on UsergridUser object."))
+                return
+        }
+        
+        client.logoutUser(uuidOrUsername, token: accessToken) { (response) in
+            self.auth = nil
+            completion?(response: response)
         }
     }
 
@@ -420,12 +427,31 @@
     public func connectToDevice(client:UsergridClient, device:UsergridDevice? = nil, completion:UsergridResponseCompletion? = nil) {
         let deviceToConnect = device ?? UsergridDevice.sharedDevice
         guard let _ = deviceToConnect.uuidOrName
-        else {
+            else {
             completion?(response: UsergridResponse(client: client, errorName: "Device cannot be connected to User.", errorDescription: "Device has neither an UUID or name specified."))
             return
         }
 
-        self.connect(client, relationship: "devices", toEntity: deviceToConnect, completion: completion)
+        self.connect(client, relationship: "", toEntity: deviceToConnect, completion: completion)
+    }
+
+    /**
+     Gets the connected device using the shared instance of `UsergridClient`.
+
+     - parameter completion: The optional completion block.
+     */
+    public func getConnectedDevice(completion:UsergridResponseCompletion? = nil) {
+        self.getConnectedDevice(Usergrid.sharedInstance, completion: completion)
+    }
+
+    /**
+     Gets the connected device.
+
+     - parameter client:     The `UsergridClient` object to use for connecting.
+     - parameter completion: The optional completion block.
+     */
+    public func getConnectedDevice(client:UsergridClient, completion:UsergridResponseCompletion? = nil) {
+        client.getConnections(.Out, entity: self, relationship: "device", completion: completion)
     }
 
     /**
@@ -453,7 +479,7 @@
                 return
         }
 
-        self.disconnect(client, relationship: "devices", fromEntity: deviceToDisconnectFrom, completion: completion)
+        self.disconnect(client, relationship: "", fromEntity: deviceToDisconnectFrom, completion: completion)
     }
 
     private func getUserSpecificProperty(userProperty: UsergridUserProperties) -> AnyObject? {
diff --git a/sdks/swift/Tests/ASSET_Tests.swift b/sdks/swift/Tests/ASSET_Tests.swift
index 23c9316..c6f860f 100644
--- a/sdks/swift/Tests/ASSET_Tests.swift
+++ b/sdks/swift/Tests/ASSET_Tests.swift
@@ -29,19 +29,56 @@
 
 class ASSET_Tests: XCTestCase {
 
-    let sharedClient = Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: ClientCreationTests.appId)
-
     static let collectionName = "books"
     static let entityUUID = "f4078aca-2fb1-11e5-8eb2-e13f8369aad1"
-    static let imageLocation = "TestAssets/test.png"
+    static let pngLocation = "TestAssets/test.png"
+    static let jpgLocation = "TestAssets/UsergridGuy.jpg"
     static let imageName = "test"
 
+    override func setUp() {
+        super.setUp()
+        Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: ClientCreationTests.appId)
+        Usergrid.persistCurrentUserInKeychain = false
+    }
+
+    override func tearDown() {
+        Usergrid._sharedClient = nil
+        super.tearDown()
+    }
+
     func getFullPathOfFile(fileLocation:String) -> String {
         return (NSBundle(forClass: object_getClass(self)).resourcePath! as NSString).stringByAppendingPathComponent(fileLocation)
     }
 
+    func test_ASSET_INIT() {
+        var filePath = self.getFullPathOfFile(ASSET_Tests.pngLocation)
+        var image = UIImage(contentsOfFile: filePath)
+        var asset = UsergridAsset(filename:ASSET_Tests.imageName,image: image!)
+        XCTAssertNotNil(asset)
+        XCTAssertNotNil(asset!.data)
+        XCTAssertNotNil(asset!.filename)
+        XCTAssertEqual(asset!.contentType, UsergridImageContentType.Png.stringValue)
+        XCTAssertTrue(asset!.contentLength > 0)
+
+        asset = UsergridAsset(filename:ASSET_Tests.imageName, fileURL: NSURL(fileURLWithPath: filePath))
+        XCTAssertNotNil(asset)
+        XCTAssertNotNil(asset!.data)
+        XCTAssertNotNil(asset!.filename)
+        XCTAssertEqual(asset!.contentType, UsergridImageContentType.Png.stringValue)
+        XCTAssertTrue(asset!.contentLength > 0)
+
+        filePath = self.getFullPathOfFile(ASSET_Tests.jpgLocation)
+        image = UIImage(contentsOfFile: filePath)
+        asset = UsergridAsset(filename:nil,image: image!, imageContentType:.Jpeg)
+        XCTAssertNotNil(asset)
+        XCTAssertNotNil(asset!.data)
+        XCTAssertEqual(asset!.filename,UsergridAsset.DEFAULT_FILE_NAME)
+        XCTAssertEqual(asset!.contentType, UsergridImageContentType.Jpeg.stringValue)
+        XCTAssertTrue(asset!.contentLength > 0)
+    }
+
     func test_IMAGE_UPLOAD() {
-        let getExpect = self.expectationWithDescription("\(__FUNCTION__)")
+        let getExpect = self.expectationWithDescription("\(#function)")
         let uploadProgress : UsergridAssetRequestProgress = { (bytes,expected) in
             print("UPLOAD PROGRESS BLOCK: BYTES:\(bytes) --- EXPECTED:\(expected)")
         }
@@ -50,24 +87,42 @@
         }
 
         Usergrid.GET(ASSET_Tests.collectionName, uuidOrName:ASSET_Tests.entityUUID) { (response) in
+            XCTAssertTrue(NSThread.isMainThread())
+
             let entity = response.first!
             XCTAssertNotNil(entity)
+            XCTAssertFalse(entity.isUser)
 
-            let imagePath = self.getFullPathOfFile(ASSET_Tests.imageLocation)
+            let imagePath = self.getFullPathOfFile(ASSET_Tests.pngLocation)
             XCTAssertNotNil(imagePath)
 
             let localImage = UIImage(contentsOfFile: imagePath)
             XCTAssertNotNil(localImage)
 
-            let asset = UsergridAsset(fileName:ASSET_Tests.imageName,image: localImage!)
+            let asset = UsergridAsset(filename:ASSET_Tests.imageName,image: localImage!)
             XCTAssertNotNil(asset)
 
-            entity.uploadAsset(self.sharedClient, asset:asset!, progress:uploadProgress) { (response, uploadedAsset, error) -> Void in
-                XCTAssertNotNil(asset)
-                XCTAssertNil(error)
+            entity.uploadAsset(asset!, progress:uploadProgress) { uploadedAsset,response in
+                XCTAssertTrue(NSThread.isMainThread())
                 XCTAssertTrue(response.ok)
+                XCTAssertNil(response.error)
+
+                XCTAssertNotNil(asset)
+                XCTAssertNotNil(uploadedAsset)
+                XCTAssertEqual(uploadedAsset!, asset!)
+
+                XCTAssertTrue(entity.hasAsset)
+                XCTAssertNotNil(entity.fileMetaData)
+                XCTAssertNotNil(entity.fileMetaData!.eTag)
+                XCTAssertNotNil(entity.fileMetaData!.checkSum)
+                XCTAssertNotNil(entity.fileMetaData!.contentType)
+                XCTAssertNotNil(entity.fileMetaData!.lastModifiedDate)
+                XCTAssertEqual(entity.asset!.contentLength, entity.fileMetaData!.contentLength)
+                XCTAssertEqual(entity.asset!.contentType, entity.fileMetaData!.contentType)
+
                 entity.downloadAsset(UsergridImageContentType.Png.stringValue, progress:downloadProgress)
                 { (downloadedAsset, error) -> Void in
+                    XCTAssertTrue(NSThread.isMainThread())
                     XCTAssertNotNil(downloadedAsset)
                     XCTAssertNil(error)
                     let downloadedImage = UIImage(data: downloadedAsset!.data)
@@ -77,6 +132,149 @@
                 }
             }
         }
-        self.waitForExpectationsWithTimeout(10, handler: nil)
+        self.waitForExpectationsWithTimeout(100, handler: nil)
+    }
+
+    func deleteUser(user:UsergridUser,expectation:XCTestExpectation) {
+        user.remove() { removeResponse in
+            XCTAssertTrue(NSThread.isMainThread())
+            XCTAssertNotNil(removeResponse)
+            XCTAssertTrue(removeResponse.ok)
+            XCTAssertNotNil(removeResponse.user)
+            XCTAssertNotNil(removeResponse.users)
+            print(removeResponse.error)
+            expectation.fulfill()
+        }
+    }
+
+    func test_ATTACH_ASSET_TO_CURRENT_USER() {
+        let userAssetExpect = self.expectationWithDescription("\(#function)")
+
+        let user = UsergridUser(name:User_Tests.name, email:User_Tests.email, username:User_Tests.username, password:User_Tests.password)
+        let uploadProgress : UsergridAssetRequestProgress = { (bytes,expected) in
+            print("UPLOAD PROGRESS BLOCK: BYTES:\(bytes) --- EXPECTED:\(expected)")
+        }
+        let downloadProgress : UsergridAssetRequestProgress = { (bytes,expected) in
+            print("DOWNLOAD PROGRESS BLOCK: BYTES:\(bytes) --- EXPECTED:\(expected)")
+        }
+
+        UsergridUser.checkAvailable(user.email, username: user.username) { error,available in
+
+            XCTAssertTrue(NSThread.isMainThread())
+            XCTAssertNil(error)
+            XCTAssertTrue(available)
+
+            user.create() { (createResponse) in
+                XCTAssertTrue(NSThread.isMainThread())
+                XCTAssertNotNil(createResponse)
+                XCTAssertTrue(createResponse.ok)
+                XCTAssertNotNil(createResponse.user)
+                XCTAssertNotNil(createResponse.users)
+                XCTAssertNotNil(user.uuid)
+
+                user.login(user.username!, password:User_Tests.password) { (auth, loggedInUser, error) -> Void in
+                    XCTAssertTrue(NSThread.isMainThread())
+                    XCTAssertNil(error)
+                    XCTAssertNotNil(auth)
+                    XCTAssertNotNil(loggedInUser)
+                    XCTAssertEqual(auth, user.auth!)
+
+                    Usergrid.authenticateUser(user.auth!) { auth,currentUser,error in
+                        XCTAssertTrue(NSThread.isMainThread())
+                        XCTAssertNil(error)
+                        XCTAssertNotNil(auth)
+                        XCTAssertEqual(auth, user.auth!)
+
+                        XCTAssertNotNil(currentUser)
+                        XCTAssertNotNil(Usergrid.currentUser)
+                        XCTAssertEqual(currentUser, Usergrid.currentUser!)
+
+                        let imagePath = self.getFullPathOfFile(ASSET_Tests.pngLocation)
+                        XCTAssertNotNil(imagePath)
+
+                        let localImage = UIImage(contentsOfFile: imagePath)
+                        XCTAssertNotNil(localImage)
+
+                        let asset = UsergridAsset(filename:ASSET_Tests.imageName,image: localImage!)
+                        XCTAssertNotNil(asset)
+
+                        Usergrid.currentUser!.uploadAsset(asset!, progress:uploadProgress) { uploadedAsset,response in
+                            XCTAssertTrue(NSThread.isMainThread())
+                            XCTAssertTrue(response.ok)
+                            XCTAssertNil(response.error)
+
+                            XCTAssertNotNil(asset)
+                            XCTAssertNotNil(uploadedAsset)
+                            XCTAssertEqual(uploadedAsset!, asset!)
+
+                            XCTAssertTrue(Usergrid.currentUser!.hasAsset)
+                            XCTAssertNotNil(Usergrid.currentUser!.fileMetaData)
+                            XCTAssertNotNil(Usergrid.currentUser!.fileMetaData!.eTag)
+                            XCTAssertNotNil(Usergrid.currentUser!.fileMetaData!.checkSum)
+                            XCTAssertNotNil(Usergrid.currentUser!.fileMetaData!.contentType)
+                            XCTAssertNotNil(Usergrid.currentUser!.fileMetaData!.lastModifiedDate)
+                            XCTAssertEqual(Usergrid.currentUser!.asset!.contentLength, Usergrid.currentUser!.fileMetaData!.contentLength)
+                            XCTAssertEqual(Usergrid.currentUser!.asset!.contentType, Usergrid.currentUser!.fileMetaData!.contentType)
+
+                            Usergrid.currentUser!.downloadAsset(UsergridImageContentType.Png.stringValue, progress:downloadProgress)
+                                { (downloadedAsset, error) -> Void in
+                                    XCTAssertTrue(NSThread.isMainThread())
+                                    XCTAssertNotNil(downloadedAsset)
+                                    XCTAssertNil(error)
+                                    let downloadedImage = UIImage(data: downloadedAsset!.data)
+                                    XCTAssertEqual(UIImagePNGRepresentation(localImage!), UIImagePNGRepresentation(downloadedImage!))
+                                    XCTAssertNotNil(downloadedImage)
+                                    self.deleteUser(Usergrid.currentUser!,expectation:userAssetExpect)
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        self.waitForExpectationsWithTimeout(100, handler: nil)
+    }
+
+
+    func test_FILE_META_DATA_NSCODING() {
+        let fileMetaDataDict = ["content-type":"image/png",
+                                "etag":"dfa7421ea4f35d33e12ba93979a46b7e",
+                                "checkSum":"dfa7421ea4f35d33e12ba93979a46b7e",
+                                "content-length":1417896,
+                                "last-modified":1455728898545]
+        
+        let fileMetaData = UsergridFileMetaData(fileMetaDataJSON:fileMetaDataDict)
+
+        let fileMetaDataCodingData = NSKeyedArchiver.archivedDataWithRootObject(fileMetaData)
+        let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(fileMetaDataCodingData) as? UsergridFileMetaData
+        XCTAssertNotNil(newInstanceFromData)
+
+        if let newInstance = newInstanceFromData {
+            XCTAssertEqual(fileMetaData.eTag,newInstance.eTag)
+            XCTAssertEqual(fileMetaData.checkSum,newInstance.checkSum)
+            XCTAssertEqual(fileMetaData.contentType,newInstance.contentType)
+            XCTAssertEqual(fileMetaData.contentLength,newInstance.contentLength)
+            XCTAssertEqual(fileMetaData.lastModifiedDate,newInstance.lastModifiedDate)
+        }
+    }
+
+    func test_ASSET_NSCODING() {
+        let imagePath = self.getFullPathOfFile(ASSET_Tests.pngLocation)
+        let asset = UsergridAsset(filename:ASSET_Tests.imageName,fileURL: NSURL(fileURLWithPath: imagePath))
+        XCTAssertNotNil(asset)
+
+        if let originalAsset = asset {
+            let assetCodingData = NSKeyedArchiver.archivedDataWithRootObject(originalAsset)
+            let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(assetCodingData) as? UsergridAsset
+
+            XCTAssertNotNil(newInstanceFromData)
+
+            if let newInstance = newInstanceFromData {
+                XCTAssertEqual(originalAsset.filename,newInstance.filename)
+                XCTAssertEqual(originalAsset.data,newInstance.data)
+                XCTAssertEqual(originalAsset.originalLocation,newInstance.originalLocation)
+                XCTAssertEqual(originalAsset.contentType,newInstance.contentType)
+                XCTAssertEqual(originalAsset.contentLength,newInstance.contentLength)
+            }
+        }
     }
 }
diff --git a/sdks/swift/Tests/AUTH_Tests.swift b/sdks/swift/Tests/AUTH_Tests.swift
index 160cd19..80ec695 100644
--- a/sdks/swift/Tests/AUTH_Tests.swift
+++ b/sdks/swift/Tests/AUTH_Tests.swift
@@ -29,27 +29,41 @@
 
 class AUTH_Tests: XCTestCase {
 
-    let testAuthClient = UsergridClient(orgId: ClientCreationTests.orgId, appId: "sdk.demo")
-    let clientAuth = UsergridAppAuth(clientId: "b3U6THNcevskEeOQZLcUROUUVA", clientSecret: "b3U6RZHYznP28xieBzQPackFPmmnevU")
+    var appAuth: UsergridAppAuth!
+    var userAuth: UsergridUserAuth!
+
     private static let collectionName = "publicevent"
     private static let entityUUID = "fa015eaa-fe1c-11e3-b94b-63b29addea01"
 
+    override func setUp() {
+        super.setUp()
+        appAuth = UsergridAppAuth(clientId: "b3U6THNcevskEeOQZLcUROUUVA", clientSecret: "b3U6RZHYznP28xieBzQPackFPmmnevU")
+        userAuth = UsergridUserAuth(username: "username", password: "password")
+        Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: "sdk.demo")
+    }
+
+    override func tearDown() {
+        Usergrid._sharedClient = nil
+        super.tearDown()
+    }
+
     func test_CLIENT_AUTH() {
 
-        let authExpect = self.expectationWithDescription("\(__FUNCTION__)")
-        testAuthClient.authFallback = .App
-        testAuthClient.authenticateApp(clientAuth) { [weak self] (auth,error) in
-
+        let authExpect = self.expectationWithDescription("\(#function)")
+        Usergrid.authMode = .App
+        Usergrid.authenticateApp(appAuth) { auth,error in
+            XCTAssertTrue(NSThread.isMainThread())
             XCTAssertNil(error)
-            XCTAssertNotNil(self?.testAuthClient.appAuth)
+            XCTAssertNotNil(Usergrid.appAuth)
 
-            if let appAuth = self?.testAuthClient.appAuth {
+            if let appAuth = Usergrid.appAuth {
 
                 XCTAssertNotNil(appAuth.accessToken)
                 XCTAssertNotNil(appAuth.expiry)
+                XCTAssertNotNil(appAuth.isValid)
 
-                self?.testAuthClient.GET(AUTH_Tests.collectionName) { (response) in
-
+                Usergrid.GET(AUTH_Tests.collectionName) { (response) in
+                    XCTAssertTrue(NSThread.isMainThread())
                     XCTAssertNotNil(response)
                     XCTAssertTrue(response.hasNextPage)
                     XCTAssertEqual(response.entities!.count, 10)
@@ -57,10 +71,62 @@
                     
                     authExpect.fulfill()
                 }
-            } else {
-                authExpect.fulfill()
             }
         }
-        self.waitForExpectationsWithTimeout(20, handler: nil)
+        self.waitForExpectationsWithTimeout(100, handler: nil)
     }
+
+    func test_DESTROY_AUTH() {
+        let auth = UsergridAuth(accessToken: "YWMt91Q2YtWaEeW_Ki2uDueMEwAAAVMUTVSPeOdX-oradxdqirEFz5cPU3GWybs")
+
+        XCTAssertTrue(auth.isValid)
+        XCTAssertNotNil(auth.accessToken)
+        XCTAssertNil(auth.expiry)
+
+        auth.destroy()
+
+        XCTAssertFalse(auth.isValid)
+        XCTAssertNil(auth.accessToken)
+        XCTAssertNil(auth.expiry)
+    }
+
+    func test_APP_AUTH_NSCODING() {
+
+        appAuth.accessToken = "YWMt91Q2YtWaEeW_Ki2uDueMEwAAAVMUTVSPeOdX-oradxdqirEFz5cPU3GWybs"
+        appAuth.expiry = NSDate.distantFuture()
+
+        let authCodingData = NSKeyedArchiver.archivedDataWithRootObject(appAuth)
+        let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(authCodingData) as? UsergridAppAuth
+
+        XCTAssertNotNil(newInstanceFromData)
+
+        if let newInstance = newInstanceFromData {
+            XCTAssertTrue(appAuth.isValid)
+            XCTAssertTrue(newInstance.isValid)
+            XCTAssertEqual(appAuth.clientId,newInstance.clientId)
+            XCTAssertEqual(appAuth.accessToken,newInstance.accessToken)
+            XCTAssertEqual(appAuth.expiry,newInstance.expiry)
+        }
+    }
+
+    func test_USER_AUTH_NSCODING() {
+
+        userAuth.accessToken = "YWMt91Q2YtWaEeW_Ki2uDueMEwAAAVMUTVSPeOdX-oradxdqirEFz5cPU3GWybs"
+        userAuth.expiry = NSDate.distantFuture()
+
+        let authCodingData = NSKeyedArchiver.archivedDataWithRootObject(userAuth)
+        let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(authCodingData) as? UsergridUserAuth
+
+        XCTAssertNotNil(newInstanceFromData)
+
+        if let newInstance = newInstanceFromData {
+            XCTAssertTrue(userAuth.isValid)
+            XCTAssertTrue(newInstance.isValid)
+            XCTAssertEqual(userAuth.username,newInstance.username)
+            XCTAssertEqual(userAuth.accessToken,newInstance.accessToken)
+            XCTAssertEqual(userAuth.expiry,newInstance.expiry)
+        }
+    }
+
+
 }
diff --git a/sdks/swift/Tests/CONNECTION_Tests.swift b/sdks/swift/Tests/CONNECTION_Tests.swift
index 4dff28f..2640778 100644
--- a/sdks/swift/Tests/CONNECTION_Tests.swift
+++ b/sdks/swift/Tests/CONNECTION_Tests.swift
@@ -29,25 +29,35 @@
 
 class CONNECTION_Tests: XCTestCase {
 
-    let testAuthClient = UsergridClient(orgId:ClientCreationTests.orgId, appId: "sdk.demo")
     let clientAuth = UsergridAppAuth(clientId: "b3U6THNcevskEeOQZLcUROUUVA", clientSecret: "b3U6RZHYznP28xieBzQPackFPmmnevU")
     private static let collectionName = "publicevent"
 
+    override func setUp() {
+        super.setUp()
+        Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: "sdk.demo")
+    }
+
+    override func tearDown() {
+        Usergrid._sharedClient = nil
+        super.tearDown()
+    }
+
     func test_CLIENT_AUTH() {
 
-        let authExpect = self.expectationWithDescription("\(__FUNCTION__)")
-        testAuthClient.authFallback = .App
-        testAuthClient.authenticateApp(clientAuth) { [weak self] (auth,error) in
+        let authExpect = self.expectationWithDescription("\(#function)")
+        Usergrid.authMode = .App
+        Usergrid.authenticateApp(clientAuth) { auth,error in
+            XCTAssertTrue(NSThread.isMainThread())
             XCTAssertNil(error)
-            XCTAssertNotNil(self?.testAuthClient.appAuth)
+            XCTAssertNotNil(Usergrid.appAuth)
 
-            if let appAuth = self?.testAuthClient.appAuth {
+            if let appAuth = Usergrid.appAuth {
 
                 XCTAssertNotNil(appAuth.accessToken)
                 XCTAssertNotNil(appAuth.expiry)
 
-                self?.testAuthClient.GET(CONNECTION_Tests.collectionName) { (response) in
-
+                Usergrid.GET(CONNECTION_Tests.collectionName) { (response) in
+                    XCTAssertTrue(NSThread.isMainThread())
                     XCTAssertNotNil(response)
                     XCTAssertTrue(response.ok)
                     XCTAssertTrue(response.hasNextPage)
@@ -57,19 +67,27 @@
                     let entityToConnect = response.entities![1]
                     XCTAssertEqual(entity.type, CONNECTION_Tests.collectionName)
 
-                    entity.connect(self!.testAuthClient,relationship:"likes", toEntity: entityToConnect) { (response) -> Void in
+                    entity.connect("likes", toEntity: entityToConnect) { (response) -> Void in
+                        XCTAssertTrue(NSThread.isMainThread())
                         XCTAssertNotNil(response)
                         XCTAssertTrue(response.ok)
-                        entity.getConnections(self!.testAuthClient, direction:.Out, relationship: "likes", query:nil) { (response) -> Void in
+
+                        entity.getConnections(.Out, relationship: "likes", query:nil) { (response) -> Void in
+                            XCTAssertTrue(NSThread.isMainThread())
                             XCTAssertNotNil(response)
                             XCTAssertTrue(response.ok)
+
                             let connectedEntity = response.first!
                             XCTAssertNotNil(connectedEntity)
                             XCTAssertEqual(connectedEntity.uuidOrName, entityToConnect.uuidOrName)
-                            entity.disconnect(self!.testAuthClient, relationship: "likes", fromEntity: connectedEntity) { (response) -> Void in
+
+                            entity.disconnect("likes", fromEntity: connectedEntity) { (response) -> Void in
+                                XCTAssertTrue(NSThread.isMainThread())
                                 XCTAssertNotNil(response)
                                 XCTAssertTrue(response.ok)
-                                entity.getConnections(self!.testAuthClient, direction:.Out, relationship: "likes", query:nil) { (response) -> Void in
+
+                                entity.getConnections(.Out, relationship: "likes", query:nil) { (response) -> Void in
+                                    XCTAssertTrue(NSThread.isMainThread())
                                     XCTAssertNotNil(response)
                                     XCTAssertTrue(response.ok)
                                     authExpect.fulfill()
diff --git a/sdks/swift/Tests/ClientCreationTests.swift b/sdks/swift/Tests/ClientCreationTests.swift
index 0d1ab88..40a7de1 100644
--- a/sdks/swift/Tests/ClientCreationTests.swift
+++ b/sdks/swift/Tests/ClientCreationTests.swift
@@ -32,23 +32,10 @@
     static let orgId = "rwalsh"
     static let appId = "sandbox"
 
-    static let otherInstanceID = "otherInstanceID"
-    static let otherAppID = "otherAppID"
-    static let otherOrgID = "otherOrgID"
-    static let otherBaseURL = "http://www.something.com"
-    static let otherAppAuth = UsergridAppAuth(clientId: "alkdjflsdf", clientSecret: "alkdjflsdf")
-
-    static let otherConfiguration = UsergridClientConfig(orgId: ClientCreationTests.otherOrgID,
-                                                         appId: ClientCreationTests.otherAppID,
-                                                         baseUrl: ClientCreationTests.otherBaseURL,
-                                                         authFallback: .App,
-                                                         appAuth: ClientCreationTests.otherAppAuth)
-
-    let otherClient = UsergridClient(configuration: ClientCreationTests.otherConfiguration)
-
     override func setUp() {
         super.setUp()
         Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: ClientCreationTests.appId)
+        Usergrid.persistCurrentUserInKeychain = false
     }
 
     override func tearDown() {
@@ -58,22 +45,17 @@
 
     func test_INSTANCE_POINTERS() {
         XCTAssertNotNil(Usergrid.sharedInstance)
-        XCTAssertNotNil(otherClient)
-        XCTAssertFalse(otherClient === Usergrid.sharedInstance)
     }
 
     func test_CLIENT_PROPERTIES() {
-        XCTAssertEqual(Usergrid.sharedInstance.appId, ClientCreationTests.appId)
-        XCTAssertEqual(Usergrid.sharedInstance.orgId, ClientCreationTests.orgId)
-        XCTAssertEqual(Usergrid.sharedInstance.authFallback, UsergridAuthFallback.None)
-        XCTAssertEqual(Usergrid.sharedInstance.baseUrl, UsergridClient.DEFAULT_BASE_URL)
-        XCTAssertNil(Usergrid.sharedInstance.currentUser)
-
-        XCTAssertEqual(otherClient.appId, ClientCreationTests.otherAppID)
-        XCTAssertEqual(otherClient.orgId, ClientCreationTests.otherOrgID)
-        XCTAssertEqual(otherClient.authFallback, UsergridAuthFallback.App)
-        XCTAssertEqual(otherClient.baseUrl, ClientCreationTests.otherBaseURL)
-        XCTAssertNil(otherClient.currentUser)
+        XCTAssertEqual(Usergrid.appId, ClientCreationTests.appId)
+        XCTAssertEqual(Usergrid.orgId, ClientCreationTests.orgId)
+        XCTAssertEqual(Usergrid.authMode, UsergridAuthMode.User)
+        XCTAssertEqual(Usergrid.persistCurrentUserInKeychain, false)
+        XCTAssertEqual(Usergrid.baseUrl, UsergridClient.DEFAULT_BASE_URL)
+        XCTAssertEqual(Usergrid.clientAppURL, "\(UsergridClient.DEFAULT_BASE_URL)/\(ClientCreationTests.orgId)/\(ClientCreationTests.appId)" )
+        XCTAssertNil(Usergrid.currentUser)
+        XCTAssertNil(Usergrid.userAuth)
     }
 
     func test_CLIENT_NSCODING() {
@@ -83,10 +65,10 @@
         XCTAssertNotNil(newInstanceFromData)
 
         if let newInstance = newInstanceFromData {
-            XCTAssertEqual(Usergrid.sharedInstance.appId, newInstance.appId)
-            XCTAssertEqual(Usergrid.sharedInstance.orgId, newInstance.orgId)
-            XCTAssertEqual(Usergrid.sharedInstance.authFallback, newInstance.authFallback)
-            XCTAssertEqual(Usergrid.sharedInstance.baseUrl, newInstance.baseUrl)
+            XCTAssertEqual(Usergrid.appId, newInstance.appId)
+            XCTAssertEqual(Usergrid.orgId, newInstance.orgId)
+            XCTAssertEqual(Usergrid.authMode, newInstance.authMode)
+            XCTAssertEqual(Usergrid.baseUrl, newInstance.baseUrl)
         }
     }
 }
diff --git a/sdks/swift/Tests/GET_Tests.swift b/sdks/swift/Tests/GET_Tests.swift
index 999b22a..2b0331f 100644
--- a/sdks/swift/Tests/GET_Tests.swift
+++ b/sdks/swift/Tests/GET_Tests.swift
@@ -29,18 +29,26 @@
 
 class GET_Tests: XCTestCase {
 
-    let usergridClientInstance = UsergridClient(orgId:ClientCreationTests.orgId, appId: ClientCreationTests.appId)
-
     static let collectionName = "books"
     static let entityUUID = "f4078aca-2fb1-11e5-8eb2-e13f8369aad1"
 
-    let query = UsergridQuery(GET_Tests.collectionName).fromString("select * where title = 'The Sun Also Rises' or title = 'The Old Man and the Sea'")
+    let query = UsergridQuery(GET_Tests.collectionName).eq("title", value: "The Sun Also Rises").or().eq("title", value: "The Old Man and the Sea")
 
+    override func setUp() {
+        super.setUp()
+        Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: ClientCreationTests.appId)
+    }
+
+    override func tearDown() {
+        Usergrid._sharedClient = nil
+        super.tearDown()
+    }
 
     func test_GET_WITHOUT_QUERY() {
 
-        let getExpect = self.expectationWithDescription("\(__FUNCTION__)")
-        usergridClientInstance.GET(GET_Tests.collectionName) { (response) in
+        let getExpect = self.expectationWithDescription("\(#function)")
+        Usergrid.GET(GET_Tests.collectionName) { (response) in
+            XCTAssertTrue(NSThread.isMainThread())
             XCTAssertNotNil(response)
             XCTAssertTrue(response.ok)
             XCTAssertTrue(response.hasNextPage)
@@ -52,11 +60,12 @@
 
     func test_GET_WITH_QUERY() {
 
-        let getExpect = self.expectationWithDescription("\(__FUNCTION__)")
-        usergridClientInstance.GET(self.query) { (response) in
+        let getExpect = self.expectationWithDescription("\(#function)")
+        Usergrid.GET(self.query) { (response) in
+            XCTAssertTrue(NSThread.isMainThread())
             XCTAssertNotNil(response)
             XCTAssertTrue(response.ok)
-            XCTAssertEqual(response.count, 3)
+            XCTAssertEqual(response.count, 1)
             getExpect.fulfill()
         }
         self.waitForExpectationsWithTimeout(10, handler: nil)
@@ -64,8 +73,9 @@
 
     func test_GET_WITH_UUID() {
 
-        let getExpect = self.expectationWithDescription("\(__FUNCTION__)")
-        usergridClientInstance.GET(GET_Tests.collectionName, uuidOrName:GET_Tests.entityUUID) { (response) in
+        let getExpect = self.expectationWithDescription("\(#function)")
+        Usergrid.GET(GET_Tests.collectionName, uuidOrName:GET_Tests.entityUUID) { (response) in
+            XCTAssertTrue(NSThread.isMainThread())
             XCTAssertNotNil(response)
             XCTAssertTrue(response.ok)
             let entity = response.first!
@@ -80,18 +90,20 @@
 
     func test_GET_NEXT_PAGE_WITH_NO_QUERY() {
 
-        let getExpect = self.expectationWithDescription("\(__FUNCTION__)")
-        usergridClientInstance.GET(GET_Tests.collectionName) { (response) in
+        let getExpect = self.expectationWithDescription("\(#function)")
+        Usergrid.GET(GET_Tests.collectionName) { (response) in
+            XCTAssertTrue(NSThread.isMainThread())
             XCTAssertNotNil(response)
             XCTAssertTrue(response.ok)
             XCTAssertTrue(response.hasNextPage)
             XCTAssertEqual(response.count, 10)
 
             response.loadNextPage() { (nextPageResponse) in
+                XCTAssertTrue(NSThread.isMainThread())
                 XCTAssertTrue(nextPageResponse.ok)
                 XCTAssertNotNil(nextPageResponse)
                 XCTAssertFalse(nextPageResponse.hasNextPage)
-                XCTAssertEqual(nextPageResponse.entities!.count, 6)
+                XCTAssertEqual(nextPageResponse.entities!.count, 7)
                 getExpect.fulfill()
             }
         }
diff --git a/sdks/swift/Tests/PUT_Tests.swift b/sdks/swift/Tests/PUT_Tests.swift
index 26f3260..b1ff3e7 100644
--- a/sdks/swift/Tests/PUT_Tests.swift
+++ b/sdks/swift/Tests/PUT_Tests.swift
@@ -29,8 +29,6 @@
 
 class PUT_Tests: XCTestCase {
 
-    let client = UsergridClient(orgId:ClientCreationTests.orgId, appId: ClientCreationTests.appId)
-
     let query = UsergridQuery(PUT_Tests.collectionName)
         .eq("title", value: "The Sun Also Rises")
         .or()
@@ -39,14 +37,24 @@
     static let collectionName = "books"
     static let entityUUID = "f4078aca-2fb1-11e5-8eb2-e13f8369aad1"
 
+    override func setUp() {
+        super.setUp()
+        Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: ClientCreationTests.appId)
+    }
+
+    override func tearDown() {
+        Usergrid._sharedClient = nil
+        super.tearDown()
+    }
+
     func test_PUT_BY_SPECIFYING_UUID_AS_PARAMETER() {
 
-        let propertyNameToUpdate = "\(__FUNCTION__)"
+        let propertyNameToUpdate = "\(#function)"
         let propertiesNewValue = "\(propertyNameToUpdate)_VALUE"
         let putExpect = self.expectationWithDescription(propertyNameToUpdate)
 
-        client.PUT(PUT_Tests.collectionName, uuidOrName: PUT_Tests.entityUUID, jsonBody:[propertyNameToUpdate : propertiesNewValue]) { (response) in
-
+        Usergrid.PUT(PUT_Tests.collectionName, uuidOrName: PUT_Tests.entityUUID, jsonBody:[propertyNameToUpdate : propertiesNewValue]) { (response) in
+            XCTAssertTrue(NSThread.isMainThread())
             XCTAssertNotNil(response)
             XCTAssertTrue(response.ok)
             XCTAssertEqual(response.entities!.count, 1)
@@ -65,13 +73,14 @@
 
     func test_PUT_BY_SPECIFYING_UUID_WITHIN_JSON_BODY() {
 
-        let propertyNameToUpdate = "\(__FUNCTION__)"
+        let propertyNameToUpdate = "\(#function)"
         let propertiesNewValue = "\(propertyNameToUpdate)_VALUE"
         let putExpect = self.expectationWithDescription(propertyNameToUpdate)
 
         let jsonDictToPut = [UsergridEntityProperties.UUID.stringValue : PUT_Tests.entityUUID, propertyNameToUpdate : propertiesNewValue]
 
-        client.PUT(PUT_Tests.collectionName, jsonBody: jsonDictToPut) { (response) in
+        Usergrid.PUT(PUT_Tests.collectionName, jsonBody: jsonDictToPut) { (response) in
+            XCTAssertTrue(NSThread.isMainThread())
             XCTAssertNotNil(response)
             XCTAssertTrue(response.ok)
             XCTAssertEqual(response.entities!.count, 1)
@@ -89,11 +98,12 @@
     }
 
     func test_PUT_WITH_ENTITY_OBJECT() {
-        let propertyNameToUpdate = "\(__FUNCTION__)"
+        let propertyNameToUpdate = "\(#function)"
         let propertiesNewValue = "\(propertyNameToUpdate)_VALUE"
         let putExpect = self.expectationWithDescription(propertyNameToUpdate)
 
-        client.GET(PUT_Tests.collectionName, uuidOrName: PUT_Tests.entityUUID) { (getResponse) in
+        Usergrid.GET(PUT_Tests.collectionName, uuidOrName: PUT_Tests.entityUUID) { (getResponse) in
+            XCTAssertTrue(NSThread.isMainThread())
             XCTAssertNotNil(getResponse)
             XCTAssertTrue(getResponse.ok)
             XCTAssertEqual(getResponse.entities!.count, 1)
@@ -105,7 +115,8 @@
 
             responseEntity[propertyNameToUpdate] = propertiesNewValue
 
-            self.client.PUT(responseEntity) { (putResponse) in
+            Usergrid.PUT(responseEntity) { (putResponse) in
+                XCTAssertTrue(NSThread.isMainThread())
                 XCTAssertNotNil(putResponse)
                 XCTAssertTrue(putResponse.ok)
                 XCTAssertEqual(putResponse.entities!.count, 1)
@@ -124,14 +135,15 @@
     }
 
     func test_PUT_WITH_QUERY() {
-        let propertyNameToUpdate = "\(__FUNCTION__)"
+        let propertyNameToUpdate = "\(#function)"
         let propertiesNewValue = "\(propertyNameToUpdate)_VALUE"
         let putExpect = self.expectationWithDescription(propertyNameToUpdate)
 
-        client.PUT(self.query, jsonBody: [propertyNameToUpdate : propertiesNewValue]) { (putResponse) in
+        Usergrid.PUT(self.query, jsonBody: [propertyNameToUpdate : propertiesNewValue]) { (putResponse) in
+            XCTAssertTrue(NSThread.isMainThread())
             XCTAssertNotNil(putResponse)
             XCTAssertTrue(putResponse.ok)
-            XCTAssertEqual(putResponse.entities!.count, 3)
+            XCTAssertEqual(putResponse.entities!.count, 1)
 
             let responseEntity = putResponse.first!
             XCTAssertNotNil(responseEntity)
diff --git a/sdks/swift/Tests/TestAssets/UsergridGuy.jpg b/sdks/swift/Tests/TestAssets/UsergridGuy.jpg
new file mode 100644
index 0000000..035dd7b
--- /dev/null
+++ b/sdks/swift/Tests/TestAssets/UsergridGuy.jpg
Binary files differ
diff --git a/sdks/swift/Tests/User_Tests.swift b/sdks/swift/Tests/User_Tests.swift
index 2b1a504..dcb5545 100644
--- a/sdks/swift/Tests/User_Tests.swift
+++ b/sdks/swift/Tests/User_Tests.swift
@@ -25,32 +25,98 @@
  */
 
 import XCTest
+import CoreLocation
 @testable import UsergridSDK
 
 class User_Tests: XCTestCase {
 
-    var client = UsergridClient(orgId:ClientCreationTests.orgId, appId: ClientCreationTests.appId)
-
-    let userWithNoName = UsergridUser()
-    let user = UsergridUser(name:User_Tests.name, email:User_Tests.email, username:User_Tests.username, password:User_Tests.password)
+    var user: UsergridUser!
 
     static let name = "Robert Walsh"
     static let age = 29
     static let email = "handsomeRob741@yahoo.com"
     static let username = "rwalsh"
     static let password = "password"
+    static let resetPassword = "password111"
     static let picture = "http://www.gravatar.com/avatar/e466d447df831ddce35fbc50763fb03a"
     static let activated = true
     static let disabled = false
 
     override func setUp() {
         super.setUp()
+
+        Usergrid.initSharedInstance(orgId:ClientCreationTests.orgId, appId: ClientCreationTests.appId)
+        Usergrid.persistCurrentUserInKeychain = false
+
+        user = UsergridUser(name:"a_bogus_name", email:User_Tests.email, username:User_Tests.username, password:User_Tests.password)
+        user.name = User_Tests.name
         user.age = User_Tests.age
+        user.location = CLLocation(latitude: -90, longitude: 100)
         user.picture = User_Tests.picture
         user.activated = User_Tests.activated
         user.disabled = User_Tests.disabled
     }
 
+    override func tearDown() {
+        Usergrid._sharedClient = nil        
+        super.tearDown()
+    }
+
+    func test_USER_INIT() {
+        user = UsergridUser(email: User_Tests.email, password: User_Tests.password)
+        XCTAssertNotNil(user)
+        XCTAssertNotNil(user.email)
+        XCTAssertNotNil(user.password)
+        XCTAssertEqual(user.email!, User_Tests.email)
+        XCTAssertEqual(user.usernameOrEmail!, User_Tests.email)
+        XCTAssertEqual(user.password!, User_Tests.password)
+        XCTAssertFalse(user.activated)
+        XCTAssertFalse(user.disabled)
+
+        user = UsergridUser(name: User_Tests.name, propertyDict: ["password":User_Tests.password])
+        XCTAssertNotNil(user)
+        XCTAssertNotNil(user.name)
+        XCTAssertNotNil(user.password)
+        XCTAssertEqual(user.name!, User_Tests.name)
+        XCTAssertEqual(user.password!, User_Tests.password)
+        XCTAssertFalse(user.activated)
+        XCTAssertFalse(user.disabled)
+
+        user = UsergridUser(name:User_Tests.name, email: User_Tests.email, password: User_Tests.password)
+        XCTAssertNotNil(user)
+        XCTAssertNotNil(user.name)
+        XCTAssertNotNil(user.email)
+        XCTAssertNotNil(user.password)
+        XCTAssertEqual(user.name!, User_Tests.name)
+        XCTAssertEqual(user.email!, User_Tests.email)
+        XCTAssertEqual(user.usernameOrEmail!, User_Tests.email)
+        XCTAssertEqual(user.password!, User_Tests.password)
+        XCTAssertFalse(user.activated)
+        XCTAssertFalse(user.disabled)
+
+        user = UsergridUser(username: User_Tests.username, password: User_Tests.password)
+        XCTAssertNotNil(user)
+        XCTAssertNotNil(user.username)
+        XCTAssertNotNil(user.password)
+        XCTAssertEqual(user.username!, User_Tests.username)
+        XCTAssertEqual(user.usernameOrEmail!, User_Tests.username)
+        XCTAssertEqual(user.password!, User_Tests.password)
+        XCTAssertFalse(user.activated)
+        XCTAssertFalse(user.disabled)
+
+        user = UsergridUser(name: User_Tests.name, username: User_Tests.username, password: User_Tests.password)
+        XCTAssertNotNil(user)
+        XCTAssertNotNil(user.name)
+        XCTAssertNotNil(user.username)
+        XCTAssertNotNil(user.password)
+        XCTAssertEqual(user.name!, User_Tests.name)
+        XCTAssertEqual(user.username!, User_Tests.username)
+        XCTAssertEqual(user.usernameOrEmail!, User_Tests.username)
+        XCTAssertEqual(user.password!, User_Tests.password)
+        XCTAssertFalse(user.activated)
+        XCTAssertFalse(user.disabled)
+    }
+
     func test_USERS_AND_PROPERTIES_NOT_NIL() {
         XCTAssertNotNil(user)
         XCTAssertNotNil(user.name)
@@ -61,12 +127,12 @@
         XCTAssertNotNil(user.picture)
         XCTAssertNotNil(user.activated)
         XCTAssertNotNil(user.disabled)
-
-        XCTAssertNotNil(userWithNoName)
-        XCTAssertNil(userWithNoName.name)
     }
 
     func test_USER_PROPERTIES_WITH_HELPERS() {
+        user["uuid"] = User_Tests.age
+        XCTAssertNil(user.uuid)
+
         XCTAssertEqual(user.name!, User_Tests.name)
         XCTAssertEqual(user.age!, User_Tests.age)
         XCTAssertEqual(user.username!, User_Tests.username)
@@ -88,17 +154,34 @@
         XCTAssertFalse(user[UsergridUserProperties.Disabled.stringValue]! as! Bool)
     }
 
-    func test_CREATE_AND_DELETE_USER() {
-        let createUserExpect = self.expectationWithDescription("\(__FUNCTION__)")
+    func deleteUser(expectation:XCTestExpectation) {
+        self.user.remove() { removeResponse in
+            XCTAssertTrue(NSThread.isMainThread())
+            XCTAssertNotNil(removeResponse)
+            XCTAssertTrue(removeResponse.ok)
+            XCTAssertNotNil(removeResponse.user)
+            XCTAssertNotNil(removeResponse.users)
+            print(removeResponse.error)
+            expectation.fulfill()
+        }
+    }
 
-        user.create(client) { (createResponse) in
+    func test_CREATE_AND_DELETE_USER() {
+        let userExpect = self.expectationWithDescription("\(#function)")
+
+        user.save() { (createResponse) in
+            XCTAssertTrue(NSThread.isMainThread())
             XCTAssertNotNil(createResponse)
             XCTAssertTrue(createResponse.ok)
             XCTAssertNotNil(createResponse.user)
             XCTAssertNotNil(createResponse.users)
 
             if let createdUser = createResponse.user {
+                XCTAssertTrue(createdUser.isUser)
                 XCTAssertNotNil(createdUser.uuid)
+                XCTAssertNotNil(createdUser.created)
+                XCTAssertNotNil(createdUser.modified)
+                XCTAssertNotNil(createdUser.location)
                 XCTAssertEqual(createdUser.name!, User_Tests.name)
                 XCTAssertEqual(createdUser.age!, User_Tests.age)
                 XCTAssertEqual(createdUser.username!, User_Tests.username)
@@ -106,16 +189,211 @@
                 XCTAssertEqual(createdUser.picture!, User_Tests.picture)
                 XCTAssertTrue(createdUser.activated)
                 XCTAssertFalse(createdUser.disabled)
+                XCTAssertFalse(createdUser.hasAsset)
 
-                createdUser.remove(self.client) { (removeResponse) in
-                    XCTAssertNotNil(removeResponse)
-                    XCTAssertTrue(removeResponse.ok)
-                    XCTAssertNotNil(removeResponse.user)
-                    XCTAssertNotNil(removeResponse.users)
-                    createUserExpect.fulfill()
+                self.deleteUser(userExpect)
+            }
+        }
+        self.waitForExpectationsWithTimeout(100, handler: nil)
+    }
+
+    func test_AUTHENTICATE_USER() {
+        let userExpect = self.expectationWithDescription("\(#function)")
+
+        UsergridUser.checkAvailable(user.email, username: user.username) { error,available in
+
+            XCTAssertTrue(NSThread.isMainThread())
+            XCTAssertNil(error)
+            XCTAssertTrue(available)
+
+            self.user.create() { (createResponse) in
+                XCTAssertTrue(NSThread.isMainThread())
+                XCTAssertNotNil(createResponse)
+                XCTAssertTrue(createResponse.ok)
+                XCTAssertNotNil(createResponse.user)
+                XCTAssertNotNil(createResponse.users)
+                XCTAssertNotNil(self.user.uuid)
+
+                self.user.login(self.user.username!, password:User_Tests.password) { (auth, loggedInUser, error) -> Void in
+                    XCTAssertTrue(NSThread.isMainThread())
+                    XCTAssertNil(error)
+                    XCTAssertNotNil(auth)
+                    XCTAssertNotNil(loggedInUser)
+                    XCTAssertEqual(auth, self.user.auth!)
+
+                    Usergrid.authenticateUser(self.user.auth!) { auth,currentUser,error in
+                        XCTAssertTrue(NSThread.isMainThread())
+                        XCTAssertNil(error)
+                        XCTAssertNotNil(auth)
+                        XCTAssertEqual(auth, self.user.auth!)
+
+                        XCTAssertNotNil(currentUser)
+                        XCTAssertNotNil(Usergrid.currentUser)
+                        XCTAssertEqual(currentUser, Usergrid.currentUser!)
+
+                        self.user.reauthenticate() { auth, reauthedUser, error in
+                            XCTAssertTrue(NSThread.isMainThread())
+                            XCTAssertNil(error)
+                            XCTAssertNotNil(auth)
+                            XCTAssertEqual(auth, self.user.auth!)
+
+                            XCTAssertNotNil(reauthedUser)
+                            XCTAssertNotNil(Usergrid.currentUser)
+
+                            self.user.logout() { response in
+                                XCTAssertTrue(NSThread.isMainThread())
+                                XCTAssertNotNil(response)
+                                XCTAssertTrue(response.ok)
+                                XCTAssertNil(response.error)
+
+                                self.deleteUser(userExpect)
+                            }
+                        }
+                    }
                 }
             }
         }
-        self.waitForExpectationsWithTimeout(10, handler: nil)
+        self.waitForExpectationsWithTimeout(100, handler: nil)
+    }
+
+    func test_RESET_USER_PASSWORD() {
+        let userExpect = self.expectationWithDescription("\(#function)")
+
+        user.create() { (createResponse) in
+            XCTAssertTrue(NSThread.isMainThread())
+            XCTAssertNotNil(createResponse)
+            XCTAssertTrue(createResponse.ok)
+            XCTAssertNotNil(createResponse.user)
+            XCTAssertNotNil(createResponse.users)
+            XCTAssertNotNil(self.user.uuid)
+
+            self.user.login(self.user.username!, password:User_Tests.password) { (auth, loggedInUser, error) -> Void in
+                XCTAssertTrue(NSThread.isMainThread())
+                XCTAssertNil(error)
+                XCTAssertNotNil(auth)
+                XCTAssertNotNil(loggedInUser)
+                XCTAssertEqual(auth, self.user.auth!)
+
+                self.user.resetPassword(User_Tests.password, new: User_Tests.resetPassword) { error,didSucceed in
+                    XCTAssertTrue(NSThread.isMainThread())
+                    XCTAssertTrue(didSucceed)
+                    XCTAssertNil(error)
+
+                    self.user.login(self.user.username!, password:User_Tests.resetPassword) { (auth, loggedInUser, error) -> Void in
+                        XCTAssertTrue(NSThread.isMainThread())
+                        XCTAssertNil(error)
+                        XCTAssertNotNil(auth)
+                        XCTAssertNotNil(loggedInUser)
+                        XCTAssertEqual(auth, self.user.auth!)
+
+                        self.deleteUser(userExpect)
+                    }
+                }
+            }
+        }
+        self.waitForExpectationsWithTimeout(100, handler: nil)
+    }
+
+    func test_DEVICE_CONNECTION() {
+        let userExpect = self.expectationWithDescription("\(#function)")
+
+        user.create() { createResponse in
+            XCTAssertNotNil(createResponse)
+            XCTAssertTrue(createResponse.ok)
+            XCTAssertNotNil(createResponse.user)
+            XCTAssertNotNil(createResponse.users)
+            XCTAssertNotNil(self.user.uuid)
+
+            self.user.connectToDevice() { connectResponse in
+                XCTAssertNotNil(connectResponse)
+                XCTAssertTrue(connectResponse.ok)
+                XCTAssertNil(connectResponse.error)
+
+                self.user.getConnectedDevice() { getConnectedDeviceResponse in
+                    XCTAssertNotNil(getConnectedDeviceResponse)
+                    XCTAssertTrue(getConnectedDeviceResponse.ok)
+                    XCTAssertNil(getConnectedDeviceResponse.error)
+                    XCTAssertNotNil(getConnectedDeviceResponse.entity)
+
+                    if let responseEntity = getConnectedDeviceResponse.entity {
+                        XCTAssertTrue(responseEntity is UsergridDevice)
+                    }
+
+                    self.user.disconnectFromDevice() { disconnectResponse in
+                        XCTAssertNotNil(disconnectResponse)
+                        XCTAssertTrue(disconnectResponse.ok)
+                        XCTAssertNil(disconnectResponse.error)
+
+                        self.deleteUser(userExpect)
+                    }
+                }
+            }
+        }
+        self.waitForExpectationsWithTimeout(100, handler: nil)
+    }
+
+    func test_DEVICE_CONNECT_FAIL() {
+        let userExpect = self.expectationWithDescription("\(#function)")
+
+        user.create() { createResponse in
+            XCTAssertNotNil(createResponse)
+            XCTAssertTrue(createResponse.ok)
+            XCTAssertNotNil(createResponse.user)
+            XCTAssertNotNil(createResponse.users)
+            XCTAssertNotNil(self.user.uuid)
+
+            self.user.connectToDevice() { connectResponse in
+                XCTAssertNotNil(connectResponse)
+                XCTAssertTrue(connectResponse.ok)
+                XCTAssertNil(connectResponse.error)
+
+                self.user.getConnectedDevice() { getConnectedDeviceResponse in
+                    XCTAssertNotNil(getConnectedDeviceResponse)
+                    XCTAssertTrue(getConnectedDeviceResponse.ok)
+                    XCTAssertNil(getConnectedDeviceResponse.error)
+                    XCTAssertNotNil(getConnectedDeviceResponse.entity)
+
+                    if let responseEntity = getConnectedDeviceResponse.entity {
+                        XCTAssertTrue(responseEntity is UsergridDevice)
+                    }
+
+                    self.user.disconnectFromDevice() { disconnectResponse in
+                        XCTAssertNotNil(disconnectResponse)
+                        XCTAssertTrue(disconnectResponse.ok)
+                        XCTAssertNil(disconnectResponse.error)
+
+                        self.deleteUser(userExpect)
+                    }
+                }
+            }
+        }
+        self.waitForExpectationsWithTimeout(100, handler: nil)
+    }
+
+
+    func test_USER_NSCODING() {
+        let userData = NSKeyedArchiver.archivedDataWithRootObject(user)
+        let newInstanceFromData = NSKeyedUnarchiver.unarchiveObjectWithData(userData) as? UsergridUser
+
+        XCTAssertNotNil(newInstanceFromData)
+
+        if let newInstance = newInstanceFromData {
+            XCTAssertEqual(user.uuid,newInstance.uuid)
+            XCTAssertEqual(user.uuidOrName,newInstance.uuidOrName)
+            XCTAssertEqual(user.uuidOrUsername,newInstance.uuidOrUsername)
+            XCTAssertEqual(user.auth,newInstance.auth)
+            XCTAssertEqual(user.created,newInstance.created)
+            XCTAssertEqual(user.modified,newInstance.modified)
+            XCTAssertEqual(user.location!.coordinate.longitude,newInstance.location!.coordinate.longitude)
+            XCTAssertEqual(user.location!.coordinate.latitude,newInstance.location!.coordinate.latitude)
+            XCTAssertEqual(user.name,newInstance.name)
+            XCTAssertEqual(user.age,newInstance.age)
+            XCTAssertEqual(user.username,newInstance.username)
+            XCTAssertEqual(user.email,newInstance.email)
+            XCTAssertEqual(user.picture,newInstance.picture)
+            XCTAssertEqual(user.activated,newInstance.activated)
+            XCTAssertEqual(user.disabled,newInstance.disabled)
+            XCTAssertEqual(user.hasAsset,newInstance.hasAsset)
+        }
     }
 }
\ No newline at end of file
diff --git a/sdks/swift/UsergridSDK.xcodeproj/project.pbxproj b/sdks/swift/UsergridSDK.xcodeproj/project.pbxproj
index 54bd61b..338835c 100644
--- a/sdks/swift/UsergridSDK.xcodeproj/project.pbxproj
+++ b/sdks/swift/UsergridSDK.xcodeproj/project.pbxproj
@@ -870,7 +870,7 @@
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SDKROOT = appletvos;
 				TARGETED_DEVICE_FAMILY = 3;
-				TVOS_DEPLOYMENT_TARGET = 9.1;
+				TVOS_DEPLOYMENT_TARGET = 9.2;
 			};
 			name = Debug;
 		};
@@ -883,7 +883,7 @@
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SDKROOT = appletvos;
 				TARGETED_DEVICE_FAMILY = 3;
-				TVOS_DEPLOYMENT_TARGET = 9.1;
+				TVOS_DEPLOYMENT_TARGET = 9.2;
 			};
 			name = Release;
 		};
diff --git a/sdks/swift/docs/Classes.html b/sdks/swift/docs/Classes.html
index c867dcf..c6b6e22 100644
--- a/sdks/swift/docs/Classes.html
+++ b/sdks/swift/docs/Classes.html
@@ -13,12 +13,12 @@
     <a title="Classes  Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="index.html">UsergridSDK Reference</a>
+        <a href="index.html"> Reference</a>
         <img id="carat" src="img/carat.png" />
         Classes  Reference
       </p>
@@ -91,7 +91,7 @@
             <a href="Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -120,6 +120,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -684,7 +692,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/Usergrid.html b/sdks/swift/docs/Classes/Usergrid.html
index d959029..61bf26f 100644
--- a/sdks/swift/docs/Classes/Usergrid.html
+++ b/sdks/swift/docs/Classes/Usergrid.html
@@ -14,12 +14,12 @@
     <a title="Usergrid Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         Usergrid Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -459,9 +467,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZvC11UsergridSDK8Usergrid12authFallbackOS_20UsergridAuthFallback"></a>
-                    <a name="//apple_ref/swift/Variable/authFallback" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZvC11UsergridSDK8Usergrid12authFallbackOS_20UsergridAuthFallback">authFallback</a>
+                    <a name="/s:ZvC11UsergridSDK8Usergrid8authModeOS_16UsergridAuthMode"></a>
+                    <a name="//apple_ref/swift/Variable/authMode" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZvC11UsergridSDK8Usergrid8authModeOS_16UsergridAuthMode">authMode</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -469,14 +477,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code><a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a></code> value used to determine what type of token will be sent of the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>, if any.</p>
+                        <p>The <code><a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a></code> value used to determine what type of token will be sent of the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>, if any.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">authFallback</span><span class="p">:</span> <span class="kt">UsergridAuthFallback</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">authMode</span><span class="p">:</span> <span class="kt">UsergridAuthMode</span></code></pre>
 
                         </div>
                       </div>
@@ -497,9 +505,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFMS0_FT5orgIdSS5appIdSS_CS_14UsergridClient"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFT5orgIdSS5appIdSS_CS_14UsergridClient"></a>
                     <a name="//apple_ref/swift/Method/initSharedInstance(orgId:appId:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFMS0_FT5orgIdSS5appIdSS_CS_14UsergridClient">initSharedInstance(orgId:appId:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFT5orgIdSS5appIdSS_CS_14UsergridClient">initSharedInstance(orgId:appId:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -562,9 +570,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFMS0_FT5orgIdSS5appIdSS7baseUrlSS_CS_14UsergridClient"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFT5orgIdSS5appIdSS7baseUrlSS_CS_14UsergridClient"></a>
                     <a name="//apple_ref/swift/Method/initSharedInstance(orgId:appId:baseUrl:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFMS0_FT5orgIdSS5appIdSS7baseUrlSS_CS_14UsergridClient">initSharedInstance(orgId:appId:baseUrl:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFT5orgIdSS5appIdSS7baseUrlSS_CS_14UsergridClient">initSharedInstance(orgId:appId:baseUrl:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -640,9 +648,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFMS0_FT13configurationCS_20UsergridClientConfig_CS_14UsergridClient"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFT13configurationCS_20UsergridClientConfig_CS_14UsergridClient"></a>
                     <a name="//apple_ref/swift/Method/initSharedInstance(configuration:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFMS0_FT13configurationCS_20UsergridClientConfig_CS_14UsergridClient">initSharedInstance(configuration:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFT13configurationCS_20UsergridClientConfig_CS_14UsergridClient">initSharedInstance(configuration:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -703,9 +711,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFMS0_FTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/applyPushToken(_:notifierID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFMS0_FTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:notifierID:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:notifierID:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -776,9 +784,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFMS0_FTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/applyPushToken(_:pushToken:notifierID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFMS0_FTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:pushToken:notifierID:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:pushToken:notifierID:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -873,9 +881,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid9usingAuthFMS0_FCS_12UsergridAuthCS_14UsergridClient"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid9usingAuthFCS_12UsergridAuthCS_14UsergridClient"></a>
                     <a name="//apple_ref/swift/Method/usingAuth(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid9usingAuthFMS0_FCS_12UsergridAuthCS_14UsergridClient">usingAuth(_:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid9usingAuthFCS_12UsergridAuthCS_14UsergridClient">usingAuth(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -927,9 +935,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid10usingTokenFMS0_FSSCS_14UsergridClient"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid10usingTokenFSSCS_14UsergridClient"></a>
                     <a name="//apple_ref/swift/Method/usingToken(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10usingTokenFMS0_FSSCS_14UsergridClient">usingToken(_:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10usingTokenFSSCS_14UsergridClient">usingToken(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -981,9 +989,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid15authForRequestsFMS0_FT_GSqCS_12UsergridAuth_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid15authForRequestsFT_GSqCS_12UsergridAuth_"></a>
                     <a name="//apple_ref/swift/Method/authForRequests()" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid15authForRequestsFMS0_FT_GSqCS_12UsergridAuth_">authForRequests()</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid15authForRequestsFT_GSqCS_12UsergridAuth_">authForRequests()</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -995,7 +1003,7 @@
 
 <p>If there is a <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> logged in and the token of that user is valid then it will return that.</p>
 
-<p>Otherwise, if the <code><a href="../Classes/Usergrid.html#/s:ZvC11UsergridSDK8Usergrid12authFallbackOS_20UsergridAuthFallback">authFallback</a></code> is <code>.App</code>, and the <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> of the client is set and the token is valid it will return that.</p>
+<p>Otherwise, if the <code><a href="../Classes/Usergrid.html#/s:ZvC11UsergridSDK8Usergrid8authModeOS_16UsergridAuthMode">authMode</a></code> is <code>.App</code>, and the <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> of the client is set and the token is valid it will return that.</p>
 
                       </div>
                       <div class="declaration">
@@ -1017,9 +1025,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid15authenticateAppFMS0_FTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqCS_21UsergridResponseError__T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid15authenticateAppFTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/authenticateApp(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid15authenticateAppFMS0_FTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqCS_21UsergridResponseError__T___T_">authenticateApp(_:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid15authenticateAppFTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqCS_21UsergridResponseError__T___T_">authenticateApp(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1064,9 +1072,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid15authenticateAppFMS0_FTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqCS_21UsergridResponseError__T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid15authenticateAppFTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/authenticateApp(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid15authenticateAppFMS0_FTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqCS_21UsergridResponseError__T___T_">authenticateApp(_:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid15authenticateAppFTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqCS_21UsergridResponseError__T___T_">authenticateApp(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1124,9 +1132,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid16authenticateUserFMS0_FTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid16authenticateUserFTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/authenticateUser(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid16authenticateUserFMS0_FTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_">authenticateUser(_:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid16authenticateUserFTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_">authenticateUser(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1184,9 +1192,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid16authenticateUserFMS0_FTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid16authenticateUserFTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/authenticateUser(_:setAsCurrentUser:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid16authenticateUserFMS0_FTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_">authenticateUser(_:setAsCurrentUser:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid16authenticateUserFTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_">authenticateUser(_:setAsCurrentUser:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1257,9 +1265,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid17logoutCurrentUserFMS0_FTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/logoutCurrentUser(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid17logoutCurrentUserFMS0_FTGSqFT8responseCS_16UsergridResponse_T___T_">logoutCurrentUser(_:)</a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid13resetPasswordFTCS_12UsergridUser3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/resetPassword(_:old:new:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid13resetPasswordFTCS_12UsergridUser3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_">resetPassword(_:old:new:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1267,7 +1275,93 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Logs out the current user of the shared instance locally and remotely.</p>
+                        <p>Changes the given <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>&rsquo;s current password with the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">resetPassword</span><span class="p">(</span><span class="nv">user</span><span class="p">:</span> <span class="kt">UsergridUser</span><span class="p">,</span> <span class="nv">old</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">new</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridUserResetPasswordCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>user</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The user.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>old</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The old password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>new</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The new password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid17logoutCurrentUserFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/logoutCurrentUser(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid17logoutCurrentUserFTGSqFT8responseCS_16UsergridResponse_T___T_">logoutCurrentUser(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Logs out the current user of the shared instance locally and remotely using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
@@ -1304,9 +1398,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid19logoutUserAllTokensFMS0_FTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid19logoutUserAllTokensFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/logoutUserAllTokens(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid19logoutUserAllTokensFMS0_FTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUserAllTokens(_:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid19logoutUserAllTokensFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUserAllTokens(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1351,9 +1445,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid10logoutUserFMS0_FTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid10logoutUserFTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/logoutUser(_:token:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10logoutUserFMS0_FTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUser(_:token:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10logoutUserFTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUser(_:token:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1411,9 +1505,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid11sendRequestFMS0_FTCS_15UsergridRequest10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid11sendRequestFTCS_15UsergridRequest10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/sendRequest(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid11sendRequestFMS0_FTCS_15UsergridRequest10completionGSqFT8responseCS_16UsergridResponse_T___T_">sendRequest(_:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid11sendRequestFTCS_15UsergridRequest10completionGSqFT8responseCS_16UsergridResponse_T___T_">sendRequest(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1488,9 +1582,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid3GETFMS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid3GETFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/GET(_:uuidOrName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3GETFMS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:uuidOrName:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3GETFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:uuidOrName:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1561,9 +1655,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid3GETFMS0_FTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid3GETFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/GET(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3GETFMS0_FTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3GETFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1621,9 +1715,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid3GETFMS0_FTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid3GETFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/GET(_:queryCompletion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3GETFMS0_FTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:queryCompletion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3GETFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:queryCompletion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1692,9 +1786,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTSS10uuidOrNameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFTSS10uuidOrNameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:uuidOrName:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTSS10uuidOrNameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:uuidOrName:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFTSS10uuidOrNameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:uuidOrName:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1778,9 +1872,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1857,9 +1951,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1917,9 +2011,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTCS_13UsergridQuery8jsonBodyGVSs10DictionarySSPSs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFTCS_13UsergridQuery8jsonBodyGVs10DictionarySSPs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:jsonBody:queryCompletion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTCS_13UsergridQuery8jsonBodyGVSs10DictionarySSPSs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:queryCompletion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFTCS_13UsergridQuery8jsonBodyGVs10DictionarySSPs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:queryCompletion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2007,9 +2101,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTSS4nameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFTSS4nameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:name:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTSS4nameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:name:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFTSS4nameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:name:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2093,9 +2187,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2166,9 +2260,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTSS10jsonBodiesGSaGVSs10DictionarySSPSs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFTSS10jsonBodiesGSaGVs10DictionarySSPs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:jsonBodies:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTSS10jsonBodiesGSaGVSs10DictionarySSPSs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBodies:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFTSS10jsonBodiesGSaGVs10DictionarySSPs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBodies:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2239,9 +2333,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2299,9 +2393,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:entitiesCompletion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:entitiesCompletion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:entitiesCompletion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2376,9 +2470,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid6DELETEFMS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid6DELETEFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/DELETE(_:uuidOrName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid6DELETEFMS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:uuidOrName:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid6DELETEFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:uuidOrName:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2449,9 +2543,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid6DELETEFMS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid6DELETEFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/DELETE(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid6DELETEFMS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid6DELETEFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2515,9 +2609,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid6DELETEFMS0_FTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid6DELETEFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/DELETE(_:queryCompletion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid6DELETEFMS0_FTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:queryCompletion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid6DELETEFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:queryCompletion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2592,9 +2686,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid7connectFMS0_FTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid7connectFTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connect(_:relationship:to:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid7connectFMS0_FTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:relationship:to:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid7connectFTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:relationship:to:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2678,9 +2772,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid7connectFMS0_FTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid7connectFTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connect(_:entityID:relationship:toType:toID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid7connectFMS0_FTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toID:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid7connectFTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toID:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2790,9 +2884,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid7connectFMS0_FTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid7connectFTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connect(_:entityID:relationship:toType:toName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid7connectFMS0_FTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toName:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid7connectFTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toName:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2902,9 +2996,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid10disconnectFMS0_FTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid10disconnectFTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnect(_:relationship:from:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10disconnectFMS0_FTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:relationship:from:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10disconnectFTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:relationship:from:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2988,9 +3082,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid10disconnectFMS0_FTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid10disconnectFTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnect(_:entityID:relationship:fromType:fromID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10disconnectFMS0_FTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromID:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10disconnectFTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromID:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3100,9 +3194,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid10disconnectFMS0_FTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid10disconnectFTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnect(_:entityID:relationship:fromType:fromName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10disconnectFMS0_FTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromName:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10disconnectFTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromName:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3212,9 +3306,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid14getConnectionsFMS0_FTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid14getConnectionsFTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/getConnections(_:entity:relationship:query:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14getConnectionsFMS0_FTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:entity:relationship:query:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14getConnectionsFTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:entity:relationship:query:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3229,7 +3323,7 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -3298,9 +3392,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid14getConnectionsFMS0_FTOS_17UsergridDirection4typeSS10uuidOrNameSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid14getConnectionsFTOS_17UsergridDirection4typeSS10uuidOrNameSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/getConnections(_:type:uuidOrName:relationship:query:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14getConnectionsFMS0_FTOS_17UsergridDirection4typeSS10uuidOrNameSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:type:uuidOrName:relationship:query:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14getConnectionsFTOS_17UsergridDirection4typeSS10uuidOrNameSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:type:uuidOrName:relationship:query:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3315,7 +3409,7 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">type</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">type</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -3410,9 +3504,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid14getConnectionsFMS0_FTOS_17UsergridDirection4uuidSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid14getConnectionsFTOS_17UsergridDirection4uuidSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/getConnections(_:uuid:relationship:query:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14getConnectionsFMS0_FTOS_17UsergridDirection4uuidSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:uuid:relationship:query:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14getConnectionsFTOS_17UsergridDirection4uuidSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:uuid:relationship:query:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3427,7 +3521,7 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">uuid</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">uuid</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -3520,9 +3614,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid11uploadAssetFMS0_FTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS3__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS2__5errorGSqSS__T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid11uploadAssetFTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS3__T__10completionGSqFT5assetGSqS2__8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/uploadAsset(_:asset:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid11uploadAssetFMS0_FTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS3__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS2__5errorGSqSS__T___T_">uploadAsset(_:asset:progress:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid11uploadAssetFTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS3__T__10completionGSqFT5assetGSqS2__8responseCS_16UsergridResponse_T___T_">uploadAsset(_:asset:progress:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3606,9 +3700,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid13downloadAssetFMS0_FTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid13downloadAssetFTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/downloadAsset(_:contentType:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid13downloadAssetFMS0_FTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_">downloadAsset(_:contentType:progress:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid13downloadAssetFTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_">downloadAsset(_:contentType:progress:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3694,7 +3788,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/UsergridAppAuth.html b/sdks/swift/docs/Classes/UsergridAppAuth.html
index 3e5118a..70c940e 100644
--- a/sdks/swift/docs/Classes/UsergridAppAuth.html
+++ b/sdks/swift/docs/Classes/UsergridAppAuth.html
@@ -14,12 +14,12 @@
     <a title="UsergridAppAuth Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridAppAuth Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -215,9 +223,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK15UsergridAppAuthcFMS0_FT8clientIdSS12clientSecretSS_S0_"></a>
+                    <a name="/s:FC11UsergridSDK15UsergridAppAuthcFT8clientIdSS12clientSecretSS_S0_"></a>
                     <a name="//apple_ref/swift/Method/init(clientId:clientSecret:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK15UsergridAppAuthcFMS0_FT8clientIdSS12clientSecretSS_S0_">init(clientId:clientSecret:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK15UsergridAppAuthcFT8clientIdSS12clientSecretSS_S0_">init(clientId:clientSecret:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -291,9 +299,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK15UsergridAppAuthcFMS0_FT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="/s:FC11UsergridSDK15UsergridAppAuthcFT5coderCSo7NSCoder_GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK15UsergridAppAuthcFMS0_FT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK15UsergridAppAuthcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -334,7 +342,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A decoded <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> object.</p>
+                        <p>A decoded <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> object.</p>
 
                       </div>
                     </section>
@@ -343,9 +351,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK15UsergridAppAuth15encodeWithCoderFS0_FCSo7NSCoderT_"></a>
+                    <a name="/s:FC11UsergridSDK15UsergridAppAuth15encodeWithCoderFCSo7NSCoderT_"></a>
                     <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK15UsergridAppAuth15encodeWithCoderFS0_FCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK15UsergridAppAuth15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -392,7 +400,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/UsergridAsset.html b/sdks/swift/docs/Classes/UsergridAsset.html
index b473cd1..568d727 100644
--- a/sdks/swift/docs/Classes/UsergridAsset.html
+++ b/sdks/swift/docs/Classes/UsergridAsset.html
@@ -14,12 +14,12 @@
     <a title="UsergridAsset Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridAsset Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -325,9 +333,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridAssetcFMS0_FT8filenameGSqSS_4dataCSo6NSData16originalLocationGSqSS_11contentTypeSS_S0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridAssetcFT8filenameGSqSS_4dataCSo6NSData16originalLocationGSqSS_11contentTypeSS_S0_"></a>
                     <a name="//apple_ref/swift/Method/init(filename:data:originalLocation:contentType:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAssetcFMS0_FT8filenameGSqSS_4dataCSo6NSData16originalLocationGSqSS_11contentTypeSS_S0_">init(filename:data:originalLocation:contentType:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAssetcFT8filenameGSqSS_4dataCSo6NSData16originalLocationGSqSS_11contentTypeSS_S0_">init(filename:data:originalLocation:contentType:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -416,9 +424,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridAssetcFMS0_FT8fileNameGSqSS_5imageCSo7UIImage16imageContentTypeOS_24UsergridImageContentType_GSqS0__"></a>
-                    <a name="//apple_ref/swift/Method/init(fileName:image:imageContentType:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAssetcFMS0_FT8fileNameGSqSS_5imageCSo7UIImage16imageContentTypeOS_24UsergridImageContentType_GSqS0__">init(fileName:image:imageContentType:)</a>
+                    <a name="/s:FC11UsergridSDK13UsergridAssetcFT8filenameGSqSS_5imageCSo7UIImage16imageContentTypeOS_24UsergridImageContentType_GSqS0__"></a>
+                    <a name="//apple_ref/swift/Method/init(filename:image:imageContentType:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAssetcFT8filenameGSqSS_5imageCSo7UIImage16imageContentTypeOS_24UsergridImageContentType_GSqS0__">init(filename:image:imageContentType:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -433,7 +441,7 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">?(</span><span class="nv">fileName</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kt">UsergridAsset</span><span class="o">.</span><span class="kt">DEFAULT_FILE_NAME</span><span class="p">,</span> <span class="nv">image</span><span class="p">:</span><span class="kt">UIImage</span><span class="p">,</span> <span class="nv">imageContentType</span><span class="p">:</span><span class="kt">UsergridImageContentType</span> <span class="o">=</span> <span class="o">.</span><span class="kt">Png</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">?(</span><span class="nv">filename</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kt">UsergridAsset</span><span class="o">.</span><span class="kt">DEFAULT_FILE_NAME</span><span class="p">,</span> <span class="nv">image</span><span class="p">:</span><span class="kt">UIImage</span><span class="p">,</span> <span class="nv">imageContentType</span><span class="p">:</span><span class="kt">UsergridImageContentType</span> <span class="o">=</span> <span class="o">.</span><span class="kt">Png</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -494,9 +502,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridAssetcFMS0_FT8fileNameGSqSS_7fileURLCSo5NSURL11contentTypeGSqSS__GSqS0__"></a>
-                    <a name="//apple_ref/swift/Method/init(fileName:fileURL:contentType:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAssetcFMS0_FT8fileNameGSqSS_7fileURLCSo5NSURL11contentTypeGSqSS__GSqS0__">init(fileName:fileURL:contentType:)</a>
+                    <a name="/s:FC11UsergridSDK13UsergridAssetcFT8filenameGSqSS_7fileURLCSo5NSURL11contentTypeGSqSS__GSqS0__"></a>
+                    <a name="//apple_ref/swift/Method/init(filename:fileURL:contentType:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAssetcFT8filenameGSqSS_7fileURLCSo5NSURL11contentTypeGSqSS__GSqS0__">init(filename:fileURL:contentType:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -511,7 +519,7 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">?(</span><span class="nv">fileName</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kt">UsergridAsset</span><span class="o">.</span><span class="kt">DEFAULT_FILE_NAME</span><span class="p">,</span> <span class="nv">fileURL</span><span class="p">:</span><span class="kt">NSURL</span><span class="p">,</span> <span class="nv">contentType</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">?(</span><span class="nv">filename</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kt">UsergridAsset</span><span class="o">.</span><span class="kt">DEFAULT_FILE_NAME</span><span class="p">,</span> <span class="nv">fileURL</span><span class="p">:</span><span class="kt">NSURL</span><span class="p">,</span> <span class="nv">contentType</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -583,9 +591,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridAssetcFMS0_FT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridAssetcFT5coderCSo7NSCoder_GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAssetcFMS0_FT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAssetcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -635,9 +643,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridAsset15encodeWithCoderFS0_FCSo7NSCoderT_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridAsset15encodeWithCoderFCSo7NSCoderT_"></a>
                     <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAsset15encodeWithCoderFS0_FCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAsset15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -684,7 +692,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/UsergridAssetUploadRequest.html b/sdks/swift/docs/Classes/UsergridAssetUploadRequest.html
index 393f872..f7a0b00 100644
--- a/sdks/swift/docs/Classes/UsergridAssetUploadRequest.html
+++ b/sdks/swift/docs/Classes/UsergridAssetUploadRequest.html
@@ -14,12 +14,12 @@
     <a title="UsergridAssetUploadRequest Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridAssetUploadRequest Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -242,9 +250,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK26UsergridAssetUploadRequestcFMS0_FT7baseUrlSS5pathsGSqGSaSS__4authGSqCS_12UsergridAuth_5assetCS_13UsergridAsset_S0_"></a>
+                    <a name="/s:FC11UsergridSDK26UsergridAssetUploadRequestcFT7baseUrlSS5pathsGSqGSaSS__4authGSqCS_12UsergridAuth_5assetCS_13UsergridAsset_S0_"></a>
                     <a name="//apple_ref/swift/Method/init(baseUrl:paths:auth:asset:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK26UsergridAssetUploadRequestcFMS0_FT7baseUrlSS5pathsGSqGSaSS__4authGSqCS_12UsergridAuth_5assetCS_13UsergridAsset_S0_">init(baseUrl:paths:auth:asset:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK26UsergridAssetUploadRequestcFT7baseUrlSS5pathsGSqGSaSS__4authGSqCS_12UsergridAuth_5assetCS_13UsergridAsset_S0_">init(baseUrl:paths:auth:asset:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -338,7 +346,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/UsergridAuth.html b/sdks/swift/docs/Classes/UsergridAuth.html
index 9db7a66..8d1f6fd 100644
--- a/sdks/swift/docs/Classes/UsergridAuth.html
+++ b/sdks/swift/docs/Classes/UsergridAuth.html
@@ -14,12 +14,12 @@
     <a title="UsergridAuth Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridAuth Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -325,9 +333,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridAuthcFMS0_FT11accessTokenSS6expiryGSqCSo6NSDate__S0_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridAuthcFT11accessTokenSS6expiryGSqCSo6NSDate__S0_"></a>
                     <a name="//apple_ref/swift/Method/init(accessToken:expiry:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridAuthcFMS0_FT11accessTokenSS6expiryGSqCSo6NSDate__S0_">init(accessToken:expiry:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridAuthcFT11accessTokenSS6expiryGSqCSo6NSDate__S0_">init(accessToken:expiry:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -401,9 +409,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridAuthcFMS0_FT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridAuthcFT5coderCSo7NSCoder_GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridAuthcFMS0_FT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridAuthcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -444,7 +452,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A decoded <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> object.</p>
+                        <p>A decoded <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code> object.</p>
 
                       </div>
                     </section>
@@ -453,9 +461,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridAuth15encodeWithCoderFS0_FCSo7NSCoderT_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridAuth15encodeWithCoderFCSo7NSCoderT_"></a>
                     <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridAuth15encodeWithCoderFS0_FCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridAuth15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -511,9 +519,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridAuth7destroyFS0_FT_T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridAuth7destroyFT_T_"></a>
                     <a name="//apple_ref/swift/Method/destroy()" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridAuth7destroyFS0_FT_T_">destroy()</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridAuth7destroyFT_T_">destroy()</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -540,7 +548,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/UsergridClient.html b/sdks/swift/docs/Classes/UsergridClient.html
index 0b1b378..09c2175 100644
--- a/sdks/swift/docs/Classes/UsergridClient.html
+++ b/sdks/swift/docs/Classes/UsergridClient.html
@@ -14,12 +14,12 @@
     <a title="UsergridClient Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridClient Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -285,6 +293,33 @@
                 <li class="item">
                   <div>
                     <code>
+                    <a name="/s:vC11UsergridSDK14UsergridClient12clientAppURLSS"></a>
+                    <a name="//apple_ref/swift/Property/clientAppURL" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK14UsergridClient12clientAppURLSS">clientAppURL</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The constructed URL string based on the <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>&rsquo;s <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient7baseUrlSS">baseUrl</a></code>, <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient5orgIdSS">orgId</a></code>, and <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient5appIdSS">appId</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">clientAppURL</span> <span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="s">"</span><span class="se">\(</span><span class="n">baseUrl</span><span class="se">)</span><span class="s">/</span><span class="se">\(</span><span class="n">orgId</span><span class="se">)</span><span class="s">/</span><span class="se">\(</span><span class="n">appId</span><span class="se">)</span><span class="s">"</span> <span class="p">}</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
                     <a name="/s:vC11UsergridSDK14UsergridClient28persistCurrentUserInKeychainSb"></a>
                     <a name="//apple_ref/swift/Property/persistCurrentUserInKeychain" class="dashAnchor"></a>
                     <a class="token" href="#/s:vC11UsergridSDK14UsergridClient28persistCurrentUserInKeychainSb">persistCurrentUserInKeychain</a>
@@ -393,9 +428,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK14UsergridClient12authFallbackOS_20UsergridAuthFallback"></a>
-                    <a name="//apple_ref/swift/Property/authFallback" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK14UsergridClient12authFallbackOS_20UsergridAuthFallback">authFallback</a>
+                    <a name="/s:vC11UsergridSDK14UsergridClient8authModeOS_16UsergridAuthMode"></a>
+                    <a name="//apple_ref/swift/Property/authMode" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK14UsergridClient8authModeOS_16UsergridAuthMode">authMode</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -403,14 +438,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code><a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a></code> value used to determine what type of token will be sent, if any.</p>
+                        <p>The <code><a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a></code> value used to determine what type of token will be sent, if any.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">authFallback</span><span class="p">:</span> <span class="kt">UsergridAuthFallback</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">authMode</span><span class="p">:</span> <span class="kt">UsergridAuthMode</span></code></pre>
 
                         </div>
                       </div>
@@ -431,9 +466,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClientcFMS0_FT5orgIdSS5appIdSS_S0_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClientcFT5orgIdSS5appIdSS_S0_"></a>
                     <a name="//apple_ref/swift/Method/init(orgId:appId:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClientcFMS0_FT5orgIdSS5appIdSS_S0_">init(orgId:appId:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClientcFT5orgIdSS5appIdSS_S0_">init(orgId:appId:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -496,9 +531,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClientcFMS0_FT5orgIdSS5appIdSS7baseUrlSS_S0_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClientcFT5orgIdSS5appIdSS7baseUrlSS_S0_"></a>
                     <a name="//apple_ref/swift/Method/init(orgId:appId:baseUrl:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClientcFMS0_FT5orgIdSS5appIdSS7baseUrlSS_S0_">init(orgId:appId:baseUrl:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClientcFT5orgIdSS5appIdSS7baseUrlSS_S0_">init(orgId:appId:baseUrl:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -574,9 +609,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClientcFMS0_FT13configurationCS_20UsergridClientConfig_S0_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClientcFT13configurationCS_20UsergridClientConfig_S0_"></a>
                     <a name="//apple_ref/swift/Method/init(configuration:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClientcFMS0_FT13configurationCS_20UsergridClientConfig_S0_">init(configuration:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClientcFT13configurationCS_20UsergridClientConfig_S0_">init(configuration:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -637,9 +672,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClientcFMS0_FT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClientcFT5coderCSo7NSCoder_GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClientcFMS0_FT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClientcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -689,9 +724,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient15encodeWithCoderFS0_FCSo7NSCoderT_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient15encodeWithCoderFCSo7NSCoderT_"></a>
                     <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient15encodeWithCoderFS0_FCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -747,9 +782,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient14applyPushTokenFS0_FTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient14applyPushTokenFTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/applyPushToken(_:notifierID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14applyPushTokenFS0_FTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:notifierID:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14applyPushTokenFTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:notifierID:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -820,9 +855,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient14applyPushTokenFS0_FTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient14applyPushTokenFTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/applyPushToken(_:pushToken:notifierID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14applyPushTokenFS0_FTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:pushToken:notifierID:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14applyPushTokenFTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:pushToken:notifierID:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -917,9 +952,47 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient9usingAuthFS0_FCS_12UsergridAuthDS0_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient15authForRequestsFT_GSqCS_12UsergridAuth_"></a>
+                    <a name="//apple_ref/swift/Method/authForRequests()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient15authForRequestsFT_GSqCS_12UsergridAuth_">authForRequests()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Determines the <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code> object that will be used for all outgoing requests made.</p>
+
+<p>If there is a valid temporary <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code> set by the functions <code>usingAuth</code> or <code>usingToken</code> it will return that.</p>
+
+<p>If there is a <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> logged in and the token of that user is valid then it will return that.</p>
+
+<p>Otherwise, if the <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient8authModeOS_16UsergridAuthMode">authMode</a></code> is <code>.App</code>, and the <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> of the client is set and the token is valid it will return that.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">authForRequests</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">UsergridAuth</span><span class="p">?</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>The <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code> if one is found or nil if not.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridClient9usingAuthFCS_12UsergridAuthDS0_"></a>
                     <a name="//apple_ref/swift/Method/usingAuth(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient9usingAuthFS0_FCS_12UsergridAuthDS0_">usingAuth(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient9usingAuthFCS_12UsergridAuthDS0_">usingAuth(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -971,9 +1044,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient10usingTokenFS0_FSSDS0_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient10usingTokenFSSDS0_"></a>
                     <a name="//apple_ref/swift/Method/usingToken(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10usingTokenFS0_FSSDS0_">usingToken(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10usingTokenFSSDS0_">usingToken(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1025,9 +1098,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient15authenticateAppFS0_FTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqCS_21UsergridResponseError__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient15authenticateAppFTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/authenticateApp(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient15authenticateAppFS0_FTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqCS_21UsergridResponseError__T___T_">authenticateApp(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient15authenticateAppFTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqCS_21UsergridResponseError__T___T_">authenticateApp(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1072,9 +1145,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient15authenticateAppFS0_FTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqCS_21UsergridResponseError__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient15authenticateAppFTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/authenticateApp(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient15authenticateAppFS0_FTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqCS_21UsergridResponseError__T___T_">authenticateApp(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient15authenticateAppFTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqCS_21UsergridResponseError__T___T_">authenticateApp(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1132,9 +1205,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient16authenticateUserFS0_FTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient16authenticateUserFTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/authenticateUser(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient16authenticateUserFS0_FTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_">authenticateUser(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient16authenticateUserFTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_">authenticateUser(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1192,9 +1265,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient16authenticateUserFS0_FTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient16authenticateUserFTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/authenticateUser(_:setAsCurrentUser:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient16authenticateUserFS0_FTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_">authenticateUser(_:setAsCurrentUser:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient16authenticateUserFTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_">authenticateUser(_:setAsCurrentUser:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1265,9 +1338,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient13resetPasswordFS0_FTCS_12UsergridUser3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient13resetPasswordFTCS_12UsergridUser3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_"></a>
                     <a name="//apple_ref/swift/Method/resetPassword(_:old:new:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient13resetPasswordFS0_FTCS_12UsergridUser3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_">resetPassword(_:old:new:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient13resetPasswordFTCS_12UsergridUser3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_">resetPassword(_:old:new:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1275,7 +1348,7 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Changes the give <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>&rsquo;s current password with the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+                        <p>Changes the given <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>&rsquo;s current password.</p>
 
                       </div>
                       <div class="declaration">
@@ -1351,9 +1424,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient17logoutCurrentUserFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient17logoutCurrentUserFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/logoutCurrentUser(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient17logoutCurrentUserFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_">logoutCurrentUser(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient17logoutCurrentUserFTGSqFT8responseCS_16UsergridResponse_T___T_">logoutCurrentUser(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1398,9 +1471,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient19logoutUserAllTokensFS0_FTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient19logoutUserAllTokensFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/logoutUserAllTokens(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient19logoutUserAllTokensFS0_FTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUserAllTokens(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient19logoutUserAllTokensFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUserAllTokens(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1445,9 +1518,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient10logoutUserFS0_FTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient10logoutUserFTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/logoutUser(_:token:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10logoutUserFS0_FTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUser(_:token:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10logoutUserFTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUser(_:token:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1505,9 +1578,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient11sendRequestFS0_FTCS_15UsergridRequest10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient11sendRequestFTCS_15UsergridRequest10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/sendRequest(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient11sendRequestFS0_FTCS_15UsergridRequest10completionGSqFT8responseCS_16UsergridResponse_T___T_">sendRequest(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient11sendRequestFTCS_15UsergridRequest10completionGSqFT8responseCS_16UsergridResponse_T___T_">sendRequest(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1582,9 +1655,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient3GETFS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient3GETFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/GET(_:uuidOrName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3GETFS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:uuidOrName:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3GETFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:uuidOrName:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1655,9 +1728,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient3GETFS0_FTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient3GETFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/GET(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3GETFS0_FTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3GETFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1715,9 +1788,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient3GETFS0_FTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient3GETFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/GET(_:queryCompletion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3GETFS0_FTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:queryCompletion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3GETFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:queryCompletion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1786,9 +1859,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTSS10uuidOrNameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFTSS10uuidOrNameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:uuidOrName:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTSS10uuidOrNameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:uuidOrName:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFTSS10uuidOrNameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:uuidOrName:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1872,9 +1945,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1932,9 +2005,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2011,9 +2084,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTCS_13UsergridQuery8jsonBodyGVSs10DictionarySSPSs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFTCS_13UsergridQuery8jsonBodyGVs10DictionarySSPs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:jsonBody:queryCompletion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTCS_13UsergridQuery8jsonBodyGVSs10DictionarySSPSs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:queryCompletion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFTCS_13UsergridQuery8jsonBodyGVs10DictionarySSPs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:queryCompletion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2101,9 +2174,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2163,9 +2236,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:entitiesCompletion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:entitiesCompletion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:entitiesCompletion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2229,9 +2302,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2302,9 +2375,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTSS10jsonBodiesGSaGVSs10DictionarySSPSs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFTSS10jsonBodiesGSaGVs10DictionarySSPs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:jsonBodies:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTSS10jsonBodiesGSaGVSs10DictionarySSPSs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBodies:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFTSS10jsonBodiesGSaGVs10DictionarySSPs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBodies:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2375,9 +2448,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTSS4nameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFTSS4nameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:name:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTSS4nameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:name:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFTSS4nameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:name:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2472,9 +2545,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient6DELETEFS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient6DELETEFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/DELETE(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient6DELETEFS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient6DELETEFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2538,9 +2611,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient6DELETEFS0_FTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient6DELETEFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/DELETE(_:queryCompletion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient6DELETEFS0_FTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:queryCompletion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient6DELETEFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:queryCompletion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2604,9 +2677,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient6DELETEFS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient6DELETEFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/DELETE(_:uuidOrName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient6DELETEFS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:uuidOrName:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient6DELETEFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:uuidOrName:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2688,9 +2761,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient7connectFS0_FTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient7connectFTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connect(_:relationship:to:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient7connectFS0_FTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:relationship:to:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient7connectFTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:relationship:to:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2774,9 +2847,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient7connectFS0_FTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient7connectFTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connect(_:entityID:relationship:toType:toName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient7connectFS0_FTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toName:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient7connectFTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toName:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2886,9 +2959,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient7connectFS0_FTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient7connectFTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connect(_:entityID:relationship:toType:toID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient7connectFS0_FTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toID:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient7connectFTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toID:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2998,9 +3071,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient10disconnectFS0_FTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient10disconnectFTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnect(_:relationship:from:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10disconnectFS0_FTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:relationship:from:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10disconnectFTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:relationship:from:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3084,9 +3157,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient10disconnectFS0_FTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient10disconnectFTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnect(_:entityID:relationship:fromType:fromName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10disconnectFS0_FTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromName:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10disconnectFTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromName:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3196,9 +3269,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient10disconnectFS0_FTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient10disconnectFTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnect(_:entityID:relationship:fromType:fromID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10disconnectFS0_FTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromID:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10disconnectFTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromID:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3308,9 +3381,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient14getConnectionsFS0_FTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient14getConnectionsFTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/getConnections(_:entity:relationship:query:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14getConnectionsFS0_FTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:entity:relationship:query:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14getConnectionsFTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:entity:relationship:query:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3325,7 +3398,7 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -3394,9 +3467,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient14getConnectionsFS0_FTOS_17UsergridDirection4typeSS10uuidOrNameSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient14getConnectionsFTOS_17UsergridDirection4typeSS10uuidOrNameSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/getConnections(_:type:uuidOrName:relationship:query:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14getConnectionsFS0_FTOS_17UsergridDirection4typeSS10uuidOrNameSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:type:uuidOrName:relationship:query:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14getConnectionsFTOS_17UsergridDirection4typeSS10uuidOrNameSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:type:uuidOrName:relationship:query:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3411,7 +3484,7 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">type</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">type</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -3506,9 +3579,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient14getConnectionsFS0_FTOS_17UsergridDirection4uuidSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient14getConnectionsFTOS_17UsergridDirection4uuidSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/getConnections(_:uuid:relationship:query:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14getConnectionsFS0_FTOS_17UsergridDirection4uuidSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:uuid:relationship:query:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14getConnectionsFTOS_17UsergridDirection4uuidSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:uuid:relationship:query:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3523,7 +3596,7 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">uuid</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">uuid</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -3616,9 +3689,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient11uploadAssetFS0_FTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS3__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS2__5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient11uploadAssetFTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS3__T__10completionGSqFT5assetGSqS2__8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/uploadAsset(_:asset:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient11uploadAssetFS0_FTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS3__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS2__5errorGSqSS__T___T_">uploadAsset(_:asset:progress:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient11uploadAssetFTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS3__T__10completionGSqFT5assetGSqS2__8responseCS_16UsergridResponse_T___T_">uploadAsset(_:asset:progress:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3702,9 +3775,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient13downloadAssetFS0_FTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient13downloadAssetFTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/downloadAsset(_:contentType:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient13downloadAssetFS0_FTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_">downloadAsset(_:contentType:progress:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient13downloadAssetFTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_">downloadAsset(_:contentType:progress:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3790,7 +3863,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/UsergridClientConfig.html b/sdks/swift/docs/Classes/UsergridClientConfig.html
index 7a6a8c7..b7abeab 100644
--- a/sdks/swift/docs/Classes/UsergridClientConfig.html
+++ b/sdks/swift/docs/Classes/UsergridClientConfig.html
@@ -14,12 +14,12 @@
     <a title="UsergridClientConfig Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridClientConfig Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -260,9 +268,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK20UsergridClientConfig12authFallbackOS_20UsergridAuthFallback"></a>
-                    <a name="//apple_ref/swift/Property/authFallback" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK20UsergridClientConfig12authFallbackOS_20UsergridAuthFallback">authFallback</a>
+                    <a name="/s:vC11UsergridSDK20UsergridClientConfig8authModeOS_16UsergridAuthMode"></a>
+                    <a name="//apple_ref/swift/Property/authMode" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK20UsergridClientConfig8authModeOS_16UsergridAuthMode">authMode</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -270,14 +278,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code><a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a></code> value used to determine what type of token will be sent, if any.</p>
+                        <p>The <code><a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a></code> value used to determine what type of token will be sent, if any.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">authFallback</span><span class="p">:</span> <span class="kt">UsergridAuthFallback</span> <span class="o">=</span> <span class="o">.</span><span class="kt">None</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">authMode</span><span class="p">:</span> <span class="kt">UsergridAuthMode</span> <span class="o">=</span> <span class="o">.</span><span class="kt">User</span></code></pre>
 
                         </div>
                       </div>
@@ -354,9 +362,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK20UsergridClientConfigcFMS0_FT5orgIdSS5appIdSS_S0_"></a>
+                    <a name="/s:FC11UsergridSDK20UsergridClientConfigcFT5orgIdSS5appIdSS_S0_"></a>
                     <a name="//apple_ref/swift/Method/init(orgId:appId:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfigcFMS0_FT5orgIdSS5appIdSS_S0_">init(orgId:appId:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfigcFT5orgIdSS5appIdSS_S0_">init(orgId:appId:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -419,9 +427,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK20UsergridClientConfigcFMS0_FT5orgIdSS5appIdSS7baseUrlSS_S0_"></a>
+                    <a name="/s:FC11UsergridSDK20UsergridClientConfigcFT5orgIdSS5appIdSS7baseUrlSS_S0_"></a>
                     <a name="//apple_ref/swift/Method/init(orgId:appId:baseUrl:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfigcFMS0_FT5orgIdSS5appIdSS7baseUrlSS_S0_">init(orgId:appId:baseUrl:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfigcFT5orgIdSS5appIdSS7baseUrlSS_S0_">init(orgId:appId:baseUrl:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -497,9 +505,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK20UsergridClientConfigcFMS0_FT5orgIdSS5appIdSS7baseUrlSS12authFallbackOS_20UsergridAuthFallback28persistCurrentUserInKeychainSb7appAuthGSqCS_15UsergridAppAuth__S0_"></a>
-                    <a name="//apple_ref/swift/Method/init(orgId:appId:baseUrl:authFallback:persistCurrentUserInKeychain:appAuth:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfigcFMS0_FT5orgIdSS5appIdSS7baseUrlSS12authFallbackOS_20UsergridAuthFallback28persistCurrentUserInKeychainSb7appAuthGSqCS_15UsergridAppAuth__S0_">init(orgId:appId:baseUrl:authFallback:persistCurrentUserInKeychain:appAuth:)</a>
+                    <a name="/s:FC11UsergridSDK20UsergridClientConfigcFT5orgIdSS5appIdSS7baseUrlSS8authModeOS_16UsergridAuthMode28persistCurrentUserInKeychainSb7appAuthGSqCS_15UsergridAppAuth__S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(orgId:appId:baseUrl:authMode:persistCurrentUserInKeychain:appAuth:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfigcFT5orgIdSS5appIdSS7baseUrlSS8authModeOS_16UsergridAuthMode28persistCurrentUserInKeychainSb7appAuthGSqCS_15UsergridAppAuth__S0_">init(orgId:appId:baseUrl:authMode:persistCurrentUserInKeychain:appAuth:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -514,7 +522,7 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">orgId</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appId</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">baseUrl</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">authFallback</span><span class="p">:</span><span class="kt">UsergridAuthFallback</span><span class="p">,</span> <span class="nv">persistCurrentUserInKeychain</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span> <span class="nv">appAuth</span><span class="p">:</span><span class="kt">UsergridAppAuth</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">orgId</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appId</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">baseUrl</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">authMode</span><span class="p">:</span><span class="kt">UsergridAuthMode</span><span class="p">,</span> <span class="nv">persistCurrentUserInKeychain</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span> <span class="nv">appAuth</span><span class="p">:</span><span class="kt">UsergridAppAuth</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -564,12 +572,12 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>authFallback</em>
+                                <em>authMode</em>
                                 </code>
                               </td>
                               <td>
                                 <div>
-                                  <p>The <code>UsergridAuthFallback</code> value used to determine what type of token will be sent, if any.</p>
+                                  <p>The <code>UsergridAuthMode</code> value used to determine what type of token will be sent, if any.</p>
 
                                 </div>
                               </td>
@@ -625,9 +633,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK20UsergridClientConfigcFMS0_FT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="/s:FC11UsergridSDK20UsergridClientConfigcFT5coderCSo7NSCoder_GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfigcFMS0_FT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfigcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -677,9 +685,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK20UsergridClientConfig15encodeWithCoderFS0_FCSo7NSCoderT_"></a>
+                    <a name="/s:FC11UsergridSDK20UsergridClientConfig15encodeWithCoderFCSo7NSCoderT_"></a>
                     <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfig15encodeWithCoderFS0_FCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfig15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -726,7 +734,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/UsergridDevice.html b/sdks/swift/docs/Classes/UsergridDevice.html
index 655c810..9cda8aa 100644
--- a/sdks/swift/docs/Classes/UsergridDevice.html
+++ b/sdks/swift/docs/Classes/UsergridDevice.html
@@ -14,12 +14,12 @@
     <a title="UsergridDevice Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridDevice Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -172,9 +180,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:sC11UsergridSDK14UsergridDevice9subscriptFSSGSqPSs9AnyObject__"></a>
+                    <a name="/s:iC11UsergridSDK14UsergridDevice9subscriptFSSGSqPs9AnyObject__"></a>
                     <a name="//apple_ref/swift/Method/subscript(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:sC11UsergridSDK14UsergridDevice9subscriptFSSGSqPSs9AnyObject__">subscript(_:)</a>
+                    <a class="token" href="#/s:iC11UsergridSDK14UsergridDevice9subscriptFSSGSqPs9AnyObject__">subscript(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -221,33 +229,6 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK14UsergridDevice4uuidGSQSS_"></a>
-                    <a name="//apple_ref/swift/Property/uuid" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK14UsergridDevice4uuidGSQSS_">uuid</a>
-                    </code>
-                  </div>
-                  <div class="height-container">
-                    <div class="pointer-container"></div>
-                    <section class="section">
-                      <div class="pointer"></div>
-                      <div class="abstract">
-                        <p>Property helper method for the <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> objects <code>uuid</code>.</p>
-
-                      </div>
-                      <div class="declaration">
-                        <h4>Declaration</h4>
-                        <div class="language">
-                          <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="k">override</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">uuid</span><span class="p">:</span> <span class="kt">String</span><span class="o">!</span> <span class="p">{</span> <span class="k">return</span> <span class="k">super</span><span class="p">[</span><span class="kt">UsergridEntityProperties</span><span class="o">.</span><span class="kt">UUID</span><span class="o">.</span><span class="n">stringValue</span><span class="p">]</span> <span class="k">as!</span> <span class="kt">String</span> <span class="p">}</span></code></pre>
-
-                        </div>
-                      </div>
-                    </section>
-                  </div>
-                </li>
-                <li class="item">
-                  <div>
-                    <code>
                     <a name="/s:vC11UsergridSDK14UsergridDevice5modelSS"></a>
                     <a name="//apple_ref/swift/Property/model" class="dashAnchor"></a>
                     <a class="token" href="#/s:vC11UsergridSDK14UsergridDevice5modelSS">model</a>
@@ -367,9 +348,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridDevicecFMS0_FT_S0_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridDevicecFT_S0_"></a>
                     <a name="//apple_ref/swift/Method/init()" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevicecFMS0_FT_S0_">init()</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevicecFT_S0_">init()</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -401,9 +382,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridDevicecFMS0_FT4typeSS4nameGSqSS_12propertyDictGSqGVSs10DictionarySSPSs9AnyObject____S0_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridDevicecFT4typeSS4nameGSqSS_12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_"></a>
                     <a name="//apple_ref/swift/Method/init(type:name:propertyDict:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevicecFMS0_FT4typeSS4nameGSqSS_12propertyDictGSqGVSs10DictionarySSPSs9AnyObject____S0_">init(type:name:propertyDict:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevicecFT4typeSS4nameGSqSS_12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_">init(type:name:propertyDict:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -490,9 +471,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridDevicecFMS0_FT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridDevicecFT5coderCSo7NSCoder_GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevicecFMS0_FT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevicecFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -542,9 +523,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridDevice15encodeWithCoderFS0_FCSo7NSCoderT_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridDevice15encodeWithCoderFCSo7NSCoderT_"></a>
                     <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevice15encodeWithCoderFS0_FCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevice15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -586,6 +567,144 @@
                     </section>
                   </div>
                 </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridDevice4saveFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/save(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevice4saveFTGSqFT8responseCS_16UsergridResponse_T___T_">save(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Performs a PUT (or POST if no UUID is found) on the <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+
+<p>If this device is equal to <code><a href="../Classes/UsergridDevice.html#/s:ZvC11UsergridSDK14UsergridDevice12sharedDeviceS0_">UsergridDevice.sharedDevice</a></code> it will also update the shared device on the keychain.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">override</span> <span class="kd">func</span> <span class="nf">save</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>An optional completion block that, if successful, will contain the updated/saved <code>UsergridEntity</code> object.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridDevice4saveFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/save(_:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevice4saveFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">save(_:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Performs a PUT (or POST if no UUID is found) on the <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code>.</p>
+
+<p>If this device is equal to <code><a href="../Classes/UsergridDevice.html#/s:ZvC11UsergridSDK14UsergridDevice12sharedDeviceS0_">UsergridDevice.sharedDevice</a></code> it will also update the shared device on the keychain.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">override</span> <span class="kd">func</span> <span class="nf">save</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>client</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The client to use when saving.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>An optional completion block that, if successful, will contain the updated/saved <code>UsergridEntity</code> object.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFC11UsergridSDK14UsergridDevice26saveSharedDeviceToKeychainFT_T_"></a>
+                    <a name="//apple_ref/swift/Method/saveSharedDeviceToKeychain()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridDevice26saveSharedDeviceToKeychainFT_T_">saveSharedDeviceToKeychain()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Saves the <code><a href="../Classes/UsergridDevice.html#/s:ZvC11UsergridSDK14UsergridDevice12sharedDeviceS0_">UsergridDevice.sharedDevice</a></code> to the keychain.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">saveSharedDeviceToKeychain</span><span class="p">()</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
               </ul>
             </div>
             <div class="task-group">
@@ -600,9 +719,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK14UsergridDevice24commonDevicePropertyDictFMS0_FT_GVSs10DictionarySSPSs9AnyObject__"></a>
+                    <a name="/s:ZFC11UsergridSDK14UsergridDevice24commonDevicePropertyDictFT_GVs10DictionarySSPs9AnyObject__"></a>
                     <a name="//apple_ref/swift/Method/commonDevicePropertyDict()" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridDevice24commonDevicePropertyDictFMS0_FT_GVSs10DictionarySSPSs9AnyObject__">commonDevicePropertyDict()</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridDevice24commonDevicePropertyDictFT_GVs10DictionarySSPs9AnyObject__">commonDevicePropertyDict()</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -634,7 +753,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/UsergridEntity.html b/sdks/swift/docs/Classes/UsergridEntity.html
index 7d937fd..280138b 100644
--- a/sdks/swift/docs/Classes/UsergridEntity.html
+++ b/sdks/swift/docs/Classes/UsergridEntity.html
@@ -14,12 +14,12 @@
     <a title="UsergridEntity Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridEntity Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -172,9 +180,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:sC11UsergridSDK14UsergridEntity9subscriptFSSGSqPSs9AnyObject__"></a>
+                    <a name="/s:iC11UsergridSDK14UsergridEntity9subscriptFSSGSqPs9AnyObject__"></a>
                     <a name="//apple_ref/swift/Method/subscript(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:sC11UsergridSDK14UsergridEntity9subscriptFSSGSqPSs9AnyObject__">subscript(_:)</a>
+                    <a class="token" href="#/s:iC11UsergridSDK14UsergridEntity9subscriptFSSGSqPs9AnyObject__">subscript(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -235,7 +243,7 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">asset</span><span class="p">:</span> <span class="kt">UsergridAsset</span><span class="p">?</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">internal(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">asset</span><span class="p">:</span> <span class="kt">UsergridAsset</span><span class="p">?</span></code></pre>
 
                         </div>
                       </div>
@@ -262,7 +270,7 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">private(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">fileMetaData</span> <span class="p">:</span> <span class="kt">UsergridFileMetaData</span><span class="p">?</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">internal(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">fileMetaData</span> <span class="p">:</span> <span class="kt">UsergridFileMetaData</span><span class="p">?</span></code></pre>
 
                         </div>
                       </div>
@@ -515,9 +523,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK14UsergridEntity15jsonObjectValueGVSs10DictionarySSPSs9AnyObject__"></a>
+                    <a name="/s:vC11UsergridSDK14UsergridEntity15jsonObjectValueGVs10DictionarySSPs9AnyObject__"></a>
                     <a name="//apple_ref/swift/Property/jsonObjectValue" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK14UsergridEntity15jsonObjectValueGVSs10DictionarySSPSs9AnyObject__">jsonObjectValue</a>
+                    <a class="token" href="#/s:vC11UsergridSDK14UsergridEntity15jsonObjectValueGVs10DictionarySSPs9AnyObject__">jsonObjectValue</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -634,9 +642,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntitycFMS0_FT4typeSS4nameGSqSS_12propertyDictGSqGVSs10DictionarySSPSs9AnyObject____S0_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntitycFT4typeSS4nameGSqSS_12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_"></a>
                     <a name="//apple_ref/swift/Method/init(type:name:propertyDict:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntitycFMS0_FT4typeSS4nameGSqSS_12propertyDictGSqGVSs10DictionarySSPSs9AnyObject____S0_">init(type:name:propertyDict:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntitycFT4typeSS4nameGSqSS_12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_">init(type:name:propertyDict:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -712,9 +720,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK14UsergridEntity13mapCustomTypeFMS0_FTSS10toSubclassMS0__T_"></a>
+                    <a name="/s:ZFC11UsergridSDK14UsergridEntity13mapCustomTypeFTSS10toSubclassMS0__T_"></a>
                     <a name="//apple_ref/swift/Method/mapCustomType(_:toSubclass:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridEntity13mapCustomTypeFMS0_FTSS10toSubclassMS0__T_">mapCustomType(_:toSubclass:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridEntity13mapCustomTypeFTSS10toSubclassMS0__T_">mapCustomType(_:toSubclass:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -772,9 +780,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK14UsergridEntity6entityFMS0_FT8jsonDictGVSs10DictionarySSPSs9AnyObject___GSqS0__"></a>
+                    <a name="/s:ZFC11UsergridSDK14UsergridEntity6entityFT8jsonDictGVs10DictionarySSPs9AnyObject___GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/entity(jsonDict:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridEntity6entityFMS0_FT8jsonDictGVSs10DictionarySSPSs9AnyObject___GSqS0__">entity(jsonDict:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridEntity6entityFT8jsonDictGVs10DictionarySSPs9AnyObject___GSqS0__">entity(jsonDict:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -824,9 +832,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK14UsergridEntity8entitiesFMS0_FT9jsonArrayGSaGVSs10DictionarySSPSs9AnyObject____GSaS0__"></a>
+                    <a name="/s:ZFC11UsergridSDK14UsergridEntity8entitiesFT9jsonArrayGSaGVs10DictionarySSPs9AnyObject____GSaS0__"></a>
                     <a name="//apple_ref/swift/Method/entities(jsonArray:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridEntity8entitiesFMS0_FT9jsonArrayGSaGVSs10DictionarySSPSs9AnyObject____GSaS0__">entities(jsonArray:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridEntity8entitiesFT9jsonArrayGSaGVs10DictionarySSPs9AnyObject____GSaS0__">entities(jsonArray:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -887,9 +895,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntitycFMS0_FT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntitycFT5coderCSo7NSCoder_GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntitycFMS0_FT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntitycFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -939,9 +947,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity15encodeWithCoderFS0_FCSo7NSCoderT_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity15encodeWithCoderFCSo7NSCoderT_"></a>
                     <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity15encodeWithCoderFS0_FCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -997,9 +1005,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity11putPropertyFS0_FTSS5valueGSqPSs9AnyObject___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity11putPropertyFTSS5valueGSqPs9AnyObject___T_"></a>
                     <a name="//apple_ref/swift/Method/putProperty(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity11putPropertyFS0_FTSS5valueGSqPSs9AnyObject___T_">putProperty(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity11putPropertyFTSS5valueGSqPs9AnyObject___T_">putProperty(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1057,9 +1065,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity13putPropertiesFS0_FGVSs10DictionarySSPSs9AnyObject__T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity13putPropertiesFGVs10DictionarySSPs9AnyObject__T_"></a>
                     <a name="//apple_ref/swift/Method/putProperties(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity13putPropertiesFS0_FGVSs10DictionarySSPSs9AnyObject__T_">putProperties(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity13putPropertiesFGVs10DictionarySSPs9AnyObject__T_">putProperties(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1104,9 +1112,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity14removePropertyFS0_FSST_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity14removePropertyFSST_"></a>
                     <a name="//apple_ref/swift/Method/removeProperty(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity14removePropertyFS0_FSST_">removeProperty(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity14removePropertyFSST_">removeProperty(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1151,9 +1159,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity16removePropertiesFS0_FGSaSS_T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity16removePropertiesFGSaSS_T_"></a>
                     <a name="//apple_ref/swift/Method/removeProperties(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity16removePropertiesFS0_FGSaSS_T_">removeProperties(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity16removePropertiesFGSaSS_T_">removeProperties(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1198,9 +1206,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity6appendFS0_FTSS5valuePSs9AnyObject__T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity6appendFTSS5valuePs9AnyObject__T_"></a>
                     <a name="//apple_ref/swift/Method/append(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6appendFS0_FTSS5valuePSs9AnyObject__T_">append(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6appendFTSS5valuePs9AnyObject__T_">append(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1258,9 +1266,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity6insertFS0_FTSS5valuePSs9AnyObject_5indexSi_T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity6insertFTSS5valuePs9AnyObject_5indexSi_T_"></a>
                     <a name="//apple_ref/swift/Method/insert(_:value:index:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6insertFS0_FTSS5valuePSs9AnyObject_5indexSi_T_">insert(_:value:index:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6insertFTSS5valuePs9AnyObject_5indexSi_T_">insert(_:value:index:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1331,9 +1339,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity3popFS0_FSST_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity3popFSST_"></a>
                     <a name="//apple_ref/swift/Method/pop(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity3popFS0_FSST_">pop(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity3popFSST_">pop(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1378,9 +1386,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity5shiftFS0_FSST_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity5shiftFSST_"></a>
                     <a name="//apple_ref/swift/Method/shift(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity5shiftFS0_FSST_">shift(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity5shiftFSST_">shift(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1436,9 +1444,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity6reloadFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity6reloadFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/reload(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6reloadFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_">reload(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6reloadFTGSqFT8responseCS_16UsergridResponse_T___T_">reload(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1483,9 +1491,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity6reloadFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity6reloadFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/reload(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6reloadFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">reload(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6reloadFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">reload(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1543,9 +1551,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity4saveFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity4saveFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/save(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity4saveFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_">save(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity4saveFTGSqFT8responseCS_16UsergridResponse_T___T_">save(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1590,9 +1598,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity4saveFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity4saveFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/save(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity4saveFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">save(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity4saveFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">save(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1650,9 +1658,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity6removeFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity6removeFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/remove(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6removeFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_">remove(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6removeFTGSqFT8responseCS_16UsergridResponse_T___T_">remove(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1697,9 +1705,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity6removeFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity6removeFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/remove(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6removeFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">remove(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6removeFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">remove(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1768,9 +1776,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity11uploadAssetFS0_FTCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS1__5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity11uploadAssetFTCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqS1__8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/uploadAsset(_:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity11uploadAssetFS0_FTCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS1__5errorGSqSS__T___T_">uploadAsset(_:progress:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity11uploadAssetFTCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqS1__8responseCS_16UsergridResponse_T___T_">uploadAsset(_:progress:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1841,9 +1849,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity11uploadAssetFS0_FTCS_14UsergridClient5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS3__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS2__5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity11uploadAssetFTCS_14UsergridClient5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS3__T__10completionGSqFT5assetGSqS2__8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/uploadAsset(_:asset:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity11uploadAssetFS0_FTCS_14UsergridClient5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS3__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS2__5errorGSqSS__T___T_">uploadAsset(_:asset:progress:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity11uploadAssetFTCS_14UsergridClient5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS3__T__10completionGSqFT5assetGSqS2__8responseCS_16UsergridResponse_T___T_">uploadAsset(_:asset:progress:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1927,9 +1935,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity13downloadAssetFS0_FTSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS1__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity13downloadAssetFTSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS1__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/downloadAsset(_:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity13downloadAssetFS0_FTSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS1__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_">downloadAsset(_:progress:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity13downloadAssetFTSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS1__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_">downloadAsset(_:progress:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2000,9 +2008,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity13downloadAssetFS0_FTCS_14UsergridClient11contentTypeSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity13downloadAssetFTCS_14UsergridClient11contentTypeSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/downloadAsset(_:contentType:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity13downloadAssetFS0_FTCS_14UsergridClient11contentTypeSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_">downloadAsset(_:contentType:progress:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity13downloadAssetFTCS_14UsergridClient11contentTypeSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_">downloadAsset(_:contentType:progress:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2097,9 +2105,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity7connectFS0_FTSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity7connectFTSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connect(_:toEntity:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity7connectFS0_FTSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:toEntity:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity7connectFTSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:toEntity:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2170,9 +2178,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity7connectFS0_FTCS_14UsergridClient12relationshipSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity7connectFTCS_14UsergridClient12relationshipSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connect(_:relationship:toEntity:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity7connectFS0_FTCS_14UsergridClient12relationshipSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:relationship:toEntity:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity7connectFTCS_14UsergridClient12relationshipSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:relationship:toEntity:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2256,9 +2264,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity10disconnectFS0_FTSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity10disconnectFTSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnect(_:fromEntity:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity10disconnectFS0_FTSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:fromEntity:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity10disconnectFTSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:fromEntity:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2329,9 +2337,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity10disconnectFS0_FTCS_14UsergridClient12relationshipSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity10disconnectFTCS_14UsergridClient12relationshipSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnect(_:relationship:fromEntity:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity10disconnectFS0_FTCS_14UsergridClient12relationshipSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:relationship:fromEntity:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity10disconnectFTCS_14UsergridClient12relationshipSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:relationship:fromEntity:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2415,9 +2423,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity14getConnectionsFS0_FTOS_17UsergridDirection12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity14getConnectionsFTOS_17UsergridDirection12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/getConnections(_:relationship:query:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity14getConnectionsFS0_FTOS_17UsergridDirection12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:relationship:query:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity14getConnectionsFTOS_17UsergridDirection12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:relationship:query:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2432,7 +2440,7 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -2501,9 +2509,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity14getConnectionsFS0_FTCS_14UsergridClient9directionOS_17UsergridDirection12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity14getConnectionsFTCS_14UsergridClient9directionOS_17UsergridDirection12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/getConnections(_:direction:relationship:query:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity14getConnectionsFS0_FTCS_14UsergridClient9directionOS_17UsergridDirection12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:direction:relationship:query:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity14getConnectionsFTCS_14UsergridClient9directionOS_17UsergridDirection12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:direction:relationship:query:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2518,7 +2526,7 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -2599,10 +2607,73 @@
                 </li>
               </ul>
             </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Helper%20methods"></a>
+                <a name="//apple_ref/swift/Section/Helper methods" class="dashAnchor"></a>
+                <a href="#/Helper%20methods">
+                  <h3 class="section-name">Helper methods</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity15isEqualToEntityFGSqS0__Sb"></a>
+                    <a name="//apple_ref/swift/Method/isEqualToEntity(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity15isEqualToEntityFGSqS0__Sb">isEqualToEntity(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Determines if the two <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects are equal.  i.e. they have the same non nil uuidOrName.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">isEqualToEntity</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span> <span class="kt">UsergridEntity</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>entity</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The entity to check.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>If the two <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects are equal.  i.e. they have the same non nil uuidOrName.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/UsergridFileMetaData.html b/sdks/swift/docs/Classes/UsergridFileMetaData.html
index 3f825d3..1cc8ccf 100644
--- a/sdks/swift/docs/Classes/UsergridFileMetaData.html
+++ b/sdks/swift/docs/Classes/UsergridFileMetaData.html
@@ -14,12 +14,12 @@
     <a title="UsergridFileMetaData Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridFileMetaData Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -322,7 +330,7 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>NSDate</code> object corresponding to the last modified time stamp.</p>
+                        <p>The <code><a href="../Extensions/NSDate.html">NSDate</a></code> object corresponding to the last modified time stamp.</p>
 
                       </div>
                       <div class="declaration">
@@ -350,9 +358,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK20UsergridFileMetaDatacFMS0_FT16fileMetaDataJSONGVSs10DictionarySSPSs9AnyObject___S0_"></a>
+                    <a name="/s:FC11UsergridSDK20UsergridFileMetaDatacFT16fileMetaDataJSONGVs10DictionarySSPs9AnyObject___S0_"></a>
                     <a name="//apple_ref/swift/Method/init(fileMetaDataJSON:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK20UsergridFileMetaDatacFMS0_FT16fileMetaDataJSONGVSs10DictionarySSPSs9AnyObject___S0_">init(fileMetaDataJSON:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridFileMetaDatacFT16fileMetaDataJSONGVs10DictionarySSPs9AnyObject___S0_">init(fileMetaDataJSON:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -413,9 +421,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK20UsergridFileMetaDatacFMS0_FT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="/s:FC11UsergridSDK20UsergridFileMetaDatacFT5coderCSo7NSCoder_GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK20UsergridFileMetaDatacFMS0_FT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridFileMetaDatacFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -465,9 +473,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK20UsergridFileMetaData15encodeWithCoderFS0_FCSo7NSCoderT_"></a>
+                    <a name="/s:FC11UsergridSDK20UsergridFileMetaData15encodeWithCoderFCSo7NSCoderT_"></a>
                     <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK20UsergridFileMetaData15encodeWithCoderFS0_FCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridFileMetaData15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -514,7 +522,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/UsergridQuery.html b/sdks/swift/docs/Classes/UsergridQuery.html
index a5db6e2..5b8d3e5 100644
--- a/sdks/swift/docs/Classes/UsergridQuery.html
+++ b/sdks/swift/docs/Classes/UsergridQuery.html
@@ -14,12 +14,12 @@
     <a title="UsergridQuery Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridQuery Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -179,9 +187,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuerycFMS0_FTGSqSS__S0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuerycFTGSqSS__S0_"></a>
                     <a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuerycFMS0_FTGSqSS__S0_">init(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuerycFTGSqSS__S0_">init(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -242,9 +250,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery12copyWithZoneFS0_FV10ObjectiveC6NSZonePSs9AnyObject_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery12copyWithZoneFV10ObjectiveC6NSZonePs9AnyObject_"></a>
                     <a name="//apple_ref/swift/Method/copyWithZone(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery12copyWithZoneFS0_FV10ObjectiveC6NSZonePSs9AnyObject_">copyWithZone(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery12copyWithZoneFV10ObjectiveC6NSZonePs9AnyObject_">copyWithZone(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -305,9 +313,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery5buildFS0_FTSb_SS"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery5buildFTSb_SS"></a>
                     <a name="//apple_ref/swift/Method/build(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery5buildFS0_FTSb_SS">build(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery5buildFTSb_SS">build(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -368,9 +376,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery8containsFS0_FTSS5valueSS_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery8containsFTSS5valueSS_DS0_"></a>
                     <a name="//apple_ref/swift/Method/contains(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery8containsFS0_FTSS5valueSS_DS0_">contains(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery8containsFTSS5valueSS_DS0_">contains(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -433,9 +441,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery14containsStringFS0_FTSS5valueSS_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery14containsStringFTSS5valueSS_DS0_"></a>
                     <a name="//apple_ref/swift/Method/containsString(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery14containsStringFS0_FTSS5valueSS_DS0_">containsString(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery14containsStringFTSS5valueSS_DS0_">containsString(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -498,9 +506,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery12containsWordFS0_FTSS5valueSS_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery12containsWordFTSS5valueSS_DS0_"></a>
                     <a name="//apple_ref/swift/Method/containsWord(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery12containsWordFS0_FTSS5valueSS_DS0_">containsWord(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery12containsWordFTSS5valueSS_DS0_">containsWord(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -563,9 +571,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery9ascendingFS0_FSSDS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery9ascendingFSSDS0_"></a>
                     <a name="//apple_ref/swift/Method/ascending(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery9ascendingFS0_FSSDS0_">ascending(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery9ascendingFSSDS0_">ascending(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -615,9 +623,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery3ascFS0_FSSDS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery3ascFSSDS0_"></a>
                     <a name="//apple_ref/swift/Method/asc(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3ascFS0_FSSDS0_">asc(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3ascFSSDS0_">asc(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -667,9 +675,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery10descendingFS0_FSSDS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery10descendingFSSDS0_"></a>
                     <a name="//apple_ref/swift/Method/descending(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery10descendingFS0_FSSDS0_">descending(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery10descendingFSSDS0_">descending(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -719,9 +727,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery4descFS0_FSSDS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery4descFSSDS0_"></a>
                     <a name="//apple_ref/swift/Method/desc(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery4descFS0_FSSDS0_">desc(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery4descFSSDS0_">desc(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -771,9 +779,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery6filterFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery6filterFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/filter(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery6filterFS0_FTSS5valuePSs9AnyObject__DS0_">filter(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery6filterFTSS5valuePs9AnyObject__DS0_">filter(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -836,9 +844,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery6equalsFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery6equalsFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/equals(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery6equalsFS0_FTSS5valuePSs9AnyObject__DS0_">equals(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery6equalsFTSS5valuePs9AnyObject__DS0_">equals(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -901,9 +909,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery2eqFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery2eqFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/eq(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2eqFS0_FTSS5valuePSs9AnyObject__DS0_">eq(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2eqFTSS5valuePs9AnyObject__DS0_">eq(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -966,9 +974,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery11greaterThanFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery11greaterThanFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/greaterThan(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery11greaterThanFS0_FTSS5valuePSs9AnyObject__DS0_">greaterThan(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery11greaterThanFTSS5valuePs9AnyObject__DS0_">greaterThan(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1031,9 +1039,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery2gtFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery2gtFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/gt(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2gtFS0_FTSS5valuePSs9AnyObject__DS0_">gt(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2gtFTSS5valuePs9AnyObject__DS0_">gt(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1096,9 +1104,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery18greaterThanOrEqualFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery18greaterThanOrEqualFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/greaterThanOrEqual(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery18greaterThanOrEqualFS0_FTSS5valuePSs9AnyObject__DS0_">greaterThanOrEqual(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery18greaterThanOrEqualFTSS5valuePs9AnyObject__DS0_">greaterThanOrEqual(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1161,9 +1169,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery3gteFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery3gteFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/gte(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3gteFS0_FTSS5valuePSs9AnyObject__DS0_">gte(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3gteFTSS5valuePs9AnyObject__DS0_">gte(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1226,9 +1234,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery8lessThanFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery8lessThanFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/lessThan(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery8lessThanFS0_FTSS5valuePSs9AnyObject__DS0_">lessThan(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery8lessThanFTSS5valuePs9AnyObject__DS0_">lessThan(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1291,9 +1299,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery2ltFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery2ltFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/lt(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2ltFS0_FTSS5valuePSs9AnyObject__DS0_">lt(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2ltFTSS5valuePs9AnyObject__DS0_">lt(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1356,9 +1364,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery15lessThanOrEqualFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery15lessThanOrEqualFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/lessThanOrEqual(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery15lessThanOrEqualFS0_FTSS5valuePSs9AnyObject__DS0_">lessThanOrEqual(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery15lessThanOrEqualFTSS5valuePs9AnyObject__DS0_">lessThanOrEqual(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1421,9 +1429,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery3lteFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery3lteFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/lte(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3lteFS0_FTSS5valuePSs9AnyObject__DS0_">lte(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3lteFTSS5valuePs9AnyObject__DS0_">lte(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1486,9 +1494,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery14locationWithinFS0_FTSf8latitudeSf9longitudeSf_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery14locationWithinFTSf8latitudeSf9longitudeSf_DS0_"></a>
                     <a name="//apple_ref/swift/Method/locationWithin(_:latitude:longitude:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery14locationWithinFS0_FTSf8latitudeSf9longitudeSf_DS0_">locationWithin(_:latitude:longitude:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery14locationWithinFTSf8latitudeSf9longitudeSf_DS0_">locationWithin(_:latitude:longitude:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1564,9 +1572,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery2orFS0_FT_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery2orFT_DS0_"></a>
                     <a name="//apple_ref/swift/Method/or()" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2orFS0_FT_DS0_">or()</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2orFT_DS0_">or()</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1596,9 +1604,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery3andFS0_FT_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery3andFT_DS0_"></a>
                     <a name="//apple_ref/swift/Method/and()" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3andFS0_FT_DS0_">and()</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3andFT_DS0_">and()</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1628,9 +1636,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery3notFS0_FT_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery3notFT_DS0_"></a>
                     <a name="//apple_ref/swift/Method/not()" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3notFS0_FT_DS0_">not()</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3notFT_DS0_">not()</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1660,9 +1668,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery4sortFS0_FTSS9sortOrderOS_22UsergridQuerySortOrder_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery4sortFTSS9sortOrderOS_22UsergridQuerySortOrder_DS0_"></a>
                     <a name="//apple_ref/swift/Method/sort(_:sortOrder:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery4sortFS0_FTSS9sortOrderOS_22UsergridQuerySortOrder_DS0_">sort(_:sortOrder:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery4sortFTSS9sortOrderOS_22UsergridQuerySortOrder_DS0_">sort(_:sortOrder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1725,9 +1733,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery10collectionFS0_FSSDS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery10collectionFSSDS0_"></a>
                     <a name="//apple_ref/swift/Method/collection(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery10collectionFS0_FSSDS0_">collection(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery10collectionFSSDS0_">collection(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1777,9 +1785,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery4typeFS0_FSSDS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery4typeFSSDS0_"></a>
                     <a name="//apple_ref/swift/Method/type(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery4typeFS0_FSSDS0_">type(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery4typeFSSDS0_">type(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1829,9 +1837,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery5limitFS0_FSiDS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery5limitFSiDS0_"></a>
                     <a name="//apple_ref/swift/Method/limit(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery5limitFS0_FSiDS0_">limit(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery5limitFSiDS0_">limit(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1881,9 +1889,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery2qlFS0_FSSDS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery2qlFSSDS0_"></a>
                     <a name="//apple_ref/swift/Method/ql(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2qlFS0_FSSDS0_">ql(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2qlFSSDS0_">ql(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1933,9 +1941,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery6cursorFS0_FGSqSS_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery6cursorFGSqSS_DS0_"></a>
                     <a name="//apple_ref/swift/Method/cursor(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery6cursorFS0_FGSqSS_DS0_">cursor(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery6cursorFGSqSS_DS0_">cursor(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1985,9 +1993,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery10fromStringFS0_FGSqSS_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery10fromStringFGSqSS_DS0_"></a>
                     <a name="//apple_ref/swift/Method/fromString(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery10fromStringFS0_FGSqSS_DS0_">fromString(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery10fromStringFGSqSS_DS0_">fromString(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2037,9 +2045,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery7urlTermFS0_FTSS11equalsValueSS_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery7urlTermFTSS11equalsValueSS_DS0_"></a>
                     <a name="//apple_ref/swift/Method/urlTerm(_:equalsValue:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery7urlTermFS0_FTSS11equalsValueSS_DS0_">urlTerm(_:equalsValue:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery7urlTermFTSS11equalsValueSS_DS0_">urlTerm(_:equalsValue:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2102,9 +2110,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFS0_FTSS9operationOS_21UsergridQueryOperator11stringValueSS_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFTSS9operationOS_21UsergridQueryOperator11stringValueSS_DS0_"></a>
                     <a name="//apple_ref/swift/Method/addOperationRequirement(_:operation:stringValue:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFS0_FTSS9operationOS_21UsergridQueryOperator11stringValueSS_DS0_">addOperationRequirement(_:operation:stringValue:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFTSS9operationOS_21UsergridQueryOperator11stringValueSS_DS0_">addOperationRequirement(_:operation:stringValue:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2180,9 +2188,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFS0_FTSS9operationOS_21UsergridQueryOperator8intValueSi_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFTSS9operationOS_21UsergridQueryOperator8intValueSi_DS0_"></a>
                     <a name="//apple_ref/swift/Method/addOperationRequirement(_:operation:intValue:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFS0_FTSS9operationOS_21UsergridQueryOperator8intValueSi_DS0_">addOperationRequirement(_:operation:intValue:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFTSS9operationOS_21UsergridQueryOperator8intValueSi_DS0_">addOperationRequirement(_:operation:intValue:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2260,7 +2268,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/UsergridRequest.html b/sdks/swift/docs/Classes/UsergridRequest.html
index 868cb77..0405ff5 100644
--- a/sdks/swift/docs/Classes/UsergridRequest.html
+++ b/sdks/swift/docs/Classes/UsergridRequest.html
@@ -14,12 +14,12 @@
     <a title="UsergridRequest Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridRequest Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -314,9 +322,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK15UsergridRequest7headersGSqGVSs10DictionarySSSS__"></a>
+                    <a name="/s:vC11UsergridSDK15UsergridRequest7headersGSqGVs10DictionarySSSS__"></a>
                     <a name="//apple_ref/swift/Property/headers" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK15UsergridRequest7headersGSqGVSs10DictionarySSSS__">headers</a>
+                    <a class="token" href="#/s:vC11UsergridSDK15UsergridRequest7headersGSqGVs10DictionarySSSS__">headers</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -341,9 +349,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK15UsergridRequest8jsonBodyGSqPSs9AnyObject__"></a>
+                    <a name="/s:vC11UsergridSDK15UsergridRequest8jsonBodyGSqPs9AnyObject__"></a>
                     <a name="//apple_ref/swift/Property/jsonBody" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK15UsergridRequest8jsonBodyGSqPSs9AnyObject__">jsonBody</a>
+                    <a class="token" href="#/s:vC11UsergridSDK15UsergridRequest8jsonBodyGSqPs9AnyObject__">jsonBody</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -368,9 +376,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK15UsergridRequest11queryParamsGSqGVSs10DictionarySSSS__"></a>
+                    <a name="/s:vC11UsergridSDK15UsergridRequest11queryParamsGSqGVs10DictionarySSSS__"></a>
                     <a name="//apple_ref/swift/Property/queryParams" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK15UsergridRequest11queryParamsGSqGVSs10DictionarySSSS__">queryParams</a>
+                    <a class="token" href="#/s:vC11UsergridSDK15UsergridRequest11queryParamsGSqGVs10DictionarySSSS__">queryParams</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -406,9 +414,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK15UsergridRequestcFMS0_FT6methodOS_18UsergridHttpMethod7baseUrlSS5pathsGSqGSaSS__5queryGSqCS_13UsergridQuery_4authGSqCS_12UsergridAuth_7headersGSqGVSs10DictionarySSSS__8jsonBodyGSqPSs9AnyObject__11queryParamsGSqGS4_SSSS___S0_"></a>
+                    <a name="/s:FC11UsergridSDK15UsergridRequestcFT6methodOS_18UsergridHttpMethod7baseUrlSS5pathsGSqGSaSS__5queryGSqCS_13UsergridQuery_4authGSqCS_12UsergridAuth_7headersGSqGVs10DictionarySSSS__8jsonBodyGSqPs9AnyObject__11queryParamsGSqGS4_SSSS___S0_"></a>
                     <a name="//apple_ref/swift/Method/init(method:baseUrl:paths:query:auth:headers:jsonBody:queryParams:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK15UsergridRequestcFMS0_FT6methodOS_18UsergridHttpMethod7baseUrlSS5pathsGSqGSaSS__5queryGSqCS_13UsergridQuery_4authGSqCS_12UsergridAuth_7headersGSqGVSs10DictionarySSSS__8jsonBodyGSqPSs9AnyObject__11queryParamsGSqGS4_SSSS___S0_">init(method:baseUrl:paths:query:auth:headers:jsonBody:queryParams:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK15UsergridRequestcFT6methodOS_18UsergridHttpMethod7baseUrlSS5pathsGSqGSaSS__5queryGSqCS_13UsergridQuery_4authGSqCS_12UsergridAuth_7headersGSqGVs10DictionarySSSS__8jsonBodyGSqPs9AnyObject__11queryParamsGSqGS4_SSSS___S0_">init(method:baseUrl:paths:query:auth:headers:jsonBody:queryParams:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -567,9 +575,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK15UsergridRequest17buildNSURLRequestFS0_FT_CSo12NSURLRequest"></a>
+                    <a name="/s:FC11UsergridSDK15UsergridRequest17buildNSURLRequestFT_CSo12NSURLRequest"></a>
                     <a name="//apple_ref/swift/Method/buildNSURLRequest()" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK15UsergridRequest17buildNSURLRequestFS0_FT_CSo12NSURLRequest">buildNSURLRequest()</a>
+                    <a class="token" href="#/s:FC11UsergridSDK15UsergridRequest17buildNSURLRequestFT_CSo12NSURLRequest">buildNSURLRequest()</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -601,7 +609,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/UsergridResponse.html b/sdks/swift/docs/Classes/UsergridResponse.html
index d945c75..6ff0433 100644
--- a/sdks/swift/docs/Classes/UsergridResponse.html
+++ b/sdks/swift/docs/Classes/UsergridResponse.html
@@ -14,12 +14,12 @@
     <a title="UsergridResponse Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridResponse Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -208,9 +216,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK16UsergridResponse12responseJSONGSqGVSs10DictionarySSPSs9AnyObject___"></a>
+                    <a name="/s:vC11UsergridSDK16UsergridResponse12responseJSONGSqGVs10DictionarySSPs9AnyObject___"></a>
                     <a name="//apple_ref/swift/Property/responseJSON" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse12responseJSONGSqGVSs10DictionarySSPSs9AnyObject___">responseJSON</a>
+                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse12responseJSONGSqGVs10DictionarySSPs9AnyObject___">responseJSON</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -316,9 +324,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK16UsergridResponse7headersGSqGVSs10DictionarySSSS__"></a>
+                    <a name="/s:vC11UsergridSDK16UsergridResponse7headersGSqGVs10DictionarySSSS__"></a>
                     <a name="//apple_ref/swift/Property/headers" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse7headersGSqGVSs10DictionarySSSS__">headers</a>
+                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse7headersGSqGVs10DictionarySSSS__">headers</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -613,9 +621,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK16UsergridResponse11stringValueGSqSS_"></a>
+                    <a name="/s:vC11UsergridSDK16UsergridResponse11stringValueSS"></a>
                     <a name="//apple_ref/swift/Property/stringValue" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse11stringValueGSqSS_">stringValue</a>
+                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse11stringValueSS">stringValue</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -630,7 +638,7 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">stringValue</span> <span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">stringValue</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
 
                         </div>
                       </div>
@@ -705,9 +713,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK16UsergridResponsecFMS0_FT6clientGSqCS_14UsergridClient_9errorNameSS16errorDescriptionSS_S0_"></a>
+                    <a name="/s:FC11UsergridSDK16UsergridResponsecFT6clientGSqCS_14UsergridClient_9errorNameSS16errorDescriptionSS_S0_"></a>
                     <a name="//apple_ref/swift/Method/init(client:errorName:errorDescription:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK16UsergridResponsecFMS0_FT6clientGSqCS_14UsergridClient_9errorNameSS16errorDescriptionSS_S0_">init(client:errorName:errorDescription:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK16UsergridResponsecFT6clientGSqCS_14UsergridClient_9errorNameSS16errorDescriptionSS_S0_">init(client:errorName:errorDescription:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -785,9 +793,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK16UsergridResponsecFMS0_FT6clientGSqCS_14UsergridClient_4dataGSqCSo6NSData_8responseGSqCSo17NSHTTPURLResponse_5errorGSqCSo7NSError_5queryGSqCS_13UsergridQuery__S0_"></a>
+                    <a name="/s:FC11UsergridSDK16UsergridResponsecFT6clientGSqCS_14UsergridClient_4dataGSqCSo6NSData_8responseGSqCSo17NSHTTPURLResponse_5errorGSqCSo7NSError_5queryGSqCS_13UsergridQuery__S0_"></a>
                     <a name="//apple_ref/swift/Method/init(client:data:response:error:query:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK16UsergridResponsecFMS0_FT6clientGSqCS_14UsergridClient_4dataGSqCSo6NSData_8responseGSqCSo17NSHTTPURLResponse_5errorGSqCSo7NSError_5queryGSqCS_13UsergridQuery__S0_">init(client:data:response:error:query:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK16UsergridResponsecFT6clientGSqCS_14UsergridClient_4dataGSqCSo6NSData_8responseGSqCSo17NSHTTPURLResponse_5errorGSqCSo7NSError_5queryGSqCS_13UsergridQuery__S0_">init(client:data:response:error:query:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -900,9 +908,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK16UsergridResponse12loadNextPageFS0_FFT8responseS0__T_T_"></a>
+                    <a name="/s:FC11UsergridSDK16UsergridResponse12loadNextPageFFT8responseS0__T_T_"></a>
                     <a name="//apple_ref/swift/Method/loadNextPage(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK16UsergridResponse12loadNextPageFS0_FFT8responseS0__T_T_">loadNextPage(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK16UsergridResponse12loadNextPageFFT8responseS0__T_T_">loadNextPage(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -951,7 +959,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/UsergridResponseError.html b/sdks/swift/docs/Classes/UsergridResponseError.html
index 99b74fe..46fd05a 100644
--- a/sdks/swift/docs/Classes/UsergridResponseError.html
+++ b/sdks/swift/docs/Classes/UsergridResponseError.html
@@ -14,12 +14,12 @@
     <a title="UsergridResponseError Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridResponseError Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -323,9 +331,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK21UsergridResponseErrorcFMS0_FT9errorNameSS16errorDescriptionSS9exceptionGSqSS__S0_"></a>
+                    <a name="/s:FC11UsergridSDK21UsergridResponseErrorcFT9errorNameSS16errorDescriptionSS9exceptionGSqSS__S0_"></a>
                     <a name="//apple_ref/swift/Method/init(errorName:errorDescription:exception:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK21UsergridResponseErrorcFMS0_FT9errorNameSS16errorDescriptionSS9exceptionGSqSS__S0_">init(errorName:errorDescription:exception:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK21UsergridResponseErrorcFT9errorNameSS16errorDescriptionSS9exceptionGSqSS__S0_">init(errorName:errorDescription:exception:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -401,9 +409,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK21UsergridResponseErrorcFMS0_FT14jsonDictionaryGVSs10DictionarySSPSs9AnyObject___GSqS0__"></a>
+                    <a name="/s:FC11UsergridSDK21UsergridResponseErrorcFT14jsonDictionaryGVs10DictionarySSPs9AnyObject___GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/init(jsonDictionary:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK21UsergridResponseErrorcFMS0_FT14jsonDictionaryGVSs10DictionarySSPSs9AnyObject___GSqS0__">init(jsonDictionary:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK21UsergridResponseErrorcFT14jsonDictionaryGVs10DictionarySSPs9AnyObject___GSqS0__">init(jsonDictionary:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -455,7 +463,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/UsergridUser.html b/sdks/swift/docs/Classes/UsergridUser.html
index 25d3739..aa93547 100644
--- a/sdks/swift/docs/Classes/UsergridUser.html
+++ b/sdks/swift/docs/Classes/UsergridUser.html
@@ -14,12 +14,12 @@
     <a title="UsergridUser Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridUser Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -170,9 +178,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:sC11UsergridSDK12UsergridUser9subscriptFSSGSqPSs9AnyObject__"></a>
+                    <a name="/s:iC11UsergridSDK12UsergridUser9subscriptFSSGSqPs9AnyObject__"></a>
                     <a name="//apple_ref/swift/Method/subscript(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:sC11UsergridSDK12UsergridUser9subscriptFSSGSqPSs9AnyObject__">subscript(_:)</a>
+                    <a class="token" href="#/s:iC11UsergridSDK12UsergridUser9subscriptFSSGSqPs9AnyObject__">subscript(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -535,9 +543,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUsercFMS0_FT4nameGSqSS__S0_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT4nameGSqSS__S0_"></a>
                     <a name="//apple_ref/swift/Method/init(name:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFMS0_FT4nameGSqSS__S0_">init(name:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT4nameGSqSS__S0_">init(name:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -587,9 +595,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUsercFMS0_FT4typeSS4nameGSqSS_12propertyDictGSqGVSs10DictionarySSPSs9AnyObject____S0_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT4typeSS4nameGSqSS_12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_"></a>
                     <a name="//apple_ref/swift/Method/init(type:name:propertyDict:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFMS0_FT4typeSS4nameGSqSS_12propertyDictGSqGVSs10DictionarySSPSs9AnyObject____S0_">init(type:name:propertyDict:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT4typeSS4nameGSqSS_12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_">init(type:name:propertyDict:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -665,9 +673,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUsercFMS0_FT4nameSS12propertyDictGSqGVSs10DictionarySSPSs9AnyObject____S0_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT4nameSS12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_"></a>
                     <a name="//apple_ref/swift/Method/init(name:propertyDict:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFMS0_FT4nameSS12propertyDictGSqGVSs10DictionarySSPSs9AnyObject____S0_">init(name:propertyDict:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT4nameSS12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_">init(name:propertyDict:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -730,9 +738,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUsercFMS0_FT4nameSS5emailSS8passwordGSqSS__S0_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT4nameSS5emailSS8passwordGSqSS__S0_"></a>
                     <a name="//apple_ref/swift/Method/init(name:email:password:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFMS0_FT4nameSS5emailSS8passwordGSqSS__S0_">init(name:email:password:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT4nameSS5emailSS8passwordGSqSS__S0_">init(name:email:password:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -808,9 +816,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUsercFMS0_FT5emailSS8passwordGSqSS__S0_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT5emailSS8passwordGSqSS__S0_"></a>
                     <a name="//apple_ref/swift/Method/init(email:password:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFMS0_FT5emailSS8passwordGSqSS__S0_">init(email:password:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT5emailSS8passwordGSqSS__S0_">init(email:password:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -873,9 +881,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUsercFMS0_FT4nameSS8usernameSS8passwordGSqSS__S0_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT4nameSS8usernameSS8passwordGSqSS__S0_"></a>
                     <a name="//apple_ref/swift/Method/init(name:username:password:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFMS0_FT4nameSS8usernameSS8passwordGSqSS__S0_">init(name:username:password:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT4nameSS8usernameSS8passwordGSqSS__S0_">init(name:username:password:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -951,9 +959,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUsercFMS0_FT8usernameSS8passwordGSqSS__S0_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT8usernameSS8passwordGSqSS__S0_"></a>
                     <a name="//apple_ref/swift/Method/init(username:password:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFMS0_FT8usernameSS8passwordGSqSS__S0_">init(username:password:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT8usernameSS8passwordGSqSS__S0_">init(username:password:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1016,9 +1024,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUsercFMS0_FT4nameGSqSS_5emailGSqSS_8usernameGSqSS_8passwordGSqSS__S0_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT4nameGSqSS_5emailGSqSS_8usernameGSqSS_8passwordGSqSS__S0_"></a>
                     <a name="//apple_ref/swift/Method/init(name:email:username:password:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFMS0_FT4nameGSqSS_5emailGSqSS_8usernameGSqSS_8passwordGSqSS__S0_">init(name:email:username:password:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT4nameGSqSS_5emailGSqSS_8usernameGSqSS_8passwordGSqSS__S0_">init(name:email:username:password:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1118,9 +1126,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUsercFMS0_FT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT5coderCSo7NSCoder_GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFMS0_FT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1170,9 +1178,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser15encodeWithCoderFS0_FCSo7NSCoderT_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser15encodeWithCoderFCSo7NSCoderT_"></a>
                     <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser15encodeWithCoderFS0_FCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1228,9 +1236,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK12UsergridUser14checkAvailableFMS0_FTGSqSS_8usernameGSqSS_10completionFT5errorGSqCS_21UsergridResponseError_9availableSb_T__T_"></a>
+                    <a name="/s:ZFC11UsergridSDK12UsergridUser14checkAvailableFTGSqSS_8usernameGSqSS_10completionFT5errorGSqCS_21UsergridResponseError_9availableSb_T__T_"></a>
                     <a name="//apple_ref/swift/Method/checkAvailable(_:username:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK12UsergridUser14checkAvailableFMS0_FTGSqSS_8usernameGSqSS_10completionFT5errorGSqCS_21UsergridResponseError_9availableSb_T__T_">checkAvailable(_:username:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK12UsergridUser14checkAvailableFTGSqSS_8usernameGSqSS_10completionFT5errorGSqCS_21UsergridResponseError_9availableSb_T__T_">checkAvailable(_:username:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1301,9 +1309,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK12UsergridUser14checkAvailableFMS0_FTCS_14UsergridClient5emailGSqSS_8usernameGSqSS_10completionFT5errorGSqCS_21UsergridResponseError_9availableSb_T__T_"></a>
+                    <a name="/s:ZFC11UsergridSDK12UsergridUser14checkAvailableFTCS_14UsergridClient5emailGSqSS_8usernameGSqSS_10completionFT5errorGSqCS_21UsergridResponseError_9availableSb_T__T_"></a>
                     <a name="//apple_ref/swift/Method/checkAvailable(_:email:username:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK12UsergridUser14checkAvailableFMS0_FTCS_14UsergridClient5emailGSqSS_8usernameGSqSS_10completionFT5errorGSqCS_21UsergridResponseError_9availableSb_T__T_">checkAvailable(_:email:username:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK12UsergridUser14checkAvailableFTCS_14UsergridClient5emailGSqSS_8usernameGSqSS_10completionFT5errorGSqCS_21UsergridResponseError_9availableSb_T__T_">checkAvailable(_:email:username:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1398,9 +1406,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser6createFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser6createFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/create(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6createFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_">create(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6createFTGSqFT8responseCS_16UsergridResponse_T___T_">create(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1445,9 +1453,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser6createFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser6createFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/create(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6createFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">create(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6createFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">create(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1505,9 +1513,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser5loginFS0_FTSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser5loginFTSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/login(_:password:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser5loginFS0_FTSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_">login(_:password:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser5loginFTSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_">login(_:password:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1580,9 +1588,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser5loginFS0_FTCS_14UsergridClient8usernameSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser5loginFTCS_14UsergridClient8usernameSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/login(_:username:password:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser5loginFS0_FTCS_14UsergridClient8usernameSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_">login(_:username:password:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser5loginFTCS_14UsergridClient8usernameSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_">login(_:username:password:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1668,9 +1676,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser13resetPasswordFS0_FTSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser13resetPasswordFTSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_"></a>
                     <a name="//apple_ref/swift/Method/resetPassword(_:new:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser13resetPasswordFS0_FTSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_">resetPassword(_:new:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser13resetPasswordFTSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_">resetPassword(_:new:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1741,9 +1749,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser13resetPasswordFS0_FTCS_14UsergridClient3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser13resetPasswordFTCS_14UsergridClient3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_"></a>
                     <a name="//apple_ref/swift/Method/resetPassword(_:old:new:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser13resetPasswordFS0_FTCS_14UsergridClient3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_">resetPassword(_:old:new:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser13resetPasswordFTCS_14UsergridClient3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_">resetPassword(_:old:new:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1827,9 +1835,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser14reauthenticateFS0_FTGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser14reauthenticateFTGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/reauthenticate(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser14reauthenticateFS0_FTGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_">reauthenticate(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser14reauthenticateFTGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_">reauthenticate(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1874,9 +1882,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser14reauthenticateFS0_FTCS_14UsergridClient10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser14reauthenticateFTCS_14UsergridClient10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/reauthenticate(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser14reauthenticateFS0_FTCS_14UsergridClient10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_">reauthenticate(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser14reauthenticateFTCS_14UsergridClient10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_">reauthenticate(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1934,9 +1942,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser6logoutFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser6logoutFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/logout(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6logoutFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_">logout(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6logoutFTGSqFT8responseCS_16UsergridResponse_T___T_">logout(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1981,9 +1989,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser6logoutFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser6logoutFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/logout(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6logoutFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">logout(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6logoutFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">logout(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2041,9 +2049,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser15connectToDeviceFS0_FTGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser15connectToDeviceFTGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connectToDevice(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser15connectToDeviceFS0_FTGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connectToDevice(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser15connectToDeviceFTGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connectToDevice(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2101,9 +2109,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser15connectToDeviceFS0_FTCS_14UsergridClient6deviceGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser15connectToDeviceFTCS_14UsergridClient6deviceGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connectToDevice(_:device:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser15connectToDeviceFS0_FTCS_14UsergridClient6deviceGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connectToDevice(_:device:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser15connectToDeviceFTCS_14UsergridClient6deviceGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connectToDevice(_:device:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2174,9 +2182,116 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser20disconnectFromDeviceFS0_FTGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser18getConnectedDeviceFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/getConnectedDevice(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser18getConnectedDeviceFTGSqFT8responseCS_16UsergridResponse_T___T_">getConnectedDevice(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Gets the connected device using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnectedDevice</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUser18getConnectedDeviceFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/getConnectedDevice(_:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser18getConnectedDeviceFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnectedDevice(_:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Gets the connected device.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnectedDevice</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>client</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The <code>UsergridClient</code> object to use for connecting.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUser20disconnectFromDeviceFTGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnectFromDevice(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser20disconnectFromDeviceFS0_FTGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnectFromDevice(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser20disconnectFromDeviceFTGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnectFromDevice(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2234,9 +2349,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser20disconnectFromDeviceFS0_FTCS_14UsergridClient6deviceGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser20disconnectFromDeviceFTCS_14UsergridClient6deviceGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnectFromDevice(_:device:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser20disconnectFromDeviceFS0_FTCS_14UsergridClient6deviceGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnectFromDevice(_:device:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser20disconnectFromDeviceFTCS_14UsergridClient6deviceGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnectFromDevice(_:device:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2309,7 +2424,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Classes/UsergridUserAuth.html b/sdks/swift/docs/Classes/UsergridUserAuth.html
index 7818929..15b46fb 100644
--- a/sdks/swift/docs/Classes/UsergridUserAuth.html
+++ b/sdks/swift/docs/Classes/UsergridUserAuth.html
@@ -14,12 +14,12 @@
     <a title="UsergridUserAuth Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridUserAuth Class Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -215,9 +223,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK16UsergridUserAuthcFMS0_FT8usernameSS8passwordSS_S0_"></a>
+                    <a name="/s:FC11UsergridSDK16UsergridUserAuthcFT8usernameSS8passwordSS_S0_"></a>
                     <a name="//apple_ref/swift/Method/init(username:password:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK16UsergridUserAuthcFMS0_FT8usernameSS8passwordSS_S0_">init(username:password:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK16UsergridUserAuthcFT8usernameSS8passwordSS_S0_">init(username:password:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -291,9 +299,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK16UsergridUserAuthcFMS0_FT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="/s:FC11UsergridSDK16UsergridUserAuthcFT5coderCSo7NSCoder_GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK16UsergridUserAuthcFMS0_FT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK16UsergridUserAuthcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -334,7 +342,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A decoded <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> object.</p>
+                        <p>A decoded <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code> object.</p>
 
                       </div>
                     </section>
@@ -343,9 +351,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK16UsergridUserAuth15encodeWithCoderFS0_FCSo7NSCoderT_"></a>
+                    <a name="/s:FC11UsergridSDK16UsergridUserAuth15encodeWithCoderFCSo7NSCoderT_"></a>
                     <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK16UsergridUserAuth15encodeWithCoderFS0_FCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK16UsergridUserAuth15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -392,7 +400,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Enums.html b/sdks/swift/docs/Enums.html
index d5f70b5..56fabb8 100644
--- a/sdks/swift/docs/Enums.html
+++ b/sdks/swift/docs/Enums.html
@@ -13,12 +13,12 @@
     <a title="Enums  Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="index.html">UsergridSDK Reference</a>
+        <a href="index.html"> Reference</a>
         <img id="carat" src="img/carat.png" />
         Enums  Reference
       </p>
@@ -91,7 +91,7 @@
             <a href="Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -120,6 +120,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -163,9 +171,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:O11UsergridSDK20UsergridAuthFallback"></a>
-                    <a name="//apple_ref/swift/Enum/UsergridAuthFallback" class="dashAnchor"></a>
-                    <a class="token" href="#/s:O11UsergridSDK20UsergridAuthFallback">UsergridAuthFallback</a>
+                    <a name="/s:O11UsergridSDK16UsergridAuthMode"></a>
+                    <a name="//apple_ref/swift/Enum/UsergridAuthMode" class="dashAnchor"></a>
+                    <a class="token" href="#/s:O11UsergridSDK16UsergridAuthMode">UsergridAuthMode</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -173,15 +181,15 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>An enumeration that is used to determine what the <code><a href="Classes/UsergridClient.html">UsergridClient</a></code> will fallback to depending on certain authorization conditions.</p>
+                        <p>An enumeration that is used to determine what the <code><a href="Classes/UsergridClient.html">UsergridClient</a></code> will use for authorization.</p>
 
-                        <a href="Enums/UsergridAuthFallback.html" class="slightly-smaller">See more</a>
+                        <a href="Enums/UsergridAuthMode.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridAuthFallback</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridAuthMode</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
 
                         </div>
                       </div>
@@ -417,7 +425,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Enums/UsergridAuthMode.html b/sdks/swift/docs/Enums/UsergridAuthMode.html
new file mode 100644
index 0000000..7ed672a
--- /dev/null
+++ b/sdks/swift/docs/Enums/UsergridAuthMode.html
@@ -0,0 +1,283 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>UsergridAuthMode Enum Reference</title>
+    <link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
+    <link rel="stylesheet" type="text/css" href="../css/highlight.css" />
+    <meta charset='utf-8'>
+    <script src="../js/jquery.min.js" defer></script>
+    <script src="../js/jazzy.js" defer></script>
+    
+  </head>
+  <body>
+    <a name="//apple_ref/swift/Enum/UsergridAuthMode" class="dashAnchor"></a>
+    <a title="UsergridAuthMode Enum Reference"></a>
+    <header>
+      <div class="content-wrapper">
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
+      </div>
+    </header>
+    <div class="content-wrapper">
+      <p id="breadcrumbs">
+        <a href="../index.html"> Reference</a>
+        <img id="carat" src="../img/carat.png" />
+        UsergridAuthMode Enum Reference
+      </p>
+    </div>
+    <div class="content-wrapper">
+      <nav class="sidebar">
+        <ul class="nav-groups">
+          <li class="nav-group-name">
+            <a href="../Classes.html">Classes</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Classes/Usergrid.html">Usergrid</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClient.html">UsergridClient</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClientConfig.html">UsergridClientConfig</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridDevice.html">UsergridDevice</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridEntity.html">UsergridEntity</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridFileMetaData.html">UsergridFileMetaData</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUser.html">UsergridUser</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Global Variables.html">Global Variables</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDirection.html">UsergridDirection</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQueryOperator.html">UsergridQueryOperator</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQuerySortOrder.html">UsergridQuerySortOrder</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridUserProperties.html">UsergridUserProperties</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridAssetDownloadCompletion">UsergridAssetDownloadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK28UsergridAssetRequestProgress">UsergridAssetRequestProgress</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK29UsergridAssetUploadCompletion">UsergridAssetUploadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK26UsergridResponseCompletion">UsergridResponseCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
+            </ul>
+          </li>
+        </ul>
+      </nav>
+      <article class="main-content">
+        <section>
+          <section class="section">
+            <h1>UsergridAuthMode</h1>
+              <div class="declaration">
+                <div class="language">
+                  <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridAuthMode</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
+
+                </div>
+              </div>
+            <p>An enumeration that is used to determine what the <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code> will use for authorization.</p>
+
+          </section>
+          <section class="section task-group-section">
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FO11UsergridSDK16UsergridAuthMode4NoneFMS0_S0_"></a>
+                    <a name="//apple_ref/swift/Element/None" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FO11UsergridSDK16UsergridAuthMode4NoneFMS0_S0_">None</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>If the API call fails, the activity is treated as a failure with an appropriate HTTP status code.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="k">case</span> <span class="kt">None</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FO11UsergridSDK16UsergridAuthMode4UserFMS0_S0_"></a>
+                    <a name="//apple_ref/swift/Element/User" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FO11UsergridSDK16UsergridAuthMode4UserFMS0_S0_">User</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>If a non-expired <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code> exists in <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient11currentUserGSqCS_12UsergridUser_">UsergridClient.currentUser</a></code>, this token is used to authenticate all API calls.</p>
+
+<p>If the API call fails, the activity is treated as a failure with an appropriate HTTP status code (This behavior is identical to authMode=.None).</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="k">case</span> <span class="kt">User</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FO11UsergridSDK16UsergridAuthMode3AppFMS0_S0_"></a>
+                    <a name="//apple_ref/swift/Element/App" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FO11UsergridSDK16UsergridAuthMode3AppFMS0_S0_">App</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>If a non-expired <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> exists in <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient7appAuthGSqCS_15UsergridAppAuth_">UsergridClient.appAuth</a></code>, this token is used to authenticate all API calls.</p>
+
+<p>If the API call fails, the activity is treated as a failure with an appropriate HTTP status code (This behavior is identical to authMode=.None).</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="k">case</span> <span class="kt">App</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+          </section>
+        </section>
+        <section id="footer">
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+        </section>
+      </article>
+    </div>
+  </body>
+</div>
+</html>
diff --git a/sdks/swift/docs/Enums/UsergridDeviceProperties.html b/sdks/swift/docs/Enums/UsergridDeviceProperties.html
index da53073..a4736a3 100644
--- a/sdks/swift/docs/Enums/UsergridDeviceProperties.html
+++ b/sdks/swift/docs/Enums/UsergridDeviceProperties.html
@@ -14,12 +14,12 @@
     <a title="UsergridDeviceProperties Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridDeviceProperties Enum Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -270,9 +278,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFO11UsergridSDK24UsergridDeviceProperties10fromStringFMS0_FSSGSqS0__"></a>
+                    <a name="/s:ZFO11UsergridSDK24UsergridDeviceProperties10fromStringFSSGSqS0__"></a>
                     <a name="//apple_ref/swift/Method/fromString(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFO11UsergridSDK24UsergridDeviceProperties10fromStringFMS0_FSSGSqS0__">fromString(_:)</a>
+                    <a class="token" href="#/s:ZFO11UsergridSDK24UsergridDeviceProperties10fromStringFSSGSqS0__">fromString(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -351,7 +359,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Enums/UsergridDirection.html b/sdks/swift/docs/Enums/UsergridDirection.html
index 8289bcb..d11978c 100644
--- a/sdks/swift/docs/Enums/UsergridDirection.html
+++ b/sdks/swift/docs/Enums/UsergridDirection.html
@@ -14,12 +14,12 @@
     <a title="UsergridDirection Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridDirection Enum Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -268,7 +276,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Enums/UsergridEntityProperties.html b/sdks/swift/docs/Enums/UsergridEntityProperties.html
index 809b5b1..b9b3278 100644
--- a/sdks/swift/docs/Enums/UsergridEntityProperties.html
+++ b/sdks/swift/docs/Enums/UsergridEntityProperties.html
@@ -14,12 +14,12 @@
     <a title="UsergridEntityProperties Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridEntityProperties Enum Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -363,9 +371,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFO11UsergridSDK24UsergridEntityProperties10fromStringFMS0_FSSGSqS0__"></a>
+                    <a name="/s:ZFO11UsergridSDK24UsergridEntityProperties10fromStringFSSGSqS0__"></a>
                     <a name="//apple_ref/swift/Method/fromString(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFO11UsergridSDK24UsergridEntityProperties10fromStringFMS0_FSSGSqS0__">fromString(_:)</a>
+                    <a class="token" href="#/s:ZFO11UsergridSDK24UsergridEntityProperties10fromStringFSSGSqS0__">fromString(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -442,9 +450,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FO11UsergridSDK24UsergridEntityProperties18isMutableForEntityFS0_FCS_14UsergridEntitySb"></a>
+                    <a name="/s:FO11UsergridSDK24UsergridEntityProperties18isMutableForEntityFCS_14UsergridEntitySb"></a>
                     <a name="//apple_ref/swift/Method/isMutableForEntity(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FO11UsergridSDK24UsergridEntityProperties18isMutableForEntityFS0_FCS_14UsergridEntitySb">isMutableForEntity(_:)</a>
+                    <a class="token" href="#/s:FO11UsergridSDK24UsergridEntityProperties18isMutableForEntityFCS_14UsergridEntitySb">isMutableForEntity(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -496,7 +504,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Enums/UsergridHttpMethod.html b/sdks/swift/docs/Enums/UsergridHttpMethod.html
index 65718cd..1ad6cbb 100644
--- a/sdks/swift/docs/Enums/UsergridHttpMethod.html
+++ b/sdks/swift/docs/Enums/UsergridHttpMethod.html
@@ -14,12 +14,12 @@
     <a title="UsergridHttpMethod Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridHttpMethod Enum Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -323,7 +331,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Enums/UsergridImageContentType.html b/sdks/swift/docs/Enums/UsergridImageContentType.html
index 850b843..224450b 100644
--- a/sdks/swift/docs/Enums/UsergridImageContentType.html
+++ b/sdks/swift/docs/Enums/UsergridImageContentType.html
@@ -14,12 +14,12 @@
     <a title="UsergridImageContentType Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridImageContentType Enum Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -268,7 +276,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Enums/UsergridQueryOperator.html b/sdks/swift/docs/Enums/UsergridQueryOperator.html
index 1a7c201..fc07091 100644
--- a/sdks/swift/docs/Enums/UsergridQueryOperator.html
+++ b/sdks/swift/docs/Enums/UsergridQueryOperator.html
@@ -14,12 +14,12 @@
     <a title="UsergridQueryOperator Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridQueryOperator Enum Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -332,9 +340,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFO11UsergridSDK21UsergridQueryOperator10fromStringFMS0_FSSGSqS0__"></a>
+                    <a name="/s:ZFO11UsergridSDK21UsergridQueryOperator10fromStringFSSGSqS0__"></a>
                     <a name="//apple_ref/swift/Method/fromString(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFO11UsergridSDK21UsergridQueryOperator10fromStringFMS0_FSSGSqS0__">fromString(_:)</a>
+                    <a class="token" href="#/s:ZFO11UsergridSDK21UsergridQueryOperator10fromStringFSSGSqS0__">fromString(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -413,7 +421,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Enums/UsergridQuerySortOrder.html b/sdks/swift/docs/Enums/UsergridQuerySortOrder.html
index a79f9c6..3758d3f 100644
--- a/sdks/swift/docs/Enums/UsergridQuerySortOrder.html
+++ b/sdks/swift/docs/Enums/UsergridQuerySortOrder.html
@@ -14,12 +14,12 @@
     <a title="UsergridQuerySortOrder Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridQuerySortOrder Enum Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -239,9 +247,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFO11UsergridSDK22UsergridQuerySortOrder10fromStringFMS0_FSSGSqS0__"></a>
+                    <a name="/s:ZFO11UsergridSDK22UsergridQuerySortOrder10fromStringFSSGSqS0__"></a>
                     <a name="//apple_ref/swift/Method/fromString(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFO11UsergridSDK22UsergridQuerySortOrder10fromStringFMS0_FSSGSqS0__">fromString(_:)</a>
+                    <a class="token" href="#/s:ZFO11UsergridSDK22UsergridQuerySortOrder10fromStringFSSGSqS0__">fromString(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -320,7 +328,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Enums/UsergridUserProperties.html b/sdks/swift/docs/Enums/UsergridUserProperties.html
index 140d2e5..eff2cdc 100644
--- a/sdks/swift/docs/Enums/UsergridUserProperties.html
+++ b/sdks/swift/docs/Enums/UsergridUserProperties.html
@@ -14,12 +14,12 @@
     <a title="UsergridUserProperties Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html">UsergridSDK Reference</a>
+        <a href="../index.html"> Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridUserProperties Enum Reference
       </p>
@@ -92,7 +92,7 @@
             <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -121,6 +121,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -425,9 +433,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFO11UsergridSDK22UsergridUserProperties10fromStringFMS0_FSSGSqS0__"></a>
+                    <a name="/s:ZFO11UsergridSDK22UsergridUserProperties10fromStringFSSGSqS0__"></a>
                     <a name="//apple_ref/swift/Method/fromString(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFO11UsergridSDK22UsergridUserProperties10fromStringFMS0_FSSGSqS0__">fromString(_:)</a>
+                    <a class="token" href="#/s:ZFO11UsergridSDK22UsergridUserProperties10fromStringFSSGSqS0__">fromString(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -506,7 +514,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Extensions.html b/sdks/swift/docs/Extensions.html
index e293ef7..a5c3fb5 100644
--- a/sdks/swift/docs/Extensions.html
+++ b/sdks/swift/docs/Extensions.html
@@ -7,12 +7,13 @@
     <meta charset='utf-8'>
     <script src="js/jquery.min.js" defer></script>
     <script src="js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a title="Extensions  Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="index.html"> Docs</a> (88% documented)</p>
+        <p><a href="index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -26,7 +27,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="Classes.html">Classes</a>
+            <a href="Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="Classes/Usergrid.html">Usergrid</a>
@@ -38,6 +39,9 @@
                 <a href="Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -47,6 +51,9 @@
                 <a href="Classes/UsergridClientConfig.html">UsergridClientConfig</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridDevice.html">UsergridDevice</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridEntity.html">UsergridEntity</a>
               </li>
               <li class="nav-group-task">
@@ -56,9 +63,15 @@
                 <a href="Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -67,15 +80,32 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="Enums.html">Enums</a>
+            <a href="Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Enums/UsergridAuthMode.html">UsergridAuthMode</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Enums/UsergridDirection.html">UsergridDirection</a>
               </li>
               <li class="nav-group-task">
                 <a href="Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -90,15 +120,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="Extensions.html">Extensions</a>
+            <a href="Extensions.html">Extensions</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="Extensions/UsergridClient.html">UsergridClient</a>
+                <a href="Extensions/NSDate.html">NSDate</a>
               </li>
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="Typealiases.html">Typealiases</a>
+            <a href="Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -118,6 +148,12 @@
               <li class="nav-group-task">
                 <a href="Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -135,9 +171,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:C11UsergridSDK14UsergridClient"></a>
-                    <a name="//apple_ref/swift/Extension/UsergridClient" class="dashAnchor"></a>
-                    <a class="token" href="#/s:C11UsergridSDK14UsergridClient">UsergridClient</a>
+                    <a name="/c:objc(cs)NSDate"></a>
+                    <a name="//apple_ref/swift/Extension/NSDate" class="dashAnchor"></a>
+                    <a class="token" href="#/c:objc(cs)NSDate">NSDate</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -145,17 +181,9 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>UsergridClient</code> class is the base handler for making client connections to and managing relationships with Usergrid&rsquo;s API.</p>
+                        <p>Undocumented</p>
 
-                        <a href="Extensions/UsergridClient.html" class="slightly-smaller">See more</a>
-                      </div>
-                      <div class="declaration">
-                        <h4>Declaration</h4>
-                        <div class="Swift">
-                          <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridClient</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
-
-                        </div>
+                        <a href="Extensions/NSDate.html" class="slightly-smaller">See more</a>
                       </div>
                     </section>
                   </div>
@@ -165,8 +193,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-10-21)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/Extensions/NSDate.html b/sdks/swift/docs/Extensions/NSDate.html
new file mode 100644
index 0000000..e69c6e3
--- /dev/null
+++ b/sdks/swift/docs/Extensions/NSDate.html
@@ -0,0 +1,448 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>NSDate Extension Reference</title>
+    <link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
+    <link rel="stylesheet" type="text/css" href="../css/highlight.css" />
+    <meta charset='utf-8'>
+    <script src="../js/jquery.min.js" defer></script>
+    <script src="../js/jazzy.js" defer></script>
+    
+  </head>
+  <body>
+    <a name="//apple_ref/swift/Extension/NSDate" class="dashAnchor"></a>
+    <a title="NSDate Extension Reference"></a>
+    <header>
+      <div class="content-wrapper">
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
+      </div>
+    </header>
+    <div class="content-wrapper">
+      <p id="breadcrumbs">
+        <a href="../index.html"> Reference</a>
+        <img id="carat" src="../img/carat.png" />
+        NSDate Extension Reference
+      </p>
+    </div>
+    <div class="content-wrapper">
+      <nav class="sidebar">
+        <ul class="nav-groups">
+          <li class="nav-group-name">
+            <a href="../Classes.html">Classes</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Classes/Usergrid.html">Usergrid</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClient.html">UsergridClient</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClientConfig.html">UsergridClientConfig</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridDevice.html">UsergridDevice</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridEntity.html">UsergridEntity</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridFileMetaData.html">UsergridFileMetaData</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUser.html">UsergridUser</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Global Variables.html">Global Variables</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDirection.html">UsergridDirection</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQueryOperator.html">UsergridQueryOperator</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQuerySortOrder.html">UsergridQuerySortOrder</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridUserProperties.html">UsergridUserProperties</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridAssetDownloadCompletion">UsergridAssetDownloadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK28UsergridAssetRequestProgress">UsergridAssetRequestProgress</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK29UsergridAssetUploadCompletion">UsergridAssetUploadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK26UsergridResponseCompletion">UsergridResponseCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
+            </ul>
+          </li>
+        </ul>
+      </nav>
+      <article class="main-content">
+        <section>
+          <section class="section">
+            <h1>NSDate</h1>
+            <p>Undocumented</p>
+
+          </section>
+          <section class="section task-group-section">
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FE11UsergridSDKCSo6NSDatecFT12millisecondsSS_S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(milliseconds:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FE11UsergridSDKCSo6NSDatecFT12millisecondsSS_S0_">init(milliseconds:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Creates a new <code><a href="../Extensions/NSDate.html">NSDate</a></code> object with the given milliseconds.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">milliseconds</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>milliseconds</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>the milliseconds</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A new <code><a href="../Extensions/NSDate.html">NSDate</a></code> object.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FE11UsergridSDKCSo6NSDate18dateAsMillisecondsFT_Si"></a>
+                    <a name="//apple_ref/swift/Method/dateAsMilliseconds()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FE11UsergridSDKCSo6NSDate18dateAsMillisecondsFT_Si">dateAsMilliseconds()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Converts the <code><a href="../Extensions/NSDate.html">NSDate</a></code> object to milliseconds.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">dateAsMilliseconds</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Int</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>The number of milliseconds corresponding to the date.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FE11UsergridSDKCSo6NSDate24dateAsMillisecondsStringFT_SS"></a>
+                    <a name="//apple_ref/swift/Method/dateAsMillisecondsString()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FE11UsergridSDKCSo6NSDate24dateAsMillisecondsStringFT_SS">dateAsMillisecondsString()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Converts the <code><a href="../Extensions/NSDate.html">NSDate</a></code> object to milliseconds and returns the value as a string.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">dateAsMillisecondsString</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>The number of milliseconds corresponding to the date as a string.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFE11UsergridSDKCSo6NSDate22stringFromMillesecondsFSiSS"></a>
+                    <a name="//apple_ref/swift/Method/stringFromMilleseconds(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFE11UsergridSDKCSo6NSDate22stringFromMillesecondsFSiSS">stringFromMilleseconds(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Converts the number of milliseconds to a string.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">stringFromMilleseconds</span><span class="p">(</span><span class="nv">milliseconds</span><span class="p">:</span><span class="kt">Int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>milliseconds</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>the milliseconds to convert</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>The milliseconds as a string.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFE11UsergridSDKCSo6NSDate19unixTimeStampStringFT_SS"></a>
+                    <a name="//apple_ref/swift/Method/unixTimeStampString()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFE11UsergridSDKCSo6NSDate19unixTimeStampStringFT_SS">unixTimeStampString()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Converts the <code><a href="../Extensions/NSDate.html">NSDate</a></code> object to the corresponding UNIX time stamp as a string.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">unixTimeStampString</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>The UNIX time stamp as a string.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFE11UsergridSDKCSo6NSDate13unixTimeStampFT_Si"></a>
+                    <a name="//apple_ref/swift/Method/unixTimeStamp()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFE11UsergridSDKCSo6NSDate13unixTimeStampFT_Si">unixTimeStamp()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Converts the <code><a href="../Extensions/NSDate.html">NSDate</a></code> object to the corresponding UNIX time stamp.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">unixTimeStamp</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Int</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>The UNIX time stamp.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFE11UsergridSDKCSo6NSDate17nowAsMillisecondsFT_Si"></a>
+                    <a name="//apple_ref/swift/Method/nowAsMilliseconds()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFE11UsergridSDKCSo6NSDate17nowAsMillisecondsFT_Si">nowAsMilliseconds()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Converts the current date to milliseconds.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">nowAsMilliseconds</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Int</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>The milliseconds of the current date.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+          </section>
+        </section>
+        <section id="footer">
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+        </section>
+      </article>
+    </div>
+  </body>
+</div>
+</html>
diff --git a/sdks/swift/docs/Global Variables.html b/sdks/swift/docs/Global Variables.html
index 3b39019..2685313 100644
--- a/sdks/swift/docs/Global Variables.html
+++ b/sdks/swift/docs/Global Variables.html
@@ -13,12 +13,12 @@
     <a title="Global Variables  Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="index.html">UsergridSDK Reference</a>
+        <a href="index.html"> Reference</a>
         <img id="carat" src="img/carat.png" />
         Global Variables  Reference
       </p>
@@ -91,7 +91,7 @@
             <a href="Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -120,6 +120,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -180,7 +188,7 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">UsergridSDKVersion</span> <span class="o">=</span> <span class="s">"2.1.0"</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">UsergridSDKVersion</span> <span class="o">=</span> <span class="s">"2.1.1"</span></code></pre>
 
                         </div>
                       </div>
@@ -192,7 +200,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/Typealiases.html b/sdks/swift/docs/Typealiases.html
index ce55836..4a5b04a 100644
--- a/sdks/swift/docs/Typealiases.html
+++ b/sdks/swift/docs/Typealiases.html
@@ -13,12 +13,12 @@
     <a title="Typealiases  Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="index.html">UsergridSDK Reference</a>
+        <a href="index.html"> Reference</a>
         <img id="carat" src="img/carat.png" />
         Typealiases  Reference
       </p>
@@ -91,7 +91,7 @@
             <a href="Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -120,6 +120,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -337,33 +345,6 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:11UsergridSDK31UsergridAssetDownloadCompletion"></a>
-                    <a name="//apple_ref/swift/Alias/UsergridAssetDownloadCompletion" class="dashAnchor"></a>
-                    <a class="token" href="#/s:11UsergridSDK31UsergridAssetDownloadCompletion">UsergridAssetDownloadCompletion</a>
-                    </code>
-                  </div>
-                  <div class="height-container">
-                    <div class="pointer-container"></div>
-                    <section class="section">
-                      <div class="pointer"></div>
-                      <div class="abstract">
-                        <p>The completion block used in <code><a href="Classes/UsergridAsset.html">UsergridAsset</a></code> are finished downloading.</p>
-
-                      </div>
-                      <div class="declaration">
-                        <h4>Declaration</h4>
-                        <div class="language">
-                          <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridAssetDownloadCompletion</span> <span class="o">=</span> <span class="p">(</span><span class="k">as</span><span class="nv">set</span><span class="p">:</span><span class="kt">UsergridAsset</span><span class="p">?,</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">String</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
-
-                        </div>
-                      </div>
-                    </section>
-                  </div>
-                </li>
-                <li class="item">
-                  <div>
-                    <code>
                     <a name="/s:11UsergridSDK29UsergridAssetUploadCompletion"></a>
                     <a name="//apple_ref/swift/Alias/UsergridAssetUploadCompletion" class="dashAnchor"></a>
                     <a class="token" href="#/s:11UsergridSDK29UsergridAssetUploadCompletion">UsergridAssetUploadCompletion</a>
@@ -381,7 +362,34 @@
                         <h4>Declaration</h4>
                         <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridAssetUploadCompletion</span> <span class="o">=</span> <span class="p">(</span><span class="nv">response</span><span class="p">:</span><span class="kt">UsergridResponse</span><span class="p">,</span><span class="k">as</span><span class="nv">set</span><span class="p">:</span><span class="kt">UsergridAsset</span><span class="p">?,</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">String</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridAssetUploadCompletion</span> <span class="o">=</span> <span class="p">(</span><span class="k">as</span><span class="nv">set</span><span class="p">:</span><span class="kt">UsergridAsset</span><span class="p">?,</span> <span class="nv">response</span><span class="p">:</span> <span class="kt">UsergridResponse</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:11UsergridSDK31UsergridAssetDownloadCompletion"></a>
+                    <a name="//apple_ref/swift/Alias/UsergridAssetDownloadCompletion" class="dashAnchor"></a>
+                    <a class="token" href="#/s:11UsergridSDK31UsergridAssetDownloadCompletion">UsergridAssetDownloadCompletion</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The completion block used in <code><a href="Classes/UsergridAsset.html">UsergridAsset</a></code> are finished downloading.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridAssetDownloadCompletion</span> <span class="o">=</span> <span class="p">(</span><span class="k">as</span><span class="nv">set</span><span class="p">:</span><span class="kt">UsergridAsset</span><span class="p">?,</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">UsergridResponseError</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
 
                         </div>
                       </div>
@@ -393,7 +401,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes.html
index c14fb69..c6b6e22 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes.html
@@ -7,12 +7,13 @@
     <meta charset='utf-8'>
     <script src="js/jquery.min.js" defer></script>
     <script src="js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a title="Classes  Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="index.html"> Docs</a> (97% documented)</p>
+        <p><a href="index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -26,7 +27,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="Classes.html">Classes</a>
+            <a href="Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="Classes/Usergrid.html">Usergrid</a>
@@ -38,6 +39,9 @@
                 <a href="Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -59,9 +63,15 @@
                 <a href="Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -70,10 +80,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="Enums.html">Enums</a>
+            <a href="Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -85,6 +103,9 @@
                 <a href="Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -99,7 +120,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="Typealiases.html">Typealiases</a>
+            <a href="Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -119,6 +148,12 @@
               <li class="nav-group-task">
                 <a href="Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -136,6 +171,100 @@
                 <li class="item">
                   <div>
                     <code>
+                    <a name="/s:C11UsergridSDK21UsergridResponseError"></a>
+                    <a name="//apple_ref/swift/Class/UsergridResponseError" class="dashAnchor"></a>
+                    <a class="token" href="#/s:C11UsergridSDK21UsergridResponseError">UsergridResponseError</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>A standard error object that contains details about a request failure.</p>
+
+                        <a href="Classes/UsergridResponseError.html" class="slightly-smaller">See more</a>
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridResponseError</span><span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:C11UsergridSDK15UsergridRequest"></a>
+                    <a name="//apple_ref/swift/Class/UsergridRequest" class="dashAnchor"></a>
+                    <a class="token" href="#/s:C11UsergridSDK15UsergridRequest">UsergridRequest</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The UsergridRequest class incapsulates the properties that all requests made by the SDK have in common.  </p>
+
+<p>This class is also functions to create <code>NSURLRequest</code> objects based on the properties of the class.</p>
+
+                        <a href="Classes/UsergridRequest.html" class="slightly-smaller">See more</a>
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridRequest</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:C11UsergridSDK26UsergridAssetUploadRequest"></a>
+                    <a name="//apple_ref/swift/Class/UsergridAssetUploadRequest" class="dashAnchor"></a>
+                    <a class="token" href="#/s:C11UsergridSDK26UsergridAssetUploadRequest">UsergridAssetUploadRequest</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The <code><a href="Classes/UsergridRequest.html">UsergridRequest</a></code> sub class which is used for uploading assets.</p>
+
+                        <a href="Classes/UsergridAssetUploadRequest.html" class="slightly-smaller">See more</a>
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridAssetUploadRequest</span><span class="p">:</span> <span class="kt">UsergridRequest</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
                     <a name="/s:C11UsergridSDK20UsergridClientConfig"></a>
                     <a name="//apple_ref/swift/Class/UsergridClientConfig" class="dashAnchor"></a>
                     <a class="token" href="#/s:C11UsergridSDK20UsergridClientConfig">UsergridClientConfig</a>
@@ -146,17 +275,17 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p><code>UsergridClientConfig</code> is used when initializing <code>UsergridClient</code> objects.</p>
+                        <p><code>UsergridClientConfig</code> is used when initializing <code><a href="Classes/UsergridClient.html">UsergridClient</a></code> objects.</p>
 
-<p>The <code>UsergridClientConfig</code> is meant for further customization of <code>UsergridClient</code> objects when needed.</p>
+<p>The <code>UsergridClientConfig</code> is meant for further customization of <code><a href="Classes/UsergridClient.html">UsergridClient</a></code> objects when needed.</p>
 
                         <a href="Classes/UsergridClientConfig.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridClientConfig</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridClientConfig</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSCoding</span></code></pre>
 
                         </div>
                       </div>
@@ -180,15 +309,15 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The base class for <code>UsergridAppAuth</code> and <code>UsergridUserAuth</code> classes.</p>
+                        <p>The <code>UsergridAuth</code> class functions to create and store authentication information used by Usergrid.</p>
 
-<p>This class should never be initialized on its own.  The use of the <code>UsergridAppAuth</code> and <code>UsergridUserAuth</code> subclasses should be used.</p>
+<p>The <code>UsergridAuth</code> sub classes, <code><a href="Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> and <code><a href="Classes/UsergridUserAuth.html">UsergridUserAuth</a></code>, provide different ways for authentication to be used in creating requests for access tokens through the SDK.</p>
 
                         <a href="Classes/UsergridAuth.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridAuth</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSCoding</span></code></pre>
 
@@ -210,13 +339,13 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>UsergridAuth</code> subclass used for user level authorization.</p>
+                        <p>The <code><a href="Classes/UsergridAuth.html">UsergridAuth</a></code> subclass used for user level authorization.</p>
 
                         <a href="Classes/UsergridUserAuth.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridUserAuth</span> <span class="p">:</span> <span class="kt">UsergridAuth</span></code></pre>
 
@@ -238,13 +367,13 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>UsergridAuth</code> subclass used for application level authorization.</p>
+                        <p>The <code><a href="Classes/UsergridAuth.html">UsergridAuth</a></code> subclass used for application level authorization.</p>
 
                         <a href="Classes/UsergridAppAuth.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridAppAuth</span> <span class="p">:</span> <span class="kt">UsergridAuth</span></code></pre>
 
@@ -270,15 +399,15 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p><code>UsergridFileMetaData</code> is a helper class for dealing with reading <code>UsergridEntity</code> file meta data.</p>
+                        <p><code>UsergridFileMetaData</code> is a helper class for dealing with reading <code><a href="Classes/UsergridEntity.html">UsergridEntity</a></code> file meta data.</p>
 
                         <a href="Classes/UsergridFileMetaData.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridFileMetaData</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridFileMetaData</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span><span class="kt">NSCoding</span></code></pre>
 
                         </div>
                       </div>
@@ -302,7 +431,7 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p><code>UsergridDevice</code> is an <code>UsergridEntity</code> subclass that encapsulates information about the current device as well as stores information about push tokens and Usergrid notifiers.</p>
+                        <p><code>UsergridDevice</code> is an <code><a href="Classes/UsergridEntity.html">UsergridEntity</a></code> subclass that encapsulates information about the current device as well as stores information about push tokens and Usergrid notifiers.</p>
 
 <p>To apply push tokens for Usergrid notifiers use the <code>UsergridClient.applyPushToken</code> method.</p>
 
@@ -310,7 +439,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridDevice</span> <span class="p">:</span> <span class="kt">UsergridEntity</span></code></pre>
 
@@ -338,13 +467,13 @@
                       <div class="abstract">
                         <p><code>UsergridQuery</code> is builder class used to construct filtered requests to Usergrid.</p>
 
-<p><code>UsergridQuery</code> objects are then passed to <code>UsergridClient</code> or <code>Usergrid</code> methods which support <code>UsergridQuery</code> as a parameter are .GET(), .PUT(), and .DELETE().</p>
+<p><code>UsergridQuery</code> objects are then passed to <code><a href="Classes/UsergridClient.html">UsergridClient</a></code> or <code><a href="Classes/Usergrid.html">Usergrid</a></code> methods which support <code>UsergridQuery</code> as a parameter are .GET(), .PUT(), and .DELETE().</p>
 
                         <a href="Classes/UsergridQuery.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridQuery</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span><span class="kt">NSCopying</span></code></pre>
 
@@ -378,9 +507,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridEntity</span><span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridEntity</span><span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSCoding</span></code></pre>
 
                         </div>
                       </div>
@@ -404,13 +533,13 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p><code>UsergridUser</code> is a special subclass of <code>UsergridEntity</code> that supports functions and properties unique to users.</p>
+                        <p><code>UsergridUser</code> is a special subclass of <code><a href="Classes/UsergridEntity.html">UsergridEntity</a></code> that supports functions and properties unique to users.</p>
 
                         <a href="Classes/UsergridUser.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridUser</span> <span class="p">:</span> <span class="kt">UsergridEntity</span></code></pre>
 
@@ -436,18 +565,18 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>Usergrid</code> class acts as a static shared instance manager for the <code>UsergridClient</code> class.</p>
+                        <p>The <code>Usergrid</code> class acts as a static shared instance manager for the <code><a href="Classes/UsergridClient.html">UsergridClient</a></code> class.</p>
 
 <p>The methods and variables in this class are all static and therefore you will never need or want to initialize an instance of the <code>Usergrid</code> class.</p>
 
-<p>Use of this class depends on initialization of the shared instance of the <code>UsergridClient</code> object.  Because of this, before using any of the static methods
+<p>Use of this class depends on initialization of the shared instance of the <code><a href="Classes/UsergridClient.html">UsergridClient</a></code> object.  Because of this, before using any of the static methods
 provided you will need to call one of the shared instance initialization methods.  Failure to do so will result in failure from all methods.</p>
 
                         <a href="Classes/Usergrid.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">Usergrid</span><span class="p">:</span> <span class="kt">NSObject</span></code></pre>
 
@@ -475,15 +604,15 @@
                       <div class="abstract">
                         <p><code>UsergridResponse</code> is the core class that handles both successful and unsuccessful HTTP responses from Usergrid. </p>
 
-<p>If a request is successful, any entities returned in the response will be automatically parsed into <code>UsergridEntity</code> objects and pushed to the <code>entities</code> property.</p>
+<p>If a request is successful, any entities returned in the response will be automatically parsed into <code><a href="Classes/UsergridEntity.html">UsergridEntity</a></code> objects and pushed to the <code>entities</code> property.</p>
 
-<p>If a request fails, the <code>errorName</code> and <code>errorDescription</code> will contain information about the problem encountered.</p>
+<p>If a request fails, the <code>UsergridResponseError.error</code> property will contain information about the problem encountered.</p>
 
                         <a href="Classes/UsergridResponse.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridResponse</span><span class="p">:</span> <span class="kt">NSObject</span></code></pre>
 
@@ -509,7 +638,7 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>As Usergrid supports storing binary assets, the SDKs are designed to make uploading assets easier and more robust. Attaching, uploading, and downloading assets is handled by the <code>UsergridEntity</code> class.</p>
+                        <p>As Usergrid supports storing binary assets, the SDKs are designed to make uploading assets easier and more robust. Attaching, uploading, and downloading assets is handled by the <code><a href="Classes/UsergridEntity.html">UsergridEntity</a></code> class.</p>
 
 <p>Unless defined, whenever possible, the content-type will be inferred from the data provided, and the attached file (if not already a byte-array representation) will be binary-encoded.</p>
 
@@ -517,9 +646,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridAsset</span><span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridAsset</span><span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSCoding</span></code></pre>
 
                         </div>
                       </div>
@@ -549,9 +678,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridClient</span><span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridClient</span><span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSCoding</span></code></pre>
 
                         </div>
                       </div>
@@ -563,8 +692,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/Usergrid.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/Usergrid.html
index b5a8cba..61bf26f 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/Usergrid.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/Usergrid.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Class/Usergrid" class="dashAnchor"></a>
     <a title="Usergrid Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,28 +164,28 @@
           <section class="section">
             <h1>Usergrid</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">Usergrid</span><span class="p">:</span> <span class="kt">NSObject</span></code></pre>
 
                 </div>
               </div>
-            <p>The <code>Usergrid</code> class acts as a static shared instance manager for the <code>UsergridClient</code> class.</p>
+            <p>The <code>Usergrid</code> class acts as a static shared instance manager for the <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code> class.</p>
 
 <p>The methods and variables in this class are all static and therefore you will never need or want to initialize an instance of the <code>Usergrid</code> class.</p>
 
-<p>Use of this class depends on initialization of the shared instance of the <code>UsergridClient</code> object.  Because of this, before using any of the static methods
+<p>Use of this class depends on initialization of the shared instance of the <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code> object.  Because of this, before using any of the static methods
 provided you will need to call one of the shared instance initialization methods.  Failure to do so will result in failure from all methods.</p>
 
           </section>
           <section class="section task-group-section">
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Static%20Variables"></a>
-                  <a name="//apple_ref/swift/Section/Static Variables" class="dashAnchor"></a>
-                  <a href="#/Static%20Variables">
-                    <h3 class="section-name">Static Variables</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Static%20Variables"></a>
+                <a name="//apple_ref/swift/Section/Static Variables" class="dashAnchor"></a>
+                <a href="#/Static%20Variables">
+                  <h3 class="section-name">Static Variables</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
@@ -165,12 +200,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Used to determine if the shared instance of the <code>UsergridClient</code> has been initialized.</p>
+                        <p>Used to determine if the shared instance of the <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code> has been initialized.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">isInitialized</span> <span class="p">:</span> <span class="kt">Bool</span>  <span class="p">{</span> <span class="k">return</span> <span class="kt">Usergrid</span><span class="o">.</span><span class="n">_sharedClient</span> <span class="o">!=</span> <span class="kc">nil</span> <span class="p">}</span></code></pre>
 
@@ -192,13 +227,19 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>A shared instance of <code>UsergridClient</code>, used by the <code>Usergrid</code> static methods and acts as the default <code>UsergridClient</code>
+                        <p>A shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>, used by the <code><a href="../Classes/Usergrid.html">Usergrid</a></code> static methods and acts as the default <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>
 within the UsergridSDK library.</p>
 
+<div class="aside aside-warning">
+    <p class="aside-title">Warning</p>
+    You must call one of the <code>Usergrid.initSharedInstance</code> methods before this or any other <code><a href="../Classes/Usergrid.html">Usergrid</a></code> static methods are valid.
+
+</div>
+
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">sharedInstance</span> <span class="p">:</span> <span class="kt">UsergridClient</span></code></pre>
 
@@ -210,9 +251,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZvC11UsergridSDK8Usergrid5appIDSS"></a>
-                    <a name="//apple_ref/swift/Variable/appID" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZvC11UsergridSDK8Usergrid5appIDSS">appID</a>
+                    <a name="/s:ZvC11UsergridSDK8Usergrid5appIdSS"></a>
+                    <a name="//apple_ref/swift/Variable/appId" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZvC11UsergridSDK8Usergrid5appIdSS">appId</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -220,14 +261,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The application identifier the shared instance of <code>UsergridClient</code>.</p>
+                        <p>The application identifier the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">appID</span> <span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="kt">Usergrid</span><span class="o">.</span><span class="n">sharedInstance</span><span class="o">.</span><span class="n">appID</span> <span class="p">}</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">appId</span> <span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="kt">Usergrid</span><span class="o">.</span><span class="n">sharedInstance</span><span class="o">.</span><span class="n">appId</span> <span class="p">}</span></code></pre>
 
                         </div>
                       </div>
@@ -237,9 +278,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZvC11UsergridSDK8Usergrid5orgIDSS"></a>
-                    <a name="//apple_ref/swift/Variable/orgID" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZvC11UsergridSDK8Usergrid5orgIDSS">orgID</a>
+                    <a name="/s:ZvC11UsergridSDK8Usergrid5orgIdSS"></a>
+                    <a name="//apple_ref/swift/Variable/orgId" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZvC11UsergridSDK8Usergrid5orgIdSS">orgId</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -247,14 +288,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The organization identifier of the shared instance of <code>UsergridClient</code>.</p>
+                        <p>The organization identifier of the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">orgID</span> <span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="kt">Usergrid</span><span class="o">.</span><span class="n">sharedInstance</span><span class="o">.</span><span class="n">orgID</span> <span class="p">}</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">orgId</span> <span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="kt">Usergrid</span><span class="o">.</span><span class="n">sharedInstance</span><span class="o">.</span><span class="n">orgId</span> <span class="p">}</span></code></pre>
 
                         </div>
                       </div>
@@ -264,9 +305,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZvC11UsergridSDK8Usergrid7baseURLSS"></a>
-                    <a name="//apple_ref/swift/Variable/baseURL" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZvC11UsergridSDK8Usergrid7baseURLSS">baseURL</a>
+                    <a name="/s:ZvC11UsergridSDK8Usergrid7baseUrlSS"></a>
+                    <a name="//apple_ref/swift/Variable/baseUrl" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZvC11UsergridSDK8Usergrid7baseUrlSS">baseUrl</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -274,14 +315,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The base URL that all calls will be made with of the shared instance of <code>UsergridClient</code>.</p>
+                        <p>The base URL that all calls will be made with of the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">baseURL</span> <span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="kt">Usergrid</span><span class="o">.</span><span class="n">sharedInstance</span><span class="o">.</span><span class="n">baseURL</span> <span class="p">}</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">baseUrl</span> <span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="kt">Usergrid</span><span class="o">.</span><span class="n">sharedInstance</span><span class="o">.</span><span class="n">baseUrl</span> <span class="p">}</span></code></pre>
 
                         </div>
                       </div>
@@ -301,12 +342,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The constructed URL string based on the <code>UsergridClient</code>&rsquo;s baseURL, orgID, and appID of the shared instance of <code>UsergridClient</code>.</p>
+                        <p>The constructed URL string based on the <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>&rsquo;s baseUrl, orgId, and appId of the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">clientAppURL</span> <span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="kt">Usergrid</span><span class="o">.</span><span class="n">sharedInstance</span><span class="o">.</span><span class="n">clientAppURL</span> <span class="p">}</span></code></pre>
 
@@ -328,12 +369,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The currently logged in <code>UsergridUser</code> of the shared instance of <code>UsergridClient</code>.</p>
+                        <p>The currently logged in <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> of the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">currentUser</span><span class="p">:</span> <span class="kt">UsergridUser</span><span class="p">?</span>  <span class="p">{</span> <span class="k">return</span> <span class="kt">Usergrid</span><span class="o">.</span><span class="n">sharedInstance</span><span class="o">.</span><span class="n">currentUser</span> <span class="p">}</span></code></pre>
 
@@ -345,6 +386,33 @@
                 <li class="item">
                   <div>
                     <code>
+                    <a name="/s:ZvC11UsergridSDK8Usergrid28persistCurrentUserInKeychainSb"></a>
+                    <a name="//apple_ref/swift/Variable/persistCurrentUserInKeychain" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZvC11UsergridSDK8Usergrid28persistCurrentUserInKeychainSb">persistCurrentUserInKeychain</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Whether or not the current user will be saved and restored from the keychain using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">persistCurrentUserInKeychain</span><span class="p">:</span> <span class="kt">Bool</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
                     <a name="/s:ZvC11UsergridSDK8Usergrid8userAuthGSqCS_16UsergridUserAuth_"></a>
                     <a name="//apple_ref/swift/Variable/userAuth" class="dashAnchor"></a>
                     <a class="token" href="#/s:ZvC11UsergridSDK8Usergrid8userAuthGSqCS_16UsergridUserAuth_">userAuth</a>
@@ -355,12 +423,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>UsergridUserAuth</code> which consists of the token information from the <code>currentUser</code> property of the shared instance of <code>UsergridClient</code>.</p>
+                        <p>The <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code> which consists of the token information from the <code><a href="../Classes/Usergrid.html#/s:ZvC11UsergridSDK8Usergrid11currentUserGSqCS_12UsergridUser_">currentUser</a></code> property of the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">userAuth</span><span class="p">:</span> <span class="kt">UsergridUserAuth</span><span class="p">?</span>  <span class="p">{</span> <span class="k">return</span> <span class="kt">Usergrid</span><span class="o">.</span><span class="n">sharedInstance</span><span class="o">.</span><span class="n">userAuth</span> <span class="p">}</span></code></pre>
 
@@ -382,12 +450,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The application level <code>UsergridAppAuth</code> object of the shared instance of <code>UsergridClient</code>.</p>
+                        <p>The application level <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> object of the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">appAuth</span><span class="p">:</span> <span class="kt">UsergridAppAuth</span><span class="p">?</span></code></pre>
 
@@ -396,23 +464,50 @@
                     </section>
                   </div>
                 </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZvC11UsergridSDK8Usergrid8authModeOS_16UsergridAuthMode"></a>
+                    <a name="//apple_ref/swift/Variable/authMode" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZvC11UsergridSDK8Usergrid8authModeOS_16UsergridAuthMode">authMode</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The <code><a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a></code> value used to determine what type of token will be sent of the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>, if any.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">authMode</span><span class="p">:</span> <span class="kt">UsergridAuthMode</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Initialization"></a>
-                  <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
-                  <a href="#/Initialization">
-                    <h3 class="section-name">Initialization</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFMS0_FT5orgIDSS5appIDSS_CS_14UsergridClient"></a>
-                    <a name="//apple_ref/swift/Method/initSharedInstance(orgID:appID:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFMS0_FT5orgIDSS5appIDSS_CS_14UsergridClient">initSharedInstance(orgID:appID:)</a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFT5orgIdSS5appIdSS_CS_14UsergridClient"></a>
+                    <a name="//apple_ref/swift/Method/initSharedInstance(orgId:appId:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFT5orgIdSS5appIdSS_CS_14UsergridClient">initSharedInstance(orgId:appId:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -420,14 +515,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Initializes the <code>Usergrid.sharedInstance</code> of <code>UsergridClient</code>.</p>
+                        <p>Initializes the <code><a href="../Classes/Usergrid.html#/s:ZvC11UsergridSDK8Usergrid14sharedInstanceCS_14UsergridClient">Usergrid.sharedInstance</a></code> of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">initSharedInstance</span><span class="p">(</span><span class="n">orgID</span> <span class="nv">orgID</span> <span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appID</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UsergridClient</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">initSharedInstance</span><span class="p">(</span><span class="n">orgId</span> <span class="nv">orgId</span> <span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appId</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UsergridClient</span></code></pre>
 
                         </div>
                       </div>
@@ -438,7 +533,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>orgID</em>
+                                <em>orgId</em>
                                 </code>
                               </td>
                               <td>
@@ -451,7 +546,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>appID</em>
+                                <em>appId</em>
                                 </code>
                               </td>
                               <td>
@@ -466,7 +561,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>The shared instance of <code>UsergridClient</code>.</p>
+                        <p>The shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                     </section>
@@ -475,9 +570,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFMS0_FT5orgIDSS5appIDSS7baseURLSS_CS_14UsergridClient"></a>
-                    <a name="//apple_ref/swift/Method/initSharedInstance(orgID:appID:baseURL:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFMS0_FT5orgIDSS5appIDSS7baseURLSS_CS_14UsergridClient">initSharedInstance(orgID:appID:baseURL:)</a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFT5orgIdSS5appIdSS7baseUrlSS_CS_14UsergridClient"></a>
+                    <a name="//apple_ref/swift/Method/initSharedInstance(orgId:appId:baseUrl:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFT5orgIdSS5appIdSS7baseUrlSS_CS_14UsergridClient">initSharedInstance(orgId:appId:baseUrl:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -485,14 +580,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Initializes the <code>Usergrid.sharedInstance</code> of <code>UsergridClient</code>.</p>
+                        <p>Initializes the <code><a href="../Classes/Usergrid.html#/s:ZvC11UsergridSDK8Usergrid14sharedInstanceCS_14UsergridClient">Usergrid.sharedInstance</a></code> of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">initSharedInstance</span><span class="p">(</span><span class="n">orgID</span> <span class="nv">orgID</span> <span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">baseURL</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UsergridClient</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">initSharedInstance</span><span class="p">(</span><span class="n">orgId</span> <span class="nv">orgId</span> <span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appId</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">baseUrl</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UsergridClient</span></code></pre>
 
                         </div>
                       </div>
@@ -503,7 +598,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>orgID</em>
+                                <em>orgId</em>
                                 </code>
                               </td>
                               <td>
@@ -516,7 +611,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>appID</em>
+                                <em>appId</em>
                                 </code>
                               </td>
                               <td>
@@ -529,7 +624,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>baseURL</em>
+                                <em>baseUrl</em>
                                 </code>
                               </td>
                               <td>
@@ -544,7 +639,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>The shared instance of <code>UsergridClient</code>.</p>
+                        <p>The shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                     </section>
@@ -553,9 +648,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFMS0_FT13configurationCS_20UsergridClientConfig_CS_14UsergridClient"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFT13configurationCS_20UsergridClientConfig_CS_14UsergridClient"></a>
                     <a name="//apple_ref/swift/Method/initSharedInstance(configuration:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFMS0_FT13configurationCS_20UsergridClientConfig_CS_14UsergridClient">initSharedInstance(configuration:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid18initSharedInstanceFT13configurationCS_20UsergridClientConfig_CS_14UsergridClient">initSharedInstance(configuration:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -563,12 +658,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Initializes the <code>Usergrid.sharedInstance</code> of <code>UsergridClient</code>.</p>
+                        <p>Initializes the <code><a href="../Classes/Usergrid.html#/s:ZvC11UsergridSDK8Usergrid14sharedInstanceCS_14UsergridClient">Usergrid.sharedInstance</a></code> of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">initSharedInstance</span><span class="p">(</span><span class="n">configuration</span> <span class="nv">configuration</span><span class="p">:</span> <span class="kt">UsergridClientConfig</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UsergridClient</span></code></pre>
 
@@ -596,7 +691,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>The shared instance of <code>UsergridClient</code>.</p>
+                        <p>The shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                     </section>
@@ -605,20 +700,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Push%20Notifications"></a>
-                  <a name="//apple_ref/swift/Section/Push Notifications" class="dashAnchor"></a>
-                  <a href="#/Push%20Notifications">
-                    <h3 class="section-name">Push Notifications</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Push%20Notifications"></a>
+                <a name="//apple_ref/swift/Section/Push Notifications" class="dashAnchor"></a>
+                <a href="#/Push%20Notifications">
+                  <h3 class="section-name">Push Notifications</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFMS0_FTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/applyPushToken(_:notifierID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFMS0_FTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:notifierID:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:notifierID:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -626,12 +721,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Sets the push token for the given notifier ID and performs a PUT request to update the shared <code>UsergridDevice</code> instance using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Sets the push token for the given notifier ID and performs a PUT request to update the shared <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> instance using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">applyPushToken</span><span class="p">(</span><span class="nv">pushToken</span><span class="p">:</span> <span class="kt">NSData</span><span class="p">,</span> <span class="nv">notifierID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -689,9 +784,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFMS0_FTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/applyPushToken(_:pushToken:notifierID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFMS0_FTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:pushToken:notifierID:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14applyPushTokenFTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:pushToken:notifierID:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -699,12 +794,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Sets the push token for the given notifier ID and performs a PUT request to update the given <code>UsergridDevice</code> instance using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Sets the push token for the given notifier ID and performs a PUT request to update the given <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> instance using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">applyPushToken</span><span class="p">(</span><span class="nv">device</span><span class="p">:</span> <span class="kt">UsergridDevice</span><span class="p">,</span> <span class="nv">pushToken</span><span class="p">:</span> <span class="kt">NSData</span><span class="p">,</span> <span class="nv">notifierID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -775,20 +870,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Authorization"></a>
-                  <a name="//apple_ref/swift/Section/Authorization" class="dashAnchor"></a>
-                  <a href="#/Authorization">
-                    <h3 class="section-name">Authorization</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Authorization"></a>
+                <a name="//apple_ref/swift/Section/Authorization" class="dashAnchor"></a>
+                <a href="#/Authorization">
+                  <h3 class="section-name">Authorization</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZvC11UsergridSDK8Usergrid12authFallbackOS_20UsergridAuthFallback"></a>
-                    <a name="//apple_ref/swift/Variable/authFallback" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZvC11UsergridSDK8Usergrid12authFallbackOS_20UsergridAuthFallback">authFallback</a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid9usingAuthFCS_12UsergridAuthCS_14UsergridClient"></a>
+                    <a name="//apple_ref/swift/Method/usingAuth(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid9usingAuthFCS_12UsergridAuthCS_14UsergridClient">usingAuth(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -796,26 +891,53 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>UsergridAuthFallback</code> value used to determine what type of token will be sent of the shared instance of <code>UsergridClient</code>, if any.</p>
+                        <p>Sets the shared <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>&rsquo;s <code>tempAuth</code> property using the passed in <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code>.</p>
+
+<p>This will cause the next CRUD method performed by the client to use the <code>tempAuth</code> property once and will then reset.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">authFallback</span><span class="p">:</span> <span class="kt">UsergridAuthFallback</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">usingAuth</span><span class="p">(</span><span class="nv">auth</span><span class="p">:</span><span class="kt">UsergridAuth</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UsergridClient</span></code></pre>
 
                         </div>
                       </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>auth</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The <code>UsergridAuth</code> object to temporarily use for authentication.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>The shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code></p>
+
+                      </div>
                     </section>
                   </div>
                 </li>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid15authForRequestsFMS0_FT_GSqCS_12UsergridAuth_"></a>
-                    <a name="//apple_ref/swift/Method/authForRequests()" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid15authForRequestsFMS0_FT_GSqCS_12UsergridAuth_">authForRequests()</a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid10usingTokenFSSCS_14UsergridClient"></a>
+                    <a name="//apple_ref/swift/Method/usingToken(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10usingTokenFSSCS_14UsergridClient">usingToken(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -823,16 +945,70 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Determines the <code>UsergridAuth</code> object that will be used for all outgoing requests made by the shared instance of <code>UsergridClient</code>.</p>
+                        <p>Sets the shared <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>&rsquo;s <code>tempAuth</code> property using the passed in token.</p>
 
-<p>If there is a <code>UsergridUser</code> logged in and the token of that user is valid then it will return that.</p>
-
-<p>Otherwise, if the <code>authFallback</code> is <code>.App</code>, and the <code>UsergridAppAuth</code> of the client is set and the token is valid it will return that.</p>
+<p>This will cause the next CRUD method performed by the client to use the <code>tempAuth</code> property once and will then reset.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">usingToken</span><span class="p">(</span><span class="nv">token</span><span class="p">:</span><span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UsergridClient</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>auth</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The access token to temporarily use for authentication.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>The shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code></p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid15authForRequestsFT_GSqCS_12UsergridAuth_"></a>
+                    <a name="//apple_ref/swift/Method/authForRequests()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid15authForRequestsFT_GSqCS_12UsergridAuth_">authForRequests()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Determines the <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code> object that will be used for all outgoing requests made by the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+
+<p>If there is a <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> logged in and the token of that user is valid then it will return that.</p>
+
+<p>Otherwise, if the <code><a href="../Classes/Usergrid.html#/s:ZvC11UsergridSDK8Usergrid8authModeOS_16UsergridAuthMode">authMode</a></code> is <code>.App</code>, and the <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> of the client is set and the token is valid it will return that.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">authForRequests</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">UsergridAuth</span><span class="p">?</span></code></pre>
 
@@ -840,7 +1016,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>The <code>UsergridAuth</code> if one is found or nil if not.</p>
+                        <p>The <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code> if one is found or nil if not.</p>
 
                       </div>
                     </section>
@@ -849,9 +1025,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid15authenticateAppFMS0_FTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqSS__T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid15authenticateAppFTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/authenticateApp(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid15authenticateAppFMS0_FTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqSS__T___T_">authenticateApp(_:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid15authenticateAppFTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqCS_21UsergridResponseError__T___T_">authenticateApp(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -859,12 +1035,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Authenticates with the <code>UsergridAppAuth</code> that is contained within the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Authenticates with the <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> that is contained within the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">authenticateApp</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridAppAuthCompletionBlock</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -896,9 +1072,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid15authenticateAppFMS0_FTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqSS__T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid15authenticateAppFTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/authenticateApp(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid15authenticateAppFMS0_FTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqSS__T___T_">authenticateApp(_:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid15authenticateAppFTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqCS_21UsergridResponseError__T___T_">authenticateApp(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -906,12 +1082,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Authenticates with the <code>UsergridAppAuth</code> that is passed in using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Authenticates with the <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> that is passed in using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">authenticateApp</span><span class="p">(</span><span class="nv">auth</span><span class="p">:</span> <span class="kt">UsergridAppAuth</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridAppAuthCompletionBlock</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -956,9 +1132,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid16authenticateUserFMS0_FTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqSS__T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid16authenticateUserFTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/authenticateUser(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid16authenticateUserFMS0_FTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqSS__T___T_">authenticateUser(_:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid16authenticateUserFTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_">authenticateUser(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -966,12 +1142,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Authenticates with the <code>UsergridUserAuth</code> that is passed in using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Authenticates with the <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code> that is passed in using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">authenticateUser</span><span class="p">(</span><span class="nv">auth</span><span class="p">:</span> <span class="kt">UsergridUserAuth</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridUserAuthCompletionBlock</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1016,9 +1192,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid16authenticateUserFMS0_FTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqSS__T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid16authenticateUserFTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/authenticateUser(_:setAsCurrentUser:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid16authenticateUserFMS0_FTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqSS__T___T_">authenticateUser(_:setAsCurrentUser:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid16authenticateUserFTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_">authenticateUser(_:setAsCurrentUser:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1026,12 +1202,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Authenticates with the <code>UsergridUserAuth</code> that is passed in using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Authenticates with the <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code> that is passed in using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">authenticateUser</span><span class="p">(</span><span class="nv">userAuth</span><span class="p">:</span> <span class="kt">UsergridUserAuth</span><span class="p">,</span> <span class="nv">setAsCurrentUser</span><span class="p">:</span><span class="kt">Bool</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridUserAuthCompletionBlock</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1089,9 +1265,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid17logoutCurrentUserFMS0_FTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/logoutCurrentUser(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid17logoutCurrentUserFMS0_FTGSqFT8responseCS_16UsergridResponse_T___T_">logoutCurrentUser(_:)</a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid13resetPasswordFTCS_12UsergridUser3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/resetPassword(_:old:new:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid13resetPasswordFTCS_12UsergridUser3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_">resetPassword(_:old:new:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1099,12 +1275,98 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Logs out the current user of the shared instance locally and remotely.</p>
+                        <p>Changes the given <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>&rsquo;s current password with the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">resetPassword</span><span class="p">(</span><span class="nv">user</span><span class="p">:</span> <span class="kt">UsergridUser</span><span class="p">,</span> <span class="nv">old</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">new</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridUserResetPasswordCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>user</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The user.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>old</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The old password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>new</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The new password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid17logoutCurrentUserFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/logoutCurrentUser(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid17logoutCurrentUserFTGSqFT8responseCS_16UsergridResponse_T___T_">logoutCurrentUser(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Logs out the current user of the shared instance locally and remotely using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">logoutCurrentUser</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1136,9 +1398,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid19logoutUserAllTokensFMS0_FTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid19logoutUserAllTokensFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/logoutUserAllTokens(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid19logoutUserAllTokensFMS0_FTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUserAllTokens(_:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid19logoutUserAllTokensFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUserAllTokens(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1151,7 +1413,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">logoutUserAllTokens</span><span class="p">(</span><span class="nv">uuidOrUsername</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1183,9 +1445,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid10logoutUserFMS0_FTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid10logoutUserFTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/logoutUser(_:token:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10logoutUserFMS0_FTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUser(_:token:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10logoutUserFTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUser(_:token:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1200,7 +1462,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">logoutUser</span><span class="p">(</span><span class="nv">uuidOrUsername</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">token</span><span class="p">:</span><span class="kt">String</span><span class="p">?,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1232,20 +1494,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/GET"></a>
-                  <a name="//apple_ref/swift/Section/GET" class="dashAnchor"></a>
-                  <a href="#/GET">
-                    <h3 class="section-name">GET</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Generic%20Request%20Methods"></a>
+                <a name="//apple_ref/swift/Section/Generic Request Methods" class="dashAnchor"></a>
+                <a href="#/Generic%20Request%20Methods">
+                  <h3 class="section-name">Generic Request Methods</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid3GETFMS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/GET(_:uuidOrName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3GETFMS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:uuidOrName:completion:)</a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid11sendRequestFTCS_15UsergridRequest10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/sendRequest(_:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid11sendRequestFTCS_15UsergridRequest10completionGSqFT8responseCS_16UsergridResponse_T___T_">sendRequest(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1253,12 +1515,89 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Gets a single <code>UsergridEntity</code> of a given type with a specific UUID/name using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Starts the <code><a href="../Classes/UsergridRequest.html">UsergridRequest</a></code> sending process using the shared instance of <code>UsergridCient</code>.</p>
+
+<div class="aside aside-note">
+    <p class="aside-title">Note</p>
+    <p>This method should only be used when you construct your own `UsergridRequest objects.</p>
+
+</div>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">sendRequest</span><span class="p">(</span><span class="nv">request</span><span class="p">:</span><span class="kt">UsergridRequest</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>request</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The <code>UsergridRequest</code> object to send.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/GET"></a>
+                <a name="//apple_ref/swift/Section/GET" class="dashAnchor"></a>
+                <a href="#/GET">
+                  <h3 class="section-name">GET</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid3GETFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/GET(_:uuidOrName:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3GETFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:uuidOrName:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Gets a single <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> of a given type with a specific UUID/name using the shared instance of <code>UsergridCient</code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">GET</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1316,9 +1655,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid3GETFMS0_FTSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/GET(_:query:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3GETFMS0_FTSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:query:completion:)</a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid3GETFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/GET(_:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3GETFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1326,14 +1665,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Gets a group of <code>UsergridEntity</code> objects of a given type with an optional query using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Gets a group of <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects of a given type  using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">GET</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span> <span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">GET</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -1357,12 +1696,59 @@
                             <tr>
                               <td>
                                 <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid3GETFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/GET(_:queryCompletion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3GETFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:queryCompletion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Gets a group of <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects with a given query using the shared instance of <code>UsergridCient</code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">GET</span><span class="p">(</span><span class="nv">query</span><span class="p">:</span> <span class="kt">UsergridQuery</span><span class="p">,</span> <span class="nv">queryCompletion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
                                 <em>query</em>
                                 </code>
                               </td>
                               <td>
                                 <div>
-                                  <p>The optional query to use when gathering <code>UsergridEntity</code> objects.</p>
+                                  <p>The query to use when gathering <code>UsergridEntity</code> objects.</p>
 
                                 </div>
                               </td>
@@ -1370,7 +1756,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>completion</em>
+                                <em>queryCompletion</em>
                                 </code>
                               </td>
                               <td>
@@ -1389,20 +1775,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/PUT"></a>
-                  <a name="//apple_ref/swift/Section/PUT" class="dashAnchor"></a>
-                  <a href="#/PUT">
-                    <h3 class="section-name">PUT</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/PUT"></a>
+                <a name="//apple_ref/swift/Section/PUT" class="dashAnchor"></a>
+                <a href="#/PUT">
+                  <h3 class="section-name">PUT</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTSS10uuidOrNameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFTSS10uuidOrNameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:uuidOrName:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTSS10uuidOrNameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:uuidOrName:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFTSS10uuidOrNameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:uuidOrName:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1410,12 +1796,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Updates an <code>UsergridEntity</code> with the given type and UUID/name specified using the passed in jsonBody using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Updates an <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> with the given type and UUID/name specified using the passed in jsonBody using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">PUT</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">jsonBody</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">],</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1486,9 +1872,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1496,12 +1882,18 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Updates an <code>UsergridEntity</code> with the given type using the jsonBody where the UUID/name is specified inside of the jsonBody using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Updates an <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> with the given type using the jsonBody where the UUID/name is specified inside of the jsonBody using the shared instance of <code>UsergridCient</code>.</p>
+
+<div class="aside aside-note">
+    <p class="aside-title">Note</p>
+    <p>The <code>jsonBody</code> must contain a valid value for either <code>uuid</code> or <code>name</code>.</p>
+
+</div>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">PUT</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">jsonBody</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">],</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1559,9 +1951,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1569,12 +1961,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Updates the passed in <code>UsergridEntity</code> using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Updates the passed in <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">PUT</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span> <span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1619,9 +2011,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTCS_13UsergridQuery8jsonBodyGVSs10DictionarySSPSs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid3PUTFTCS_13UsergridQuery8jsonBodyGVs10DictionarySSPs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:jsonBody:queryCompletion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFMS0_FTCS_13UsergridQuery8jsonBodyGVSs10DictionarySSPSs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:queryCompletion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid3PUTFTCS_13UsergridQuery8jsonBodyGVs10DictionarySSPs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:queryCompletion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1631,10 +2023,16 @@
                       <div class="abstract">
                         <p>Updates the entities that fit the given query using the passed in jsonBody using the shared instance of <code>UsergridCient</code>.</p>
 
+<div class="aside aside-note">
+    <p class="aside-title">Note</p>
+    <p>The query parameter must have a valid <code>collectionName</code> before calling this method.</p>
+
+</div>
+
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">PUT</span><span class="p">(</span><span class="nv">query</span><span class="p">:</span> <span class="kt">UsergridQuery</span><span class="p">,</span> <span class="nv">jsonBody</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">],</span> <span class="nv">queryCompletion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1692,20 +2090,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/POST"></a>
-                  <a name="//apple_ref/swift/Section/POST" class="dashAnchor"></a>
-                  <a href="#/POST">
-                    <h3 class="section-name">POST</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/POST"></a>
+                <a name="//apple_ref/swift/Section/POST" class="dashAnchor"></a>
+                <a href="#/POST">
+                  <h3 class="section-name">POST</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTSS4nameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFTSS4nameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:name:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTSS4nameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:name:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFTSS4nameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:name:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1713,12 +2111,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Creates and posts an <code>UsergridEntity</code> of the given type with a given name and the given jsonBody using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Creates and posts an <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> of the given type with a given name and the given jsonBody using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">POST</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">name</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">jsonBody</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">],</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1789,9 +2187,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1799,12 +2197,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Creates and posts an <code>UsergridEntity</code> of the given type with the given jsonBody using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Creates and posts an <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> of the given type with the given jsonBody using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">POST</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">jsonBody</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">],</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1862,9 +2260,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTSS10jsonBodiesGSaGVSs10DictionarySSPSs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFTSS10jsonBodiesGSaGVs10DictionarySSPs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:jsonBodies:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTSS10jsonBodiesGSaGVSs10DictionarySSPSs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBodies:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFTSS10jsonBodiesGSaGVs10DictionarySSPs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBodies:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1877,7 +2275,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">POST</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">jsonBodies</span><span class="p">:[[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">]],</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1935,9 +2333,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1945,12 +2343,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Creates and posts creates an <code>UsergridEntity</code> using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Creates and posts creates an <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">POST</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1995,9 +2393,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid4POSTFTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:entitiesCompletion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFMS0_FTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:entitiesCompletion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid4POSTFTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:entitiesCompletion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2005,12 +2403,18 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Creates and posts an array of <code>UsergridEntity</code> objects using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Creates and posts an array of <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects using the shared instance of <code>UsergridCient</code>.</p>
+
+<div class="aside aside-note">
+    <p class="aside-title">Note</p>
+    <p>Each <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> in the array much already have a type assigned and must be the same.</p>
+
+</div>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">POST</span><span class="p">(</span><span class="nv">entities</span><span class="p">:[</span><span class="kt">UsergridEntity</span><span class="p">],</span> <span class="nv">entitiesCompletion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2055,20 +2459,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/DELETE"></a>
-                  <a name="//apple_ref/swift/Section/DELETE" class="dashAnchor"></a>
-                  <a href="#/DELETE">
-                    <h3 class="section-name">DELETE</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/DELETE"></a>
+                <a name="//apple_ref/swift/Section/DELETE" class="dashAnchor"></a>
+                <a href="#/DELETE">
+                  <h3 class="section-name">DELETE</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid6DELETEFMS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid6DELETEFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/DELETE(_:uuidOrName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid6DELETEFMS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:uuidOrName:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid6DELETEFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:uuidOrName:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2076,12 +2480,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Destroys the <code>UsergridEntity</code> of a given type with a specific UUID/name using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Destroys the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> of a given type with a specific UUID/name using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">DELETE</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2139,9 +2543,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid6DELETEFMS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid6DELETEFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/DELETE(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid6DELETEFMS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid6DELETEFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2149,12 +2553,18 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Destroys the passed <code>UsergridEntity</code> using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Destroys the passed <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> using the shared instance of <code>UsergridCient</code>.</p>
+
+<div class="aside aside-note">
+    <p class="aside-title">Note</p>
+    <p>The entity object must have a <code>uuid</code> or <code>name</code> assigned.</p>
+
+</div>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">DELETE</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2199,9 +2609,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid6DELETEFMS0_FTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid6DELETEFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/DELETE(_:queryCompletion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid6DELETEFMS0_FTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:queryCompletion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid6DELETEFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:queryCompletion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2209,12 +2619,18 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Destroys the <code>UsergridEntity</code> objects that fit the given <code>UsergridQuery</code> using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Destroys the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects that fit the given <code><a href="../Classes/UsergridQuery.html">UsergridQuery</a></code> using the shared instance of <code>UsergridCient</code>.</p>
+
+<div class="aside aside-note">
+    <p class="aside-title">Note</p>
+    <p>The query parameter must have a valid <code>collectionName</code> before calling this method.</p>
+
+</div>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="kt">DELETE</span><span class="p">(</span><span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">,</span> <span class="nv">queryCompletion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2259,20 +2675,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Connection%20Management"></a>
-                  <a name="//apple_ref/swift/Section/Connection Management" class="dashAnchor"></a>
-                  <a href="#/Connection%20Management">
-                    <h3 class="section-name">Connection Management</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Connection%20Management"></a>
+                <a name="//apple_ref/swift/Section/Connection Management" class="dashAnchor"></a>
+                <a href="#/Connection%20Management">
+                  <h3 class="section-name">Connection Management</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid7connectFMS0_FTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid7connectFTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connect(_:relationship:to:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid7connectFMS0_FTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:relationship:to:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid7connectFTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:relationship:to:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2280,12 +2696,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Connects the <code>UsergridEntity</code> objects via the relationship using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Connects the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects via the relationship using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">connect</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">to</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2356,9 +2772,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid7connectFMS0_FTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid7connectFTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connect(_:entityID:relationship:toType:toID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid7connectFMS0_FTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toID:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid7connectFTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toID:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2371,7 +2787,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">connect</span><span class="p">(</span><span class="nv">entityType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">entityID</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">toType</span><span class="p">:</span><span class="kt">String</span><span class="p">?,</span> <span class="nv">toID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2468,9 +2884,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid7connectFMS0_FTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid7connectFTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connect(_:entityID:relationship:toType:toName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid7connectFMS0_FTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toName:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid7connectFTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toName:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2483,7 +2899,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">connect</span><span class="p">(</span><span class="nv">entityType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">entityID</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">toType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">toName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2580,9 +2996,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid10disconnectFMS0_FTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid10disconnectFTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnect(_:relationship:from:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10disconnectFMS0_FTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:relationship:from:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10disconnectFTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:relationship:from:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2590,12 +3006,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Disconnects the <code>UsergridEntity</code> objects via the relationship using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Disconnects the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects via the relationship using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">disconnect</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">from</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2666,9 +3082,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid10disconnectFMS0_FTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid10disconnectFTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnect(_:entityID:relationship:fromType:fromID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10disconnectFMS0_FTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromID:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10disconnectFTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromID:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2681,7 +3097,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">disconnect</span><span class="p">(</span><span class="nv">entityType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">entityID</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">fromType</span><span class="p">:</span><span class="kt">String</span><span class="p">?,</span> <span class="nv">fromID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2778,9 +3194,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid10disconnectFMS0_FTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid10disconnectFTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnect(_:entityID:relationship:fromType:fromName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10disconnectFMS0_FTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromName:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid10disconnectFTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromName:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2793,7 +3209,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">disconnect</span><span class="p">(</span><span class="nv">entityType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">entityID</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">fromType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">fromName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2890,9 +3306,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid14getConnectionsFMS0_FTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/getConnections(_:entity:relationship:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14getConnectionsFMS0_FTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:entity:relationship:completion:)</a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid14getConnectionsFTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/getConnections(_:entity:relationship:query:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14getConnectionsFTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:entity:relationship:query:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2905,9 +3321,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -2976,9 +3392,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid14getConnectionsFMS0_FTOS_17UsergridDirection10entityTypeSS8entityIDSS12relationshipSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/getConnections(_:entityType:entityID:relationship:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14getConnectionsFMS0_FTOS_17UsergridDirection10entityTypeSS8entityIDSS12relationshipSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:entityType:entityID:relationship:completion:)</a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid14getConnectionsFTOS_17UsergridDirection4typeSS10uuidOrNameSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/getConnections(_:type:uuidOrName:relationship:query:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14getConnectionsFTOS_17UsergridDirection4typeSS10uuidOrNameSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:type:uuidOrName:relationship:query:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2991,9 +3407,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">entityType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">entityID</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">type</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -3017,7 +3433,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>entityType</em>
+                                <em>type</em>
                                 </code>
                               </td>
                               <td>
@@ -3030,7 +3446,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>entityID</em>
+                                <em>uuidOrName</em>
                                 </code>
                               </td>
                               <td>
@@ -3056,6 +3472,19 @@
                             <tr>
                               <td>
                                 <code>
+                                <em>query</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional query.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
                                 <em>completion</em>
                                 </code>
                               </td>
@@ -3072,23 +3501,12 @@
                     </section>
                   </div>
                 </li>
-              </ul>
-            </div>
-            <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Asset%20Management"></a>
-                  <a name="//apple_ref/swift/Section/Asset Management" class="dashAnchor"></a>
-                  <a href="#/Asset%20Management">
-                    <h3 class="section-name">Asset Management</h3>
-                  </a>
-                </div>
-              <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid11uploadAssetFMS0_FTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS3__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS2__5errorGSqSS__T___T_"></a>
-                    <a name="//apple_ref/swift/Method/uploadAsset(_:asset:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid11uploadAssetFMS0_FTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS3__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS2__5errorGSqSS__T___T_">uploadAsset(_:asset:progress:completion:)</a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid14getConnectionsFTOS_17UsergridDirection4uuidSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/getConnections(_:uuid:relationship:query:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid14getConnectionsFTOS_17UsergridDirection4uuidSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:uuid:relationship:query:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3096,12 +3514,122 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Uploads the asset and connects the data to the given <code>UsergridEntity</code> using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Gets the connected entities for the given relationship using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">uuid</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>direction</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The direction of the connection.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>uuid</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The entity UUID.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>relationship</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The relationship of the connection.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>query</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional query.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Asset%20Management"></a>
+                <a name="//apple_ref/swift/Section/Asset Management" class="dashAnchor"></a>
+                <a href="#/Asset%20Management">
+                  <h3 class="section-name">Asset Management</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid11uploadAssetFTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS3__T__10completionGSqFT5assetGSqS2__8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/uploadAsset(_:asset:progress:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid11uploadAssetFTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS3__T__10completionGSqFT5assetGSqS2__8responseCS_16UsergridResponse_T___T_">uploadAsset(_:asset:progress:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Uploads the asset and connects the data to the given <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> using the shared instance of <code>UsergridCient</code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">uploadAsset</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="k">as</span><span class="nv">set</span><span class="p">:</span><span class="kt">UsergridAsset</span><span class="p">,</span> <span class="nv">progress</span><span class="p">:</span><span class="kt">UsergridAssetRequestProgress</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridAssetUploadCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -3172,9 +3700,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK8Usergrid13downloadAssetFMS0_FTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_"></a>
+                    <a name="/s:ZFC11UsergridSDK8Usergrid13downloadAssetFTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/downloadAsset(_:contentType:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid13downloadAssetFMS0_FTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_">downloadAsset(_:contentType:progress:completion:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK8Usergrid13downloadAssetFTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_">downloadAsset(_:contentType:progress:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3182,12 +3710,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Downloads the asset from the given <code>UsergridEntity</code> using the shared instance of <code>UsergridCient</code>.</p>
+                        <p>Downloads the asset from the given <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> using the shared instance of <code>UsergridCient</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">downloadAsset</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">contentType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">progress</span><span class="p">:</span><span class="kt">UsergridAssetRequestProgress</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridAssetDownloadCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -3260,8 +3788,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridAppAuth.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridAppAuth.html
index 579c1e1..70c940e 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridAppAuth.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridAppAuth.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Class/UsergridAppAuth" class="dashAnchor"></a>
     <a title="UsergridAppAuth Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,30 +164,30 @@
           <section class="section">
             <h1>UsergridAppAuth</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridAppAuth</span> <span class="p">:</span> <span class="kt">UsergridAuth</span></code></pre>
 
                 </div>
               </div>
-            <p>The <code>UsergridAuth</code> subclass used for application level authorization.</p>
+            <p>The <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code> subclass used for application level authorization.</p>
 
           </section>
           <section class="section task-group-section">
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Instance%20Properties"></a>
-                  <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
-                  <a href="#/Instance%20Properties">
-                    <h3 class="section-name">Instance Properties</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Instance%20Properties"></a>
+                <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
+                <a href="#/Instance%20Properties">
+                  <h3 class="section-name">Instance Properties</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK15UsergridAppAuth8clientIDSS"></a>
-                    <a name="//apple_ref/swift/Property/clientID" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK15UsergridAppAuth8clientIDSS">clientID</a>
+                    <a name="/s:vC11UsergridSDK15UsergridAppAuth8clientIdSS"></a>
+                    <a name="//apple_ref/swift/Property/clientId" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK15UsergridAppAuth8clientIdSS">clientId</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -165,9 +200,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">clientID</span><span class="p">:</span> <span class="kt">String</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">clientId</span><span class="p">:</span> <span class="kt">String</span></code></pre>
 
                         </div>
                       </div>
@@ -177,20 +212,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Initialization"></a>
-                  <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
-                  <a href="#/Initialization">
-                    <h3 class="section-name">Initialization</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK15UsergridAppAuthcFMS0_FT8clientIDSS12clientSecretSS_S0_"></a>
-                    <a name="//apple_ref/swift/Method/init(clientID:clientSecret:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK15UsergridAppAuthcFMS0_FT8clientIDSS12clientSecretSS_S0_">init(clientID:clientSecret:)</a>
+                    <a name="/s:FC11UsergridSDK15UsergridAppAuthcFT8clientIdSS12clientSecretSS_S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(clientId:clientSecret:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK15UsergridAppAuthcFT8clientIdSS12clientSecretSS_S0_">init(clientId:clientSecret:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -198,14 +233,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Designated initializer for <code>UsergridAppAuth</code> objects.</p>
+                        <p>Designated initializer for <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> objects.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">clientID</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span><span class="nv">clientSecret</span><span class="p">:</span><span class="kt">String</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">clientId</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span><span class="nv">clientSecret</span><span class="p">:</span><span class="kt">String</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -216,7 +251,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>clientID</em>
+                                <em>clientId</em>
                                 </code>
                               </td>
                               <td>
@@ -244,18 +279,29 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A new instance of <code>UsergridAppAuth</code>.</p>
+                        <p>A new instance of <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code>.</p>
 
                       </div>
                     </section>
                   </div>
                 </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/NSCoding"></a>
+                <a name="//apple_ref/swift/Section/NSCoding" class="dashAnchor"></a>
+                <a href="#/NSCoding">
+                  <h3 class="section-name">NSCoding</h3>
+                </a>
+              </div>
+              <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK15UsergridAppAuthcFMS0_FT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="/s:FC11UsergridSDK15UsergridAppAuthcFT5coderCSo7NSCoder_GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK15UsergridAppAuthcFMS0_FT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK15UsergridAppAuthcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -263,26 +309,51 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Undocumented</p>
+                        <p>NSCoding protocol initializer.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridAppAuth</span> <span class="p">:</span> <span class="kt">UsergridAuth</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">required</span> <span class="kd">public</span> <span class="nf">init</span><span class="p">?(</span><span class="n">coder</span> <span class="nv">aDecoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aDecoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The decoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A decoded <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> object.</p>
+
+                      </div>
                     </section>
                   </div>
                 </li>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK15UsergridAppAuth15encodeWithCoderFS0_FCSo7NSCoderT_"></a>
+                    <a name="/s:FC11UsergridSDK15UsergridAppAuth15encodeWithCoderFCSo7NSCoderT_"></a>
                     <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK15UsergridAppAuth15encodeWithCoderFS0_FCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK15UsergridAppAuth15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -290,17 +361,37 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Undocumented</p>
+                        <p>NSCoding protocol encoder.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridAppAuth</span> <span class="p">:</span> <span class="kt">UsergridAuth</span></code></pre>
+                          <pre class="highlight"><code><span class="k">override</span> <span class="kd">public</span> <span class="kd">func</span> <span class="nf">encodeWithCoder</span><span class="p">(</span><span class="nv">aCoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aCoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The encoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
                     </section>
                   </div>
                 </li>
@@ -309,8 +400,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridAsset.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridAsset.html
index bf2b9f7..568d727 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridAsset.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridAsset.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Class/UsergridAsset" class="dashAnchor"></a>
     <a title="UsergridAsset Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,32 +164,32 @@
           <section class="section">
             <h1>UsergridAsset</h1>
               <div class="declaration">
-                <div class="Swift">
-                  <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridAsset</span><span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+                <div class="language">
+                  <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridAsset</span><span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSCoding</span></code></pre>
 
                 </div>
               </div>
-            <p>As Usergrid supports storing binary assets, the SDKs are designed to make uploading assets easier and more robust. Attaching, uploading, and downloading assets is handled by the <code>UsergridEntity</code> class.</p>
+            <p>As Usergrid supports storing binary assets, the SDKs are designed to make uploading assets easier and more robust. Attaching, uploading, and downloading assets is handled by the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> class.</p>
 
 <p>Unless defined, whenever possible, the content-type will be inferred from the data provided, and the attached file (if not already a byte-array representation) will be binary-encoded.</p>
 
           </section>
           <section class="section task-group-section">
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Instance%20Properties"></a>
-                  <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
-                  <a href="#/Instance%20Properties">
-                    <h3 class="section-name">Instance Properties</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Instance%20Properties"></a>
+                <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
+                <a href="#/Instance%20Properties">
+                  <h3 class="section-name">Instance Properties</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK13UsergridAsset8fileNameSS"></a>
-                    <a name="//apple_ref/swift/Property/fileName" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK13UsergridAsset8fileNameSS">fileName</a>
+                    <a name="/s:vC11UsergridSDK13UsergridAsset8filenameSS"></a>
+                    <a name="//apple_ref/swift/Property/filename" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK13UsergridAsset8filenameSS">filename</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -167,9 +202,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">fileName</span><span class="p">:</span> <span class="kt">String</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">filename</span><span class="p">:</span> <span class="kt">String</span></code></pre>
 
                         </div>
                       </div>
@@ -179,9 +214,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK13UsergridAsset9assetDataCSo6NSData"></a>
-                    <a name="//apple_ref/swift/Property/assetData" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK13UsergridAsset9assetDataCSo6NSData">assetData</a>
+                    <a name="/s:vC11UsergridSDK13UsergridAsset4dataCSo6NSData"></a>
+                    <a name="//apple_ref/swift/Property/data" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK13UsergridAsset4dataCSo6NSData">data</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -189,14 +224,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Binary representation of asset data. If an image or image path was passed on initialization of the <code>UsergridAsset</code>.</p>
+                        <p>Binary representation of the asset&rsquo;s data.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">assetData</span><span class="p">:</span> <span class="kt">NSData</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">data</span><span class="p">:</span> <span class="kt">NSData</span></code></pre>
 
                         </div>
                       </div>
@@ -221,7 +256,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">originalLocation</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
 
@@ -248,7 +283,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">contentType</span><span class="p">:</span> <span class="kt">String</span></code></pre>
 
@@ -275,9 +310,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">contentLength</span><span class="p">:</span> <span class="kt">Int</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="k">as</span><span class="n">setData</span><span class="o">.</span><span class="n">length</span> <span class="p">}</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">contentLength</span><span class="p">:</span> <span class="kt">Int</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">length</span> <span class="p">}</span></code></pre>
 
                         </div>
                       </div>
@@ -287,20 +322,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Initialization"></a>
-                  <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
-                  <a href="#/Initialization">
-                    <h3 class="section-name">Initialization</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridAssetcFMS0_FT8fileNameGSqSS_4dataCSo6NSData16originalLocationGSqSS_11contentTypeSS_S0_"></a>
-                    <a name="//apple_ref/swift/Method/init(fileName:data:originalLocation:contentType:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAssetcFMS0_FT8fileNameGSqSS_4dataCSo6NSData16originalLocationGSqSS_11contentTypeSS_S0_">init(fileName:data:originalLocation:contentType:)</a>
+                    <a name="/s:FC11UsergridSDK13UsergridAssetcFT8filenameGSqSS_4dataCSo6NSData16originalLocationGSqSS_11contentTypeSS_S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(filename:data:originalLocation:contentType:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAssetcFT8filenameGSqSS_4dataCSo6NSData16originalLocationGSqSS_11contentTypeSS_S0_">init(filename:data:originalLocation:contentType:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -308,14 +343,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Designated initializer for <code>UsergridAsset</code> objects.</p>
+                        <p>Designated initializer for <code><a href="../Classes/UsergridAsset.html">UsergridAsset</a></code> objects.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">fileName</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kt">UsergridAsset</span><span class="o">.</span><span class="kt">DEFAULT_FILE_NAME</span><span class="p">,</span> <span class="nv">data</span><span class="p">:</span><span class="kt">NSData</span><span class="p">,</span> <span class="nv">originalLocation</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">contentType</span><span class="p">:</span><span class="kt">String</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">filename</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kt">UsergridAsset</span><span class="o">.</span><span class="kt">DEFAULT_FILE_NAME</span><span class="p">,</span> <span class="nv">data</span><span class="p">:</span><span class="kt">NSData</span><span class="p">,</span> <span class="nv">originalLocation</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">contentType</span><span class="p">:</span><span class="kt">String</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -380,7 +415,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A new instance of <code>UsergridAsset</code>.</p>
+                        <p>A new instance of <code><a href="../Classes/UsergridAsset.html">UsergridAsset</a></code>.</p>
 
                       </div>
                     </section>
@@ -389,9 +424,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridAssetcFMS0_FT8fileNameGSqSS_5imageCSo7UIImage16imageContentTypeOS_24UsergridImageContentType_GSqS0__"></a>
-                    <a name="//apple_ref/swift/Method/init(fileName:image:imageContentType:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAssetcFMS0_FT8fileNameGSqSS_5imageCSo7UIImage16imageContentTypeOS_24UsergridImageContentType_GSqS0__">init(fileName:image:imageContentType:)</a>
+                    <a name="/s:FC11UsergridSDK13UsergridAssetcFT8filenameGSqSS_5imageCSo7UIImage16imageContentTypeOS_24UsergridImageContentType_GSqS0__"></a>
+                    <a name="//apple_ref/swift/Method/init(filename:image:imageContentType:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAssetcFT8filenameGSqSS_5imageCSo7UIImage16imageContentTypeOS_24UsergridImageContentType_GSqS0__">init(filename:image:imageContentType:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -399,14 +434,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Convenience initializer for <code>UsergridAsset</code> objects dealing with image data.</p>
+                        <p>Convenience initializer for <code><a href="../Classes/UsergridAsset.html">UsergridAsset</a></code> objects dealing with image data.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">?(</span><span class="nv">fileName</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kt">UsergridAsset</span><span class="o">.</span><span class="kt">DEFAULT_FILE_NAME</span><span class="p">,</span> <span class="nv">image</span><span class="p">:</span><span class="kt">UIImage</span><span class="p">,</span> <span class="nv">imageContentType</span><span class="p">:</span><span class="kt">UsergridImageContentType</span> <span class="o">=</span> <span class="o">.</span><span class="kt">Png</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">?(</span><span class="nv">filename</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kt">UsergridAsset</span><span class="o">.</span><span class="kt">DEFAULT_FILE_NAME</span><span class="p">,</span> <span class="nv">image</span><span class="p">:</span><span class="kt">UIImage</span><span class="p">,</span> <span class="nv">imageContentType</span><span class="p">:</span><span class="kt">UsergridImageContentType</span> <span class="o">=</span> <span class="o">.</span><span class="kt">Png</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -458,7 +493,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A new instance of <code>UsergridAsset</code> if the data can be gathered from the passed in <code>UIImage</code>, otherwise nil.</p>
+                        <p>A new instance of <code><a href="../Classes/UsergridAsset.html">UsergridAsset</a></code> if the data can be gathered from the passed in <code>UIImage</code>, otherwise nil.</p>
 
                       </div>
                     </section>
@@ -467,9 +502,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridAssetcFMS0_FT8fileNameGSqSS_7fileURLCSo5NSURL11contentTypeGSqSS__GSqS0__"></a>
-                    <a name="//apple_ref/swift/Method/init(fileName:fileURL:contentType:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAssetcFMS0_FT8fileNameGSqSS_7fileURLCSo5NSURL11contentTypeGSqSS__GSqS0__">init(fileName:fileURL:contentType:)</a>
+                    <a name="/s:FC11UsergridSDK13UsergridAssetcFT8filenameGSqSS_7fileURLCSo5NSURL11contentTypeGSqSS__GSqS0__"></a>
+                    <a name="//apple_ref/swift/Method/init(filename:fileURL:contentType:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAssetcFT8filenameGSqSS_7fileURLCSo5NSURL11contentTypeGSqSS__GSqS0__">init(filename:fileURL:contentType:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -477,14 +512,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Convenience initializer for <code>UsergridAsset</code> objects dealing directly with files on disk.</p>
+                        <p>Convenience initializer for <code><a href="../Classes/UsergridAsset.html">UsergridAsset</a></code> objects dealing directly with files on disk.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">?(</span><span class="k">var</span> <span class="nv">fileName</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kt">UsergridAsset</span><span class="o">.</span><span class="kt">DEFAULT_FILE_NAME</span><span class="p">,</span> <span class="nv">fileURL</span><span class="p">:</span><span class="kt">NSURL</span><span class="p">,</span> <span class="k">var</span> <span class="nv">contentType</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">?(</span><span class="nv">filename</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kt">UsergridAsset</span><span class="o">.</span><span class="kt">DEFAULT_FILE_NAME</span><span class="p">,</span> <span class="nv">fileURL</span><span class="p">:</span><span class="kt">NSURL</span><span class="p">,</span> <span class="nv">contentType</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -536,7 +571,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A new instance of <code>UsergridAsset</code> if the data can be gathered from the passed in <code>NSURL</code>, otherwise nil.</p>
+                        <p>A new instance of <code><a href="../Classes/UsergridAsset.html">UsergridAsset</a></code> if the data can be gathered from the passed in <code>NSURL</code>, otherwise nil.</p>
 
                       </div>
                     </section>
@@ -544,11 +579,121 @@
                 </li>
               </ul>
             </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/NSCoding"></a>
+                <a name="//apple_ref/swift/Section/NSCoding" class="dashAnchor"></a>
+                <a href="#/NSCoding">
+                  <h3 class="section-name">NSCoding</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK13UsergridAssetcFT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAssetcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>NSCoding protocol initializer.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">required</span> <span class="kd">public</span> <span class="nf">init</span><span class="p">?(</span><span class="n">coder</span> <span class="nv">aDecoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aDecoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The decoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A decoded <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> object.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK13UsergridAsset15encodeWithCoderFCSo7NSCoderT_"></a>
+                    <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridAsset15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>NSCoding protocol encoder.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">encodeWithCoder</span><span class="p">(</span><span class="nv">aCoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aCoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The encoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridAssetUploadRequest.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridAssetUploadRequest.html
new file mode 100644
index 0000000..f7a0b00
--- /dev/null
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridAssetUploadRequest.html
@@ -0,0 +1,356 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>UsergridAssetUploadRequest Class Reference</title>
+    <link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
+    <link rel="stylesheet" type="text/css" href="../css/highlight.css" />
+    <meta charset='utf-8'>
+    <script src="../js/jquery.min.js" defer></script>
+    <script src="../js/jazzy.js" defer></script>
+    
+  </head>
+  <body>
+    <a name="//apple_ref/swift/Class/UsergridAssetUploadRequest" class="dashAnchor"></a>
+    <a title="UsergridAssetUploadRequest Class Reference"></a>
+    <header>
+      <div class="content-wrapper">
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
+      </div>
+    </header>
+    <div class="content-wrapper">
+      <p id="breadcrumbs">
+        <a href="../index.html"> Reference</a>
+        <img id="carat" src="../img/carat.png" />
+        UsergridAssetUploadRequest Class Reference
+      </p>
+    </div>
+    <div class="content-wrapper">
+      <nav class="sidebar">
+        <ul class="nav-groups">
+          <li class="nav-group-name">
+            <a href="../Classes.html">Classes</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Classes/Usergrid.html">Usergrid</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClient.html">UsergridClient</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClientConfig.html">UsergridClientConfig</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridDevice.html">UsergridDevice</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridEntity.html">UsergridEntity</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridFileMetaData.html">UsergridFileMetaData</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUser.html">UsergridUser</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Global Variables.html">Global Variables</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDirection.html">UsergridDirection</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQueryOperator.html">UsergridQueryOperator</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQuerySortOrder.html">UsergridQuerySortOrder</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridUserProperties.html">UsergridUserProperties</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridAssetDownloadCompletion">UsergridAssetDownloadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK28UsergridAssetRequestProgress">UsergridAssetRequestProgress</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK29UsergridAssetUploadCompletion">UsergridAssetUploadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK26UsergridResponseCompletion">UsergridResponseCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
+            </ul>
+          </li>
+        </ul>
+      </nav>
+      <article class="main-content">
+        <section>
+          <section class="section">
+            <h1>UsergridAssetUploadRequest</h1>
+              <div class="declaration">
+                <div class="language">
+                  <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridAssetUploadRequest</span><span class="p">:</span> <span class="kt">UsergridRequest</span></code></pre>
+
+                </div>
+              </div>
+            <p>The <code><a href="../Classes/UsergridRequest.html">UsergridRequest</a></code> sub class which is used for uploading assets.</p>
+
+          </section>
+          <section class="section task-group-section">
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Instance%20Properties"></a>
+                <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
+                <a href="#/Instance%20Properties">
+                  <h3 class="section-name">Instance Properties</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK26UsergridAssetUploadRequest5assetCS_13UsergridAsset"></a>
+                    <a name="//apple_ref/swift/Property/asset" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK26UsergridAssetUploadRequest5assetCS_13UsergridAsset">asset</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The asset to use for uploading.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">asset</span><span class="p">:</span> <span class="kt">UsergridAsset</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK26UsergridAssetUploadRequest17multiPartHTTPBodyCSo6NSData"></a>
+                    <a name="//apple_ref/swift/Property/multiPartHTTPBody" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK26UsergridAssetUploadRequest17multiPartHTTPBodyCSo6NSData">multiPartHTTPBody</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>A constructed multipart http body for requests to upload.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">multiPartHTTPBody</span><span class="p">:</span> <span class="kt">NSData</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK26UsergridAssetUploadRequestcFT7baseUrlSS5pathsGSqGSaSS__4authGSqCS_12UsergridAuth_5assetCS_13UsergridAsset_S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(baseUrl:paths:auth:asset:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK26UsergridAssetUploadRequestcFT7baseUrlSS5pathsGSqGSaSS__4authGSqCS_12UsergridAuth_5assetCS_13UsergridAsset_S0_">init(baseUrl:paths:auth:asset:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The designated initializer for <code><a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a></code> objects.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">baseUrl</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span>
+                <span class="nv">paths</span><span class="p">:[</span><span class="kt">String</span><span class="p">]?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
+                <span class="nv">auth</span><span class="p">:</span><span class="kt">UsergridAuth</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
+                <span class="k">as</span><span class="nv">set</span><span class="p">:</span><span class="kt">UsergridAsset</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>baseUrl</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The base URL.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>paths</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional paths to append to the base URL.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>auth</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional <code>UsergridAuth</code> that will be used in the Authorization header.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>asset</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The asset to upload.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A new instance of <code><a href="../Classes/UsergridRequest.html">UsergridRequest</a></code>.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+          </section>
+        </section>
+        <section id="footer">
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+        </section>
+      </article>
+    </div>
+  </body>
+</div>
+</html>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridAuth.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridAuth.html
index 12ae462..8d1f6fd 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridAuth.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridAuth.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Class/UsergridAuth" class="dashAnchor"></a>
     <a title="UsergridAuth Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,25 +164,25 @@
           <section class="section">
             <h1>UsergridAuth</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridAuth</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSCoding</span></code></pre>
 
                 </div>
               </div>
-            <p>The base class for <code>UsergridAppAuth</code> and <code>UsergridUserAuth</code> classes.</p>
+            <p>The <code>UsergridAuth</code> class functions to create and store authentication information used by Usergrid.</p>
 
-<p>This class should never be initialized on its own.  The use of the <code>UsergridAppAuth</code> and <code>UsergridUserAuth</code> subclasses should be used.</p>
+<p>The <code>UsergridAuth</code> sub classes, <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> and <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code>, provide different ways for authentication to be used in creating requests for access tokens through the SDK.</p>
 
           </section>
           <section class="section task-group-section">
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Instance%20Properties"></a>
-                  <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
-                  <a href="#/Instance%20Properties">
-                    <h3 class="section-name">Instance Properties</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Instance%20Properties"></a>
+                <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
+                <a href="#/Instance%20Properties">
+                  <h3 class="section-name">Instance Properties</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
@@ -162,12 +197,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The access token, if this <code>UsergridAuth</code> was authorized successfully.</p>
+                        <p>The access token, if this <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code> was authorized successfully.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">accessToken</span> <span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
 
@@ -179,9 +214,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK12UsergridAuth9expiresInGSqSi_"></a>
-                    <a name="//apple_ref/swift/Property/expiresIn" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK12UsergridAuth9expiresInGSqSi_">expiresIn</a>
+                    <a name="/s:vC11UsergridSDK12UsergridAuth6expiryGSqCSo6NSDate_"></a>
+                    <a name="//apple_ref/swift/Property/expiry" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK12UsergridAuth6expiryGSqCSo6NSDate_">expiry</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -189,14 +224,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The expires in time stamp, if this <code>UsergridAuth</code> was authorized successfully and their was a expires in time stamp within the token response.</p>
+                        <p>The expires at date, if this <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code> was authorized successfully and their was a expires in time stamp within the token response.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">expiresIn</span> <span class="p">:</span> <span class="kt">Int</span><span class="p">?</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">expiry</span> <span class="p">:</span> <span class="kt">NSDate</span><span class="p">?</span></code></pre>
 
                         </div>
                       </div>
@@ -221,7 +256,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">hasToken</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="n">accessToken</span> <span class="o">!=</span> <span class="kc">nil</span> <span class="p">}</span></code></pre>
 
@@ -233,9 +268,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK12UsergridAuth12tokenIsValidSb"></a>
-                    <a name="//apple_ref/swift/Property/tokenIsValid" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK12UsergridAuth12tokenIsValidSb">tokenIsValid</a>
+                    <a name="/s:vC11UsergridSDK12UsergridAuth7isValidSb"></a>
+                    <a name="//apple_ref/swift/Property/isValid" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK12UsergridAuth7isValidSb">isValid</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -248,9 +283,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">tokenIsValid</span> <span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="n">hasToken</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="k">self</span><span class="o">.</span><span class="n">isExpired</span> <span class="p">}</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isValid</span> <span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="n">hasToken</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="k">self</span><span class="o">.</span><span class="n">isExpired</span> <span class="p">}</span></code></pre>
 
                         </div>
                       </div>
@@ -275,7 +310,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isExpired</span><span class="p">:</span> <span class="kt">Bool</span></code></pre>
 
@@ -284,12 +319,23 @@
                     </section>
                   </div>
                 </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
+              <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridAuthcFMS0_FT_S0_"></a>
-                    <a name="//apple_ref/swift/Method/init()" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridAuthcFMS0_FT_S0_">init()</a>
+                    <a name="/s:FC11UsergridSDK12UsergridAuthcFT11accessTokenSS6expiryGSqCSo6NSDate__S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(accessToken:expiry:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridAuthcFT11accessTokenSS6expiryGSqCSo6NSDate__S0_">init(accessToken:expiry:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -297,26 +343,75 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Undocumented</p>
+                        <p>Initializer for a base <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code> object that just contains an <code><a href="../Classes/UsergridAuth.html#/s:vC11UsergridSDK12UsergridAuth11accessTokenGSqSS_">accessToken</a></code> and an optional <code><a href="../Classes/UsergridAuth.html#/s:vC11UsergridSDK12UsergridAuth6expiryGSqCSo6NSDate_">expiry</a></code> date.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridAuth</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSCoding</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">accessToken</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">expiry</span><span class="p">:</span><span class="kt">NSDate</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>accessToken</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The access token.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>expiry</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional expiry date.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A new instance of <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code></p>
+
+                      </div>
                     </section>
                   </div>
                 </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/NSCoding"></a>
+                <a name="//apple_ref/swift/Section/NSCoding" class="dashAnchor"></a>
+                <a href="#/NSCoding">
+                  <h3 class="section-name">NSCoding</h3>
+                </a>
+              </div>
+              <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridAuthcFMS0_FT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridAuthcFT5coderCSo7NSCoder_GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridAuthcFMS0_FT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridAuthcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -324,26 +419,51 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Undocumented</p>
+                        <p>NSCoding protocol initializer.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridAuth</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSCoding</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">required</span> <span class="kd">public</span> <span class="nf">init</span><span class="p">?(</span><span class="n">coder</span> <span class="nv">aDecoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aDecoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The decoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A decoded <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code> object.</p>
+
+                      </div>
                     </section>
                   </div>
                 </li>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridAuth15encodeWithCoderFS0_FCSo7NSCoderT_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridAuth15encodeWithCoderFCSo7NSCoderT_"></a>
                     <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridAuth15encodeWithCoderFS0_FCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridAuth15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -351,14 +471,72 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Undocumented</p>
+                        <p>NSCoding protocol encoder.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridAuth</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSCoding</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">encodeWithCoder</span><span class="p">(</span><span class="nv">aCoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aCoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The encoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Instance%20Methods"></a>
+                <a name="//apple_ref/swift/Section/Instance Methods" class="dashAnchor"></a>
+                <a href="#/Instance%20Methods">
+                  <h3 class="section-name">Instance Methods</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridAuth7destroyFT_T_"></a>
+                    <a name="//apple_ref/swift/Method/destroy()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridAuth7destroyFT_T_">destroy()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Destroys/removes the access token and expiry.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">destroy</span><span class="p">()</span></code></pre>
 
                         </div>
                       </div>
@@ -370,8 +548,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridClient.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridClient.html
index d34565a..09c2175 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridClient.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridClient.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Class/UsergridClient" class="dashAnchor"></a>
     <a title="UsergridClient Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,8 +164,8 @@
           <section class="section">
             <h1>UsergridClient</h1>
               <div class="declaration">
-                <div class="Swift">
-                  <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridClient</span><span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+                <div class="language">
+                  <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridClient</span><span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSCoding</span></code></pre>
 
                 </div>
               </div>
@@ -139,20 +174,47 @@
           </section>
           <section class="section task-group-section">
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Instance%20Properties"></a>
-                  <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
-                  <a href="#/Instance%20Properties">
-                    <h3 class="section-name">Instance Properties</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Instance%20Properties"></a>
+                <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
+                <a href="#/Instance%20Properties">
+                  <h3 class="section-name">Instance Properties</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK14UsergridClient5appIDSS"></a>
-                    <a name="//apple_ref/swift/Property/appID" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK14UsergridClient5appIDSS">appID</a>
+                    <a name="/s:vC11UsergridSDK14UsergridClient6configCS_20UsergridClientConfig"></a>
+                    <a name="//apple_ref/swift/Property/config" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK14UsergridClient6configCS_20UsergridClientConfig">config</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The configuration object used by the client.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">config</span><span class="p">:</span> <span class="kt">UsergridClientConfig</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK14UsergridClient5appIdSS"></a>
+                    <a name="//apple_ref/swift/Property/appId" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK14UsergridClient5appIdSS">appId</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -165,9 +227,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">appID</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">appId</span> <span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="n">config</span><span class="o">.</span><span class="n">appId</span> <span class="p">}</span></code></pre>
 
                         </div>
                       </div>
@@ -177,9 +239,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK14UsergridClient5orgIDSS"></a>
-                    <a name="//apple_ref/swift/Property/orgID" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK14UsergridClient5orgIDSS">orgID</a>
+                    <a name="/s:vC11UsergridSDK14UsergridClient5orgIdSS"></a>
+                    <a name="//apple_ref/swift/Property/orgId" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK14UsergridClient5orgIdSS">orgId</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -192,9 +254,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">orgID</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">orgId</span> <span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="n">config</span><span class="o">.</span><span class="n">orgId</span> <span class="p">}</span></code></pre>
 
                         </div>
                       </div>
@@ -204,9 +266,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK14UsergridClient7baseURLSS"></a>
-                    <a name="//apple_ref/swift/Property/baseURL" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK14UsergridClient7baseURLSS">baseURL</a>
+                    <a name="/s:vC11UsergridSDK14UsergridClient7baseUrlSS"></a>
+                    <a name="//apple_ref/swift/Property/baseUrl" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK14UsergridClient7baseUrlSS">baseUrl</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -219,9 +281,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">baseURL</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">baseUrl</span> <span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="n">config</span><span class="o">.</span><span class="n">baseUrl</span> <span class="p">}</span></code></pre>
 
                         </div>
                       </div>
@@ -241,14 +303,41 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The constructed URL string based on the <code>UsergridClient</code>&rsquo;s <code>baseURL</code>, <code>orgID</code>, and <code>appID</code>.</p>
+                        <p>The constructed URL string based on the <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>&rsquo;s <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient7baseUrlSS">baseUrl</a></code>, <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient5orgIdSS">orgId</a></code>, and <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient5appIdSS">appId</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">clientAppURL</span> <span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="s">"</span><span class="se">\(</span><span class="n">baseURL</span><span class="se">)</span><span class="s">/</span><span class="se">\(</span><span class="n">orgID</span><span class="se">)</span><span class="s">/</span><span class="se">\(</span><span class="n">appID</span><span class="se">)</span><span class="s">"</span> <span class="p">}</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">clientAppURL</span> <span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="s">"</span><span class="se">\(</span><span class="n">baseUrl</span><span class="se">)</span><span class="s">/</span><span class="se">\(</span><span class="n">orgId</span><span class="se">)</span><span class="s">/</span><span class="se">\(</span><span class="n">appId</span><span class="se">)</span><span class="s">"</span> <span class="p">}</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK14UsergridClient28persistCurrentUserInKeychainSb"></a>
+                    <a name="//apple_ref/swift/Property/persistCurrentUserInKeychain" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK14UsergridClient28persistCurrentUserInKeychainSb">persistCurrentUserInKeychain</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Whether or not the current user will be saved and restored from the keychain.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">persistCurrentUserInKeychain</span><span class="p">:</span> <span class="kt">Bool</span></code></pre>
 
                         </div>
                       </div>
@@ -268,12 +357,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The currently logged in <code>UsergridUser</code>.</p>
+                        <p>The currently logged in <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">internal(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">currentUser</span><span class="p">:</span> <span class="kt">UsergridUser</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span></code></pre>
 
@@ -295,12 +384,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>UsergridUserAuth</code> which consists of the token information from the <code>currentUser</code> property.</p>
+                        <p>The <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code> which consists of the token information from the <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient11currentUserGSqCS_12UsergridUser_">currentUser</a></code> property.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">userAuth</span><span class="p">:</span> <span class="kt">UsergridUserAuth</span><span class="p">?</span> <span class="p">{</span> <span class="k">return</span> <span class="n">currentUser</span><span class="p">?</span><span class="o">.</span><span class="n">auth</span> <span class="p">}</span></code></pre>
 
@@ -322,14 +411,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The application level <code>UsergridAppAuth</code> object.  Can be set manually but must call <code>authenticateApp</code> to retrive token.</p>
+                        <p>The application level <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> object.  Can be set manually but must call <code>authenticateApp</code> to retrive token.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">appAuth</span><span class="p">:</span> <span class="kt">UsergridAppAuth</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">appAuth</span><span class="p">:</span> <span class="kt">UsergridAppAuth</span><span class="p">?</span></code></pre>
 
                         </div>
                       </div>
@@ -339,9 +428,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK14UsergridClient12authFallbackOS_20UsergridAuthFallback"></a>
-                    <a name="//apple_ref/swift/Property/authFallback" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK14UsergridClient12authFallbackOS_20UsergridAuthFallback">authFallback</a>
+                    <a name="/s:vC11UsergridSDK14UsergridClient8authModeOS_16UsergridAuthMode"></a>
+                    <a name="//apple_ref/swift/Property/authMode" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK14UsergridClient8authModeOS_16UsergridAuthMode">authMode</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -349,14 +438,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>UsergridAuthFallback</code> value used to determine what type of token will be sent, if any.</p>
+                        <p>The <code><a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a></code> value used to determine what type of token will be sent, if any.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">authFallback</span><span class="p">:</span> <span class="kt">UsergridAuthFallback</span> <span class="o">=</span> <span class="o">.</span><span class="kt">App</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">authMode</span><span class="p">:</span> <span class="kt">UsergridAuthMode</span></code></pre>
 
                         </div>
                       </div>
@@ -366,20 +455,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Initialization"></a>
-                  <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
-                  <a href="#/Initialization">
-                    <h3 class="section-name">Initialization</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClientcFMS0_FT5orgIDSS5appIDSS_S0_"></a>
-                    <a name="//apple_ref/swift/Method/init(orgID:appID:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClientcFMS0_FT5orgIDSS5appIDSS_S0_">init(orgID:appID:)</a>
+                    <a name="/s:FC11UsergridSDK14UsergridClientcFT5orgIdSS5appIdSS_S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(orgId:appId:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClientcFT5orgIdSS5appIdSS_S0_">init(orgId:appId:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -387,14 +476,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Initializes instances of <code>UsergridClient</code>.</p>
+                        <p>Initializes instances of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">orgID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appID</span><span class="p">:</span><span class="kt">String</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">orgId</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appId</span><span class="p">:</span><span class="kt">String</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -405,7 +494,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>orgID</em>
+                                <em>orgId</em>
                                 </code>
                               </td>
                               <td>
@@ -418,7 +507,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>appID</em>
+                                <em>appId</em>
                                 </code>
                               </td>
                               <td>
@@ -433,7 +522,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>The new instance of <code>UsergridClient</code>.</p>
+                        <p>The new instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                     </section>
@@ -442,9 +531,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClientcFMS0_FT5orgIDSS5appIDSS7baseURLSS_S0_"></a>
-                    <a name="//apple_ref/swift/Method/init(orgID:appID:baseURL:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClientcFMS0_FT5orgIDSS5appIDSS7baseURLSS_S0_">init(orgID:appID:baseURL:)</a>
+                    <a name="/s:FC11UsergridSDK14UsergridClientcFT5orgIdSS5appIdSS7baseUrlSS_S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(orgId:appId:baseUrl:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClientcFT5orgIdSS5appIdSS7baseUrlSS_S0_">init(orgId:appId:baseUrl:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -452,14 +541,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Initializes instances of <code>UsergridClient</code>.</p>
+                        <p>Initializes instances of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">orgID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appID</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">baseURL</span><span class="p">:</span><span class="kt">String</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">orgId</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appId</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">baseUrl</span><span class="p">:</span><span class="kt">String</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -470,7 +559,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>orgID</em>
+                                <em>orgId</em>
                                 </code>
                               </td>
                               <td>
@@ -483,7 +572,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>appID</em>
+                                <em>appId</em>
                                 </code>
                               </td>
                               <td>
@@ -496,7 +585,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>baseURL</em>
+                                <em>baseUrl</em>
                                 </code>
                               </td>
                               <td>
@@ -511,7 +600,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>The new instance of <code>UsergridClient</code>.</p>
+                        <p>The new instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                     </section>
@@ -520,9 +609,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClientcFMS0_FT13configurationCS_20UsergridClientConfig_S0_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClientcFT13configurationCS_20UsergridClientConfig_S0_"></a>
                     <a name="//apple_ref/swift/Method/init(configuration:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClientcFMS0_FT13configurationCS_20UsergridClientConfig_S0_">init(configuration:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClientcFT13configurationCS_20UsergridClientConfig_S0_">init(configuration:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -530,12 +619,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Initializes instances of <code>UsergridClient</code>.</p>
+                        <p>Initializes instances of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">configuration</span><span class="p">:</span><span class="kt">UsergridClientConfig</span><span class="p">)</span></code></pre>
 
@@ -563,7 +652,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>The new instance of <code>UsergridClient</code>.</p>
+                        <p>The new instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                     </section>
@@ -572,20 +661,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Device%20Registration/Push%20Notifications"></a>
-                  <a name="//apple_ref/swift/Section/Device Registration/Push Notifications" class="dashAnchor"></a>
-                  <a href="#/Device%20Registration/Push%20Notifications">
-                    <h3 class="section-name">Device Registration/Push Notifications</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/NSCoding"></a>
+                <a name="//apple_ref/swift/Section/NSCoding" class="dashAnchor"></a>
+                <a href="#/NSCoding">
+                  <h3 class="section-name">NSCoding</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient14applyPushTokenFS0_FTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/applyPushToken(_:notifierID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14applyPushTokenFS0_FTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:notifierID:completion:)</a>
+                    <a name="/s:FC11UsergridSDK14UsergridClientcFT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClientcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -593,12 +682,122 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Sets the push token for the given notifier ID and performs a PUT request to update the shared <code>UsergridDevice</code> instance.</p>
+                        <p>NSCoding protocol initializer.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">required</span> <span class="nf">init</span><span class="p">?(</span><span class="n">coder</span> <span class="nv">aDecoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aDecoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The decoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A decoded <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code> object.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridClient15encodeWithCoderFCSo7NSCoderT_"></a>
+                    <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>NSCoding protocol encoder.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">encodeWithCoder</span><span class="p">(</span><span class="nv">aCoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aCoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The encoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Device%20Registration/Push%20Notifications"></a>
+                <a name="//apple_ref/swift/Section/Device Registration/Push Notifications" class="dashAnchor"></a>
+                <a href="#/Device%20Registration/Push%20Notifications">
+                  <h3 class="section-name">Device Registration/Push Notifications</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridClient14applyPushTokenFTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/applyPushToken(_:notifierID:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14applyPushTokenFTCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:notifierID:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Sets the push token for the given notifier ID and performs a PUT request to update the shared <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> instance.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">applyPushToken</span><span class="p">(</span><span class="nv">pushToken</span><span class="p">:</span> <span class="kt">NSData</span><span class="p">,</span> <span class="nv">notifierID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -656,9 +855,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient14applyPushTokenFS0_FTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient14applyPushTokenFTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/applyPushToken(_:pushToken:notifierID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14applyPushTokenFS0_FTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:pushToken:notifierID:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14applyPushTokenFTCS_14UsergridDevice9pushTokenCSo6NSData10notifierIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">applyPushToken(_:pushToken:notifierID:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -666,12 +865,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Sets the push token for the given notifier ID and performs a PUT request to update the given <code>UsergridDevice</code> instance.</p>
+                        <p>Sets the push token for the given notifier ID and performs a PUT request to update the given <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> instance.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">applyPushToken</span><span class="p">(</span><span class="nv">device</span><span class="p">:</span> <span class="kt">UsergridDevice</span><span class="p">,</span> <span class="nv">pushToken</span><span class="p">:</span> <span class="kt">NSData</span><span class="p">,</span> <span class="nv">notifierID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -742,20 +941,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Authorization"></a>
-                  <a name="//apple_ref/swift/Section/Authorization" class="dashAnchor"></a>
-                  <a href="#/Authorization">
-                    <h3 class="section-name">Authorization</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Authorization%20and%20User%20Management"></a>
+                <a name="//apple_ref/swift/Section/Authorization and User Management" class="dashAnchor"></a>
+                <a href="#/Authorization%20and%20User%20Management">
+                  <h3 class="section-name">Authorization and User Management</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient15authForRequestsFS0_FT_GSqCS_12UsergridAuth_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient15authForRequestsFT_GSqCS_12UsergridAuth_"></a>
                     <a name="//apple_ref/swift/Method/authForRequests()" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient15authForRequestsFS0_FT_GSqCS_12UsergridAuth_">authForRequests()</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient15authForRequestsFT_GSqCS_12UsergridAuth_">authForRequests()</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -763,16 +962,18 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Determines the <code>UsergridAuth</code> object that will be used for all outgoing requests made.</p>
+                        <p>Determines the <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code> object that will be used for all outgoing requests made.</p>
 
-<p>If there is a <code>UsergridUser</code> logged in and the token of that user is valid then it will return that.</p>
+<p>If there is a valid temporary <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code> set by the functions <code>usingAuth</code> or <code>usingToken</code> it will return that.</p>
 
-<p>Otherwise, if the <code>authFallback</code> is <code>.App</code>, and the <code>UsergridAppAuth</code> of the client is set and the token is valid it will return that.</p>
+<p>If there is a <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> logged in and the token of that user is valid then it will return that.</p>
+
+<p>Otherwise, if the <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient8authModeOS_16UsergridAuthMode">authMode</a></code> is <code>.App</code>, and the <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> of the client is set and the token is valid it will return that.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">authForRequests</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">UsergridAuth</span><span class="p">?</span></code></pre>
 
@@ -780,7 +981,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>The <code>UsergridAuth</code> if one is found or nil if not.</p>
+                        <p>The <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code> if one is found or nil if not.</p>
 
                       </div>
                     </section>
@@ -789,9 +990,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient15authenticateAppFS0_FTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqSS__T___T_"></a>
-                    <a name="//apple_ref/swift/Method/authenticateApp(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient15authenticateAppFS0_FTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqSS__T___T_">authenticateApp(_:)</a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient9usingAuthFCS_12UsergridAuthDS0_"></a>
+                    <a name="//apple_ref/swift/Method/usingAuth(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient9usingAuthFCS_12UsergridAuthDS0_">usingAuth(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -799,12 +1000,120 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Authenticates with the <code>UsergridAppAuth</code> that is contained this instance of <code>UsergridCient</code>.</p>
+                        <p>Sets the client&rsquo;s <code>tempAuth</code> property using the passed in <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code>.</p>
+
+<p>This will cause the next CRUD method performed by the client to use the <code>tempAuth</code> property once and will then reset.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">usingAuth</span><span class="p">(</span><span class="nv">auth</span><span class="p">:</span><span class="kt">UsergridAuth</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>auth</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The <code>UsergridAuth</code> object to temporarily use for authentication.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p><code>Self</code></p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridClient10usingTokenFSSDS0_"></a>
+                    <a name="//apple_ref/swift/Method/usingToken(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10usingTokenFSSDS0_">usingToken(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Sets the client&rsquo;s <code>tempAuth</code> property using the passed in token.</p>
+
+<p>This will cause the next CRUD method performed by the client to use the <code>tempAuth</code> property once and will then reset.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">usingToken</span><span class="p">(</span><span class="nv">token</span><span class="p">:</span><span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>auth</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The access token to temporarily use for authentication.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p><code>Self</code></p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridClient15authenticateAppFTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqCS_21UsergridResponseError__T___T_"></a>
+                    <a name="//apple_ref/swift/Method/authenticateApp(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient15authenticateAppFTGSqFT4authGSqCS_15UsergridAppAuth_5errorGSqCS_21UsergridResponseError__T___T_">authenticateApp(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Authenticates with the <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> that is contained this instance of <code>UsergridCient</code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">authenticateApp</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridAppAuthCompletionBlock</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -836,9 +1145,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient15authenticateAppFS0_FTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient15authenticateAppFTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/authenticateApp(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient15authenticateAppFS0_FTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqSS__T___T_">authenticateApp(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient15authenticateAppFTCS_15UsergridAppAuth10completionGSqFT4authGSqS1__5errorGSqCS_21UsergridResponseError__T___T_">authenticateApp(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -846,12 +1155,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Authenticates with the <code>UsergridAppAuth</code> that is passed in.</p>
+                        <p>Authenticates with the <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> that is passed in.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">authenticateApp</span><span class="p">(</span><span class="nv">appAuth</span><span class="p">:</span> <span class="kt">UsergridAppAuth</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridAppAuthCompletionBlock</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -896,9 +1205,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient16authenticateUserFS0_FTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient16authenticateUserFTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/authenticateUser(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient16authenticateUserFS0_FTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqSS__T___T_">authenticateUser(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient16authenticateUserFTCS_16UsergridUserAuth10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_">authenticateUser(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -906,12 +1215,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Authenticates with the <code>UsergridUserAuth</code> that is passed in.</p>
+                        <p>Authenticates with the <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code> that is passed in.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">authenticateUser</span><span class="p">(</span><span class="nv">userAuth</span><span class="p">:</span> <span class="kt">UsergridUserAuth</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridUserAuthCompletionBlock</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -956,9 +1265,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient16authenticateUserFS0_FTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient16authenticateUserFTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/authenticateUser(_:setAsCurrentUser:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient16authenticateUserFS0_FTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqSS__T___T_">authenticateUser(_:setAsCurrentUser:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient16authenticateUserFTCS_16UsergridUserAuth16setAsCurrentUserSb10completionGSqFT4authGSqS1__4userGSqCS_12UsergridUser_5errorGSqCS_21UsergridResponseError__T___T_">authenticateUser(_:setAsCurrentUser:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -966,12 +1275,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Authenticates with the <code>UsergridUserAuth</code> that is passed in.</p>
+                        <p>Authenticates with the <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code> that is passed in.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">authenticateUser</span><span class="p">(</span><span class="nv">userAuth</span><span class="p">:</span> <span class="kt">UsergridUserAuth</span><span class="p">,</span> <span class="nv">setAsCurrentUser</span><span class="p">:</span> <span class="kt">Bool</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridUserAuthCompletionBlock</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1029,9 +1338,95 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient17logoutCurrentUserFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient13resetPasswordFTCS_12UsergridUser3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/resetPassword(_:old:new:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient13resetPasswordFTCS_12UsergridUser3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_">resetPassword(_:old:new:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Changes the given <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>&rsquo;s current password.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">resetPassword</span><span class="p">(</span><span class="nv">user</span><span class="p">:</span> <span class="kt">UsergridUser</span><span class="p">,</span> <span class="nv">old</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">new</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridUserResetPasswordCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>user</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The user.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>old</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The old password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>new</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The new password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridClient17logoutCurrentUserFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/logoutCurrentUser(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient17logoutCurrentUserFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_">logoutCurrentUser(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient17logoutCurrentUserFTGSqFT8responseCS_16UsergridResponse_T___T_">logoutCurrentUser(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1044,7 +1439,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">logoutCurrentUser</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1076,9 +1471,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient19logoutUserAllTokensFS0_FTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient19logoutUserAllTokensFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/logoutUserAllTokens(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient19logoutUserAllTokensFS0_FTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUserAllTokens(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient19logoutUserAllTokensFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUserAllTokens(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1091,7 +1486,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">logoutUserAllTokens</span><span class="p">(</span><span class="nv">uuidOrUsername</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1123,9 +1518,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient10logoutUserFS0_FTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient10logoutUserFTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/logoutUser(_:token:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10logoutUserFS0_FTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUser(_:token:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10logoutUserFTSS5tokenGSqSS_10completionGSqFT8responseCS_16UsergridResponse_T___T_">logoutUser(_:token:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1140,7 +1535,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">logoutUser</span><span class="p">(</span><span class="nv">uuidOrUsername</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">token</span><span class="p">:</span><span class="kt">String</span><span class="p">?,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1172,20 +1567,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/GET"></a>
-                  <a name="//apple_ref/swift/Section/GET" class="dashAnchor"></a>
-                  <a href="#/GET">
-                    <h3 class="section-name">GET</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Generic%20Request%20Methods"></a>
+                <a name="//apple_ref/swift/Section/Generic Request Methods" class="dashAnchor"></a>
+                <a href="#/Generic%20Request%20Methods">
+                  <h3 class="section-name">Generic Request Methods</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient3GETFS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/GET(_:uuidOrName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3GETFS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:uuidOrName:completion:)</a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient11sendRequestFTCS_15UsergridRequest10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/sendRequest(_:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient11sendRequestFTCS_15UsergridRequest10completionGSqFT8responseCS_16UsergridResponse_T___T_">sendRequest(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1193,12 +1588,89 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Gets a single <code>UsergridEntity</code> of a given type with a specific UUID/name.</p>
+                        <p>Starts the <code><a href="../Classes/UsergridRequest.html">UsergridRequest</a></code> sending process.</p>
+
+<div class="aside aside-note">
+    <p class="aside-title">Note</p>
+    <p>This method should only be used when you construct your own <code><a href="../Classes/UsergridRequest.html">UsergridRequest</a></code> objects.</p>
+
+</div>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">sendRequest</span><span class="p">(</span><span class="nv">request</span><span class="p">:</span><span class="kt">UsergridRequest</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>request</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The <code>UsergridRequest</code> object to send.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/GET"></a>
+                <a name="//apple_ref/swift/Section/GET" class="dashAnchor"></a>
+                <a href="#/GET">
+                  <h3 class="section-name">GET</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridClient3GETFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/GET(_:uuidOrName:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3GETFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:uuidOrName:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Gets a single <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> of a given type with a specific UUID/name.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">GET</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1242,7 +1714,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -1256,9 +1728,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient3GETFS0_FTSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/GET(_:query:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3GETFS0_FTSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:query:completion:)</a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient3GETFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/GET(_:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3GETFTSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1266,14 +1738,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Gets a group of <code>UsergridEntity</code> objects of a given type with an optional query.</p>
+                        <p>Gets a group of <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects of a given type.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">GET</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span> <span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">GET</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -1297,12 +1769,59 @@
                             <tr>
                               <td>
                                 <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridClient3GETFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/GET(_:queryCompletion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3GETFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">GET(_:queryCompletion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Gets a group of <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects using a given query.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">GET</span><span class="p">(</span><span class="nv">query</span><span class="p">:</span> <span class="kt">UsergridQuery</span><span class="p">,</span> <span class="nv">queryCompletion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
                                 <em>query</em>
                                 </code>
                               </td>
                               <td>
                                 <div>
-                                  <p>The optional query to use when gathering <code>UsergridEntity</code> objects.</p>
+                                  <p>The query to use when gathering <code>UsergridEntity</code> objects.</p>
 
                                 </div>
                               </td>
@@ -1310,12 +1829,12 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>completion</em>
+                                <em>queryCompletion</em>
                                 </code>
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -1329,20 +1848,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/PUT"></a>
-                  <a name="//apple_ref/swift/Section/PUT" class="dashAnchor"></a>
-                  <a href="#/PUT">
-                    <h3 class="section-name">PUT</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/PUT"></a>
+                <a name="//apple_ref/swift/Section/PUT" class="dashAnchor"></a>
+                <a href="#/PUT">
+                  <h3 class="section-name">PUT</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTSS10uuidOrNameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFTSS10uuidOrNameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:uuidOrName:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTSS10uuidOrNameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:uuidOrName:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFTSS10uuidOrNameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:uuidOrName:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1350,12 +1869,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Updates an <code>UsergridEntity</code> with the given type and UUID/name specified using the passed in jsonBody.</p>
+                        <p>Updates an <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> with the given type and UUID/name specified using the passed in jsonBody.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">PUT</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">jsonBody</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">],</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1412,7 +1931,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -1426,9 +1945,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1436,12 +1955,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Updates the passed in <code>UsergridEntity</code>.</p>
+                        <p>Updates the passed in <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">PUT</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span> <span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1472,7 +1991,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -1486,9 +2005,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1496,12 +2015,18 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Updates an <code>UsergridEntity</code> with the given type using the jsonBody where the UUID/name is specified inside of the jsonBody.</p>
+                        <p>Updates an <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> with the given type using the jsonBody where the UUID/name is specified inside of the jsonBody.</p>
+
+<div class="aside aside-note">
+    <p class="aside-title">Note</p>
+    <p>The <code>jsonBody</code> must contain a valid value for either <code>uuid</code> or <code>name</code> keys.</p>
+
+</div>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">PUT</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">jsonBody</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">],</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1559,9 +2084,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTCS_13UsergridQuery8jsonBodyGVSs10DictionarySSPSs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient3PUTFTCS_13UsergridQuery8jsonBodyGVs10DictionarySSPs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/PUT(_:jsonBody:queryCompletion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFS0_FTCS_13UsergridQuery8jsonBodyGVSs10DictionarySSPSs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:queryCompletion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient3PUTFTCS_13UsergridQuery8jsonBodyGVs10DictionarySSPs9AnyObject__15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">PUT(_:jsonBody:queryCompletion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1571,10 +2096,16 @@
                       <div class="abstract">
                         <p>Updates the entities that fit the given query using the passed in jsonBody.</p>
 
+<div class="aside aside-note">
+    <p class="aside-title">Note</p>
+    <p>The query parameter must have a valid <code>collectionName</code> before calling this method.</p>
+
+</div>
+
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">PUT</span><span class="p">(</span><span class="nv">query</span><span class="p">:</span> <span class="kt">UsergridQuery</span><span class="p">,</span> <span class="nv">jsonBody</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">],</span> <span class="nv">queryCompletion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1618,7 +2149,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -1632,20 +2163,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/POST"></a>
-                  <a name="//apple_ref/swift/Section/POST" class="dashAnchor"></a>
-                  <a href="#/POST">
-                    <h3 class="section-name">POST</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/POST"></a>
+                <a name="//apple_ref/swift/Section/POST" class="dashAnchor"></a>
+                <a href="#/POST">
+                  <h3 class="section-name">POST</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1653,14 +2184,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Creates and posts creates an <code>UsergridEntity</code>.
-- parameter entity:     The <code>UsergridEntity</code> to create.
-- parameter completion: The completion block that will be called once the request has completed.</p>
+                        <p>Creates and posts creates an <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code>.
+- parameter entity:     The <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> to create.
+- parameter completion: The optional completion block that will be called once the request has completed.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">POST</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1691,7 +2222,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -1705,9 +2236,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:entitiesCompletion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:entitiesCompletion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFTGSaCS_14UsergridEntity_18entitiesCompletionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:entitiesCompletion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1715,12 +2246,18 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Creates and posts an array of <code>UsergridEntity</code> objects.</p>
+                        <p>Creates and posts an array of <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects.</p>
+
+<div class="aside aside-note">
+    <p class="aside-title">Note</p>
+    <p>Each <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> in the array much already have a type assigned and must be the same.</p>
+
+</div>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">POST</span><span class="p">(</span><span class="nv">entities</span><span class="p">:[</span><span class="kt">UsergridEntity</span><span class="p">],</span> <span class="nv">entitiesCompletion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1751,7 +2288,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -1765,9 +2302,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFTSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1775,12 +2312,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Creates and posts an <code>UsergridEntity</code> of the given type with the given jsonBody.</p>
+                        <p>Creates and posts an <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> of the given type with the given jsonBody.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">POST</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">jsonBody</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">],</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1824,7 +2361,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -1838,9 +2375,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTSS10jsonBodiesGSaGVSs10DictionarySSPSs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFTSS10jsonBodiesGSaGVs10DictionarySSPs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:jsonBodies:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTSS10jsonBodiesGSaGVSs10DictionarySSPSs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBodies:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFTSS10jsonBodiesGSaGVs10DictionarySSPs9AnyObject___10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:jsonBodies:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1853,7 +2390,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">POST</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">jsonBodies</span><span class="p">:[[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">]],</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1897,7 +2434,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -1911,9 +2448,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTSS4nameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient4POSTFTSS4nameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/POST(_:name:jsonBody:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFS0_FTSS4nameSS8jsonBodyGVSs10DictionarySSPSs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:name:jsonBody:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient4POSTFTSS4nameSS8jsonBodyGVs10DictionarySSPs9AnyObject__10completionGSqFT8responseCS_16UsergridResponse_T___T_">POST(_:name:jsonBody:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1921,12 +2458,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Creates and posts an <code>UsergridEntity</code> of the given type with a given name and the given jsonBody.</p>
+                        <p>Creates and posts an <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> of the given type with a given name and the given jsonBody.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">POST</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">name</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">jsonBody</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">],</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1983,7 +2520,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -1997,20 +2534,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/DELETE"></a>
-                  <a name="//apple_ref/swift/Section/DELETE" class="dashAnchor"></a>
-                  <a href="#/DELETE">
-                    <h3 class="section-name">DELETE</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/DELETE"></a>
+                <a name="//apple_ref/swift/Section/DELETE" class="dashAnchor"></a>
+                <a href="#/DELETE">
+                  <h3 class="section-name">DELETE</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient6DELETEFS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient6DELETEFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/DELETE(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient6DELETEFS0_FTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient6DELETEFTCS_14UsergridEntity10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2018,12 +2555,18 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Destroys the passed <code>UsergridEntity</code>.</p>
+                        <p>Destroys the passed <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code>.</p>
+
+<div class="aside aside-note">
+    <p class="aside-title">Note</p>
+    <p>The entity object must have a <code>uuid</code> or <code>name</code> assigned.</p>
+
+</div>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">DELETE</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2054,7 +2597,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -2068,9 +2611,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient6DELETEFS0_FTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient6DELETEFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/DELETE(_:queryCompletion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient6DELETEFS0_FTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:queryCompletion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient6DELETEFTCS_13UsergridQuery15queryCompletionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:queryCompletion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2078,12 +2621,18 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Destroys the <code>UsergridEntity</code> objects that fit the given <code>UsergridQuery</code>.</p>
+                        <p>Destroys the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects that fit the given <code><a href="../Classes/UsergridQuery.html">UsergridQuery</a></code>.</p>
+
+<div class="aside aside-note">
+    <p class="aside-title">Note</p>
+    <p>The query parameter must have a valid <code>collectionName</code> before calling this method.</p>
+
+</div>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">DELETE</span><span class="p">(</span><span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">,</span> <span class="nv">queryCompletion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2114,7 +2663,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -2128,9 +2677,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient6DELETEFS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient6DELETEFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/DELETE(_:uuidOrName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient6DELETEFS0_FTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:uuidOrName:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient6DELETEFTSS10uuidOrNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">DELETE(_:uuidOrName:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2138,12 +2687,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Destroys the <code>UsergridEntity</code> of a given type with a specific UUID/name.</p>
+                        <p>Destroys the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> of a given type with a specific UUID/name.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="kt">DELETE</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2187,7 +2736,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -2201,20 +2750,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Connection%20Management"></a>
-                  <a name="//apple_ref/swift/Section/Connection Management" class="dashAnchor"></a>
-                  <a href="#/Connection%20Management">
-                    <h3 class="section-name">Connection Management</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Connection%20Management"></a>
+                <a name="//apple_ref/swift/Section/Connection Management" class="dashAnchor"></a>
+                <a href="#/Connection%20Management">
+                  <h3 class="section-name">Connection Management</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient7connectFS0_FTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient7connectFTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connect(_:relationship:to:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient7connectFS0_FTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:relationship:to:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient7connectFTCS_14UsergridEntity12relationshipSS2toS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:relationship:to:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2222,12 +2771,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Connects the <code>UsergridEntity</code> objects via the relationship.</p>
+                        <p>Connects the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects via the relationship.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">connect</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">to</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2284,7 +2833,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -2298,121 +2847,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient7connectFS0_FTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/connect(_:entityID:relationship:toType:toID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient7connectFS0_FTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toID:completion:)</a>
-                    </code>
-                  </div>
-                  <div class="height-container">
-                    <div class="pointer-container"></div>
-                    <section class="section">
-                      <div class="pointer"></div>
-                      <div class="abstract">
-                        <p>Connects the entity objects via the relationship.</p>
-
-                      </div>
-                      <div class="declaration">
-                        <h4>Declaration</h4>
-                        <div class="Swift">
-                          <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">connect</span><span class="p">(</span><span class="nv">entityType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">entityID</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">toType</span><span class="p">:</span><span class="kt">String</span><span class="p">?,</span> <span class="nv">toID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
-
-                        </div>
-                      </div>
-                      <div>
-                        <h4>Parameters</h4>
-                        <table class="graybox">
-                          <tbody>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>entityType</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The entity type.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>entityID</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The entity UUID or name.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>relationship</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The relationship of the connection.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>toType</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The optional type of the entity you are connecting to.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>toID</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The UUID of the entity you are connecting to.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>completion</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                          </tbody>
-                        </table>
-                      </div>
-                    </section>
-                  </div>
-                </li>
-                <li class="item">
-                  <div>
-                    <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient7connectFS0_FTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient7connectFTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connect(_:entityID:relationship:toType:toName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient7connectFS0_FTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toName:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient7connectFTSS8entityIDSS12relationshipSS6toTypeSS6toNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toName:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2425,7 +2862,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">connect</span><span class="p">(</span><span class="nv">entityType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">entityID</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">toType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">toName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2508,7 +2945,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -2522,9 +2959,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient10disconnectFS0_FTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/disconnect(_:relationship:from:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10disconnectFS0_FTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:relationship:from:completion:)</a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient7connectFTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/connect(_:entityID:relationship:toType:toID:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient7connectFTSS8entityIDSS12relationshipSS6toTypeGSqSS_4toIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:entityID:relationship:toType:toID:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2532,12 +2969,124 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Disconnects the <code>UsergridEntity</code> objects via the relationship.</p>
+                        <p>Connects the entity objects via the relationship.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">connect</span><span class="p">(</span><span class="nv">entityType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">entityID</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">toType</span><span class="p">:</span><span class="kt">String</span><span class="p">?,</span> <span class="nv">toID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>entityType</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The entity type.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>entityID</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The entity UUID or name.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>relationship</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The relationship of the connection.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>toType</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional type of the entity you are connecting to.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>toID</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The UUID of the entity you are connecting to.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridClient10disconnectFTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/disconnect(_:relationship:from:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10disconnectFTCS_14UsergridEntity12relationshipSS4fromS1_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:relationship:from:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Disconnects the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects via the relationship.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">disconnect</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">from</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2594,7 +3143,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -2608,121 +3157,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient10disconnectFS0_FTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/disconnect(_:entityID:relationship:fromType:fromID:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10disconnectFS0_FTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromID:completion:)</a>
-                    </code>
-                  </div>
-                  <div class="height-container">
-                    <div class="pointer-container"></div>
-                    <section class="section">
-                      <div class="pointer"></div>
-                      <div class="abstract">
-                        <p>Disconnects the entity objects via the relationship.</p>
-
-                      </div>
-                      <div class="declaration">
-                        <h4>Declaration</h4>
-                        <div class="Swift">
-                          <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">disconnect</span><span class="p">(</span><span class="nv">entityType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">entityID</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">fromType</span><span class="p">:</span><span class="kt">String</span><span class="p">?,</span> <span class="nv">fromID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
-
-                        </div>
-                      </div>
-                      <div>
-                        <h4>Parameters</h4>
-                        <table class="graybox">
-                          <tbody>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>entityType</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The entity type.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>entityID</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The entity UUID or name.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>relationship</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The relationship of the connection.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>fromType</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The optional type of the entity you are disconnecting from.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>toID</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The UUID of the entity you are disconnecting from.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>completion</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                          </tbody>
-                        </table>
-                      </div>
-                    </section>
-                  </div>
-                </li>
-                <li class="item">
-                  <div>
-                    <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient10disconnectFS0_FTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient10disconnectFTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnect(_:entityID:relationship:fromType:fromName:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10disconnectFS0_FTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromName:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10disconnectFTSS8entityIDSS12relationshipSS8fromTypeSS8fromNameSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromName:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2735,7 +3172,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">disconnect</span><span class="p">(</span><span class="nv">entityType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">entityID</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">fromType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">fromName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2818,7 +3255,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -2832,9 +3269,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient14getConnectionsFS0_FTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/getConnections(_:entity:relationship:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14getConnectionsFS0_FTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:entity:relationship:completion:)</a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient10disconnectFTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/disconnect(_:entityID:relationship:fromType:fromID:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient10disconnectFTSS8entityIDSS12relationshipSS8fromTypeGSqSS_6fromIDSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:entityID:relationship:fromType:fromID:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2842,14 +3279,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Gets the connected entities for the given relationship.</p>
+                        <p>Disconnects the entity objects via the relationship.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">disconnect</span><span class="p">(</span><span class="nv">entityType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">entityID</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">fromType</span><span class="p">:</span><span class="kt">String</span><span class="p">?,</span> <span class="nv">fromID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -2860,92 +3297,6 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>entity</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The entity that contains the connection.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>relationship</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The relationship of the connection.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>completion</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                          </tbody>
-                        </table>
-                      </div>
-                    </section>
-                  </div>
-                </li>
-                <li class="item">
-                  <div>
-                    <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient14getConnectionsFS0_FTOS_17UsergridDirection10entityTypeSS8entityIDSS12relationshipSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/getConnections(_:entityType:entityID:relationship:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14getConnectionsFS0_FTOS_17UsergridDirection10entityTypeSS8entityIDSS12relationshipSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:entityType:entityID:relationship:completion:)</a>
-                    </code>
-                  </div>
-                  <div class="height-container">
-                    <div class="pointer-container"></div>
-                    <section class="section">
-                      <div class="pointer"></div>
-                      <div class="abstract">
-                        <p>Gets the connected entities for the given relationship.</p>
-
-                      </div>
-                      <div class="declaration">
-                        <h4>Declaration</h4>
-                        <div class="Swift">
-                          <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">entityType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">entityID</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
-
-                        </div>
-                      </div>
-                      <div>
-                        <h4>Parameters</h4>
-                        <table class="graybox">
-                          <tbody>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>direction</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The direction of the connection.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
                                 <em>entityType</em>
                                 </code>
                               </td>
@@ -2985,12 +3336,335 @@
                             <tr>
                               <td>
                                 <code>
+                                <em>fromType</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional type of the entity you are disconnecting from.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>toID</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The UUID of the entity you are disconnecting from.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
                                 <em>completion</em>
                                 </code>
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridClient14getConnectionsFTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/getConnections(_:entity:relationship:query:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14getConnectionsFTOS_17UsergridDirection6entityCS_14UsergridEntity12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:entity:relationship:query:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Gets the connected entities for the given relationship.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>entity</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The entity that contains the connection.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>relationship</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The relationship of the connection.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>query</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional query.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridClient14getConnectionsFTOS_17UsergridDirection4typeSS10uuidOrNameSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/getConnections(_:type:uuidOrName:relationship:query:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14getConnectionsFTOS_17UsergridDirection4typeSS10uuidOrNameSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:type:uuidOrName:relationship:query:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Gets the connected entities for the given relationship.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">type</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>direction</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The direction of the connection.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>type</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The entity type.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>uuidOrName</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The entity UUID or name.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>relationship</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The relationship of the connection.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>query</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional query.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridClient14getConnectionsFTOS_17UsergridDirection4uuidSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/getConnections(_:uuid:relationship:query:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient14getConnectionsFTOS_17UsergridDirection4uuidSS12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:uuid:relationship:query:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Gets the connected entities for the given relationship.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">uuid</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>direction</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The direction of the connection.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>uuid</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The entity UUID.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>relationship</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The relationship of the connection.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>query</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional query.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -3004,20 +3678,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Asset%20Management"></a>
-                  <a name="//apple_ref/swift/Section/Asset Management" class="dashAnchor"></a>
-                  <a href="#/Asset%20Management">
-                    <h3 class="section-name">Asset Management</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Asset%20Management"></a>
+                <a name="//apple_ref/swift/Section/Asset Management" class="dashAnchor"></a>
+                <a href="#/Asset%20Management">
+                  <h3 class="section-name">Asset Management</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient11uploadAssetFS0_FTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS3__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS2__5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient11uploadAssetFTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS3__T__10completionGSqFT5assetGSqS2__8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/uploadAsset(_:asset:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient11uploadAssetFS0_FTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS3__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS2__5errorGSqSS__T___T_">uploadAsset(_:asset:progress:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient11uploadAssetFTCS_14UsergridEntity5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS3__T__10completionGSqFT5assetGSqS2__8responseCS_16UsergridResponse_T___T_">uploadAsset(_:asset:progress:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3025,12 +3699,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Uploads the asset and connects the data to the given <code>UsergridEntity</code>.</p>
+                        <p>Uploads the asset and connects the data to the given <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">uploadAsset</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="k">as</span><span class="nv">set</span><span class="p">:</span><span class="kt">UsergridAsset</span><span class="p">,</span> <span class="nv">progress</span><span class="p">:</span><span class="kt">UsergridAssetRequestProgress</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridAssetUploadCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -3074,7 +3748,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The progress block that will be called to update the progress of the upload.</p>
+                                  <p>The optional progress block that will be called to update the progress of the upload.</p>
 
                                 </div>
                               </td>
@@ -3087,7 +3761,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The completion block that will be called once the request has completed.</p>
+                                  <p>The optional completion block that will be called once the request has completed.</p>
 
                                 </div>
                               </td>
@@ -3101,9 +3775,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridClient13downloadAssetFS0_FTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridClient13downloadAssetFTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/downloadAsset(_:contentType:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient13downloadAssetFS0_FTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_">downloadAsset(_:contentType:progress:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridClient13downloadAssetFTCS_14UsergridEntity11contentTypeSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_">downloadAsset(_:contentType:progress:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -3111,12 +3785,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Downloads the asset from the given <code>UsergridEntity</code>.</p>
+                        <p>Downloads the asset from the given <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">downloadAsset</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">contentType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">progress</span><span class="p">:</span><span class="kt">UsergridAssetRequestProgress</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridAssetDownloadCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -3189,8 +3863,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridClientConfig.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridClientConfig.html
index 05c2a85..b7abeab 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridClientConfig.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridClientConfig.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Class/UsergridClientConfig" class="dashAnchor"></a>
     <a title="UsergridClientConfig Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,32 +164,32 @@
           <section class="section">
             <h1>UsergridClientConfig</h1>
               <div class="declaration">
-                <div class="Swift">
-                  <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridClientConfig</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+                <div class="language">
+                  <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridClientConfig</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSCoding</span></code></pre>
 
                 </div>
               </div>
-            <p><code>UsergridClientConfig</code> is used when initializing <code>UsergridClient</code> objects.</p>
+            <p><code>UsergridClientConfig</code> is used when initializing <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code> objects.</p>
 
-<p>The <code>UsergridClientConfig</code> is meant for further customization of <code>UsergridClient</code> objects when needed.</p>
+<p>The <code>UsergridClientConfig</code> is meant for further customization of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code> objects when needed.</p>
 
           </section>
           <section class="section task-group-section">
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Instance%20Properties"></a>
-                  <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
-                  <a href="#/Instance%20Properties">
-                    <h3 class="section-name">Instance Properties</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Instance%20Properties"></a>
+                <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
+                <a href="#/Instance%20Properties">
+                  <h3 class="section-name">Instance Properties</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK20UsergridClientConfig5orgIDSS"></a>
-                    <a name="//apple_ref/swift/Property/orgID" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK20UsergridClientConfig5orgIDSS">orgID</a>
+                    <a name="/s:vC11UsergridSDK20UsergridClientConfig5orgIdSS"></a>
+                    <a name="//apple_ref/swift/Property/orgId" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK20UsergridClientConfig5orgIdSS">orgId</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -167,9 +202,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">orgID</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">orgId</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
 
                         </div>
                       </div>
@@ -179,9 +214,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK20UsergridClientConfig5appIDSS"></a>
-                    <a name="//apple_ref/swift/Property/appID" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK20UsergridClientConfig5appIDSS">appID</a>
+                    <a name="/s:vC11UsergridSDK20UsergridClientConfig5appIdSS"></a>
+                    <a name="//apple_ref/swift/Property/appId" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK20UsergridClientConfig5appIdSS">appId</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -194,9 +229,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">appID</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">appId</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
 
                         </div>
                       </div>
@@ -206,9 +241,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK20UsergridClientConfig7baseURLSS"></a>
-                    <a name="//apple_ref/swift/Property/baseURL" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK20UsergridClientConfig7baseURLSS">baseURL</a>
+                    <a name="/s:vC11UsergridSDK20UsergridClientConfig7baseUrlSS"></a>
+                    <a name="//apple_ref/swift/Property/baseUrl" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK20UsergridClientConfig7baseUrlSS">baseUrl</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -221,9 +256,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">baseURL</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt">UsergridClient</span><span class="o">.</span><span class="kt">DEFAULT_BASE_URL</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">baseUrl</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt">UsergridClient</span><span class="o">.</span><span class="kt">DEFAULT_BASE_URL</span></code></pre>
 
                         </div>
                       </div>
@@ -233,9 +268,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK20UsergridClientConfig12authFallbackOS_20UsergridAuthFallback"></a>
-                    <a name="//apple_ref/swift/Property/authFallback" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK20UsergridClientConfig12authFallbackOS_20UsergridAuthFallback">authFallback</a>
+                    <a name="/s:vC11UsergridSDK20UsergridClientConfig8authModeOS_16UsergridAuthMode"></a>
+                    <a name="//apple_ref/swift/Property/authMode" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK20UsergridClientConfig8authModeOS_16UsergridAuthMode">authMode</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -243,14 +278,41 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>UsergridAuthFallback</code> value used to determine what type of token will be sent, if any.</p>
+                        <p>The <code><a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a></code> value used to determine what type of token will be sent, if any.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">authFallback</span><span class="p">:</span> <span class="kt">UsergridAuthFallback</span> <span class="o">=</span> <span class="o">.</span><span class="kt">None</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">authMode</span><span class="p">:</span> <span class="kt">UsergridAuthMode</span> <span class="o">=</span> <span class="o">.</span><span class="kt">User</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK20UsergridClientConfig28persistCurrentUserInKeychainSb"></a>
+                    <a name="//apple_ref/swift/Property/persistCurrentUserInKeychain" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK20UsergridClientConfig28persistCurrentUserInKeychainSb">persistCurrentUserInKeychain</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Whether or not the <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code> current user will be saved and restored from the keychain.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">persistCurrentUserInKeychain</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">true</span></code></pre>
 
                         </div>
                       </div>
@@ -270,14 +332,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The application level <code>UsergridAppAuth</code> object.</p>
+                        <p>The application level <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> object.</p>
 
-<p>Note that you still need to call the authentication methods within <code>UsergridClient</code> once it has been initialized.</p>
+<p>Note that you still need to call the authentication methods within <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code> once it has been initialized.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">appAuth</span><span class="p">:</span> <span class="kt">UsergridAppAuth</span><span class="p">?</span></code></pre>
 
@@ -289,20 +351,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Initialization"></a>
-                  <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
-                  <a href="#/Initialization">
-                    <h3 class="section-name">Initialization</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK20UsergridClientConfigcFMS0_FT5orgIDSS5appIDSS_S0_"></a>
-                    <a name="//apple_ref/swift/Method/init(orgID:appID:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfigcFMS0_FT5orgIDSS5appIDSS_S0_">init(orgID:appID:)</a>
+                    <a name="/s:FC11UsergridSDK20UsergridClientConfigcFT5orgIdSS5appIdSS_S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(orgId:appId:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfigcFT5orgIdSS5appIdSS_S0_">init(orgId:appId:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -310,14 +372,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Designated initializer for <code>UsergridClientConfig</code> objects.</p>
+                        <p>Designated initializer for <code><a href="../Classes/UsergridClientConfig.html">UsergridClientConfig</a></code> objects.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">orgID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appID</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">orgId</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appId</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -328,7 +390,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>orgID</em>
+                                <em>orgId</em>
                                 </code>
                               </td>
                               <td>
@@ -341,7 +403,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>appID</em>
+                                <em>appId</em>
                                 </code>
                               </td>
                               <td>
@@ -356,7 +418,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A new instance of <code>UsergridClientConfig</code>.</p>
+                        <p>A new instance of <code><a href="../Classes/UsergridClientConfig.html">UsergridClientConfig</a></code>.</p>
 
                       </div>
                     </section>
@@ -365,9 +427,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK20UsergridClientConfigcFMS0_FT5orgIDSS5appIDSS7baseURLSS_S0_"></a>
-                    <a name="//apple_ref/swift/Method/init(orgID:appID:baseURL:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfigcFMS0_FT5orgIDSS5appIDSS7baseURLSS_S0_">init(orgID:appID:baseURL:)</a>
+                    <a name="/s:FC11UsergridSDK20UsergridClientConfigcFT5orgIdSS5appIdSS7baseUrlSS_S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(orgId:appId:baseUrl:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfigcFT5orgIdSS5appIdSS7baseUrlSS_S0_">init(orgId:appId:baseUrl:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -375,14 +437,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Convenience initializer for <code>UsergridClientConfig</code>.</p>
+                        <p>Convenience initializer for <code><a href="../Classes/UsergridClientConfig.html">UsergridClientConfig</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">orgID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">baseURL</span><span class="p">:</span><span class="kt">String</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">orgId</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appId</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">baseUrl</span><span class="p">:</span><span class="kt">String</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -393,7 +455,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>orgID</em>
+                                <em>orgId</em>
                                 </code>
                               </td>
                               <td>
@@ -406,7 +468,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>appID</em>
+                                <em>appId</em>
                                 </code>
                               </td>
                               <td>
@@ -419,7 +481,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>baseURL</em>
+                                <em>baseUrl</em>
                                 </code>
                               </td>
                               <td>
@@ -434,7 +496,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A new instance of <code>UsergridClientConfig</code>.</p>
+                        <p>A new instance of <code><a href="../Classes/UsergridClientConfig.html">UsergridClientConfig</a></code>.</p>
 
                       </div>
                     </section>
@@ -443,9 +505,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK20UsergridClientConfigcFMS0_FT5orgIDSS5appIDSS7baseURLSS12authFallbackOS_20UsergridAuthFallback7appAuthGSqCS_15UsergridAppAuth__S0_"></a>
-                    <a name="//apple_ref/swift/Method/init(orgID:appID:baseURL:authFallback:appAuth:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfigcFMS0_FT5orgIDSS5appIDSS7baseURLSS12authFallbackOS_20UsergridAuthFallback7appAuthGSqCS_15UsergridAppAuth__S0_">init(orgID:appID:baseURL:authFallback:appAuth:)</a>
+                    <a name="/s:FC11UsergridSDK20UsergridClientConfigcFT5orgIdSS5appIdSS7baseUrlSS8authModeOS_16UsergridAuthMode28persistCurrentUserInKeychainSb7appAuthGSqCS_15UsergridAppAuth__S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(orgId:appId:baseUrl:authMode:persistCurrentUserInKeychain:appAuth:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfigcFT5orgIdSS5appIdSS7baseUrlSS8authModeOS_16UsergridAuthMode28persistCurrentUserInKeychainSb7appAuthGSqCS_15UsergridAppAuth__S0_">init(orgId:appId:baseUrl:authMode:persistCurrentUserInKeychain:appAuth:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -453,14 +515,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Convenience initializer for <code>UsergridClientConfig</code>.</p>
+                        <p>Convenience initializer for <code><a href="../Classes/UsergridClientConfig.html">UsergridClientConfig</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">orgID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appID</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">baseURL</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">authFallback</span><span class="p">:</span><span class="kt">UsergridAuthFallback</span><span class="p">,</span> <span class="nv">appAuth</span><span class="p">:</span><span class="kt">UsergridAppAuth</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">orgId</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appId</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">baseUrl</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">authMode</span><span class="p">:</span><span class="kt">UsergridAuthMode</span><span class="p">,</span> <span class="nv">persistCurrentUserInKeychain</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span> <span class="nv">appAuth</span><span class="p">:</span><span class="kt">UsergridAppAuth</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -471,7 +533,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>orgID</em>
+                                <em>orgId</em>
                                 </code>
                               </td>
                               <td>
@@ -484,7 +546,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>appID</em>
+                                <em>appId</em>
                                 </code>
                               </td>
                               <td>
@@ -497,7 +559,7 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>baseURL</em>
+                                <em>baseUrl</em>
                                 </code>
                               </td>
                               <td>
@@ -510,12 +572,25 @@
                             <tr>
                               <td>
                                 <code>
-                                <em>authFallback</em>
+                                <em>authMode</em>
                                 </code>
                               </td>
                               <td>
                                 <div>
-                                  <p>The <code>UsergridAuthFallback</code> value used to determine what type of token will be sent, if any.</p>
+                                  <p>The <code>UsergridAuthMode</code> value used to determine what type of token will be sent, if any.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>persistCurrentUserInKeychain</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>Whether or not the <code>UsergridClient</code> current user will be saved and restored from the keychain.</p>
 
                                 </div>
                               </td>
@@ -538,7 +613,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A new instance of <code>UsergridClientConfig</code>.</p>
+                        <p>A new instance of <code><a href="../Classes/UsergridClientConfig.html">UsergridClientConfig</a></code>.</p>
 
                       </div>
                     </section>
@@ -546,11 +621,121 @@
                 </li>
               </ul>
             </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/NSCoding"></a>
+                <a name="//apple_ref/swift/Section/NSCoding" class="dashAnchor"></a>
+                <a href="#/NSCoding">
+                  <h3 class="section-name">NSCoding</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK20UsergridClientConfigcFT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfigcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>NSCoding protocol initializer.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">required</span> <span class="nf">init</span><span class="p">?(</span><span class="n">coder</span> <span class="nv">aDecoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aDecoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The decoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A decoded <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> object.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK20UsergridClientConfig15encodeWithCoderFCSo7NSCoderT_"></a>
+                    <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridClientConfig15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>NSCoding protocol encoder.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">encodeWithCoder</span><span class="p">(</span><span class="nv">aCoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aCoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The encoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridDevice.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridDevice.html
index 97d3047..9cda8aa 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridDevice.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridDevice.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Class/UsergridDevice" class="dashAnchor"></a>
     <a title="UsergridDevice Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,12 +164,12 @@
           <section class="section">
             <h1>UsergridDevice</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridDevice</span> <span class="p">:</span> <span class="kt">UsergridEntity</span></code></pre>
 
                 </div>
               </div>
-            <p><code>UsergridDevice</code> is an <code>UsergridEntity</code> subclass that encapsulates information about the current device as well as stores information about push tokens and Usergrid notifiers.</p>
+            <p><code>UsergridDevice</code> is an <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> subclass that encapsulates information about the current device as well as stores information about push tokens and Usergrid notifiers.</p>
 
 <p>To apply push tokens for Usergrid notifiers use the <code>UsergridClient.applyPushToken</code> method.</p>
 
@@ -145,9 +180,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:sC11UsergridSDK14UsergridDevice9subscriptFSSGSqPSs9AnyObject__"></a>
+                    <a name="/s:iC11UsergridSDK14UsergridDevice9subscriptFSSGSqPs9AnyObject__"></a>
                     <a name="//apple_ref/swift/Method/subscript(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:sC11UsergridSDK14UsergridDevice9subscriptFSSGSqPSs9AnyObject__">subscript(_:)</a>
+                    <a class="token" href="#/s:iC11UsergridSDK14UsergridDevice9subscriptFSSGSqPs9AnyObject__">subscript(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -155,19 +190,23 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Subscript for the <code>UsergridDevice</code> class. Note that all of the <code>UsergridDeviceProperties</code> are immutable.</p>
+                        <p>Subscript for the <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> class. Note that all of the <code><a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a></code> are immutable.</p>
 
-<ul>
-<li><p>Example usage:
+<div class="aside aside-warning">
+    <p class="aside-title">Warning</p>
+    <p>When setting a properties value must be a valid JSON object.</p>
+
+</div>
+
+<p><li><p>Example usage:
 <code>
 let uuid = usergridDevice[&quot;uuid&quot;]
-</code></p></li>
-</ul>
+</code></p></li></p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">override</span> <span class="kd">public</span> <span class="nf">subscript</span><span class="p">(</span><span class="nv">propertyName</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">AnyObject</span><span class="p">?</span></code></pre>
 
@@ -179,44 +218,17 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Instance%20Properties"></a>
-                  <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
-                  <a href="#/Instance%20Properties">
-                    <h3 class="section-name">Instance Properties</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Instance%20Properties"></a>
+                <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
+                <a href="#/Instance%20Properties">
+                  <h3 class="section-name">Instance Properties</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK14UsergridDevice4uuidSS"></a>
-                    <a name="//apple_ref/swift/Property/uuid" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK14UsergridDevice4uuidSS">uuid</a>
-                    </code>
-                  </div>
-                  <div class="height-container">
-                    <div class="pointer-container"></div>
-                    <section class="section">
-                      <div class="pointer"></div>
-                      <div class="abstract">
-                        <p>Property helper method for the <code>UsergridDevice</code> objects <code>uuid</code>.</p>
-
-                      </div>
-                      <div class="declaration">
-                        <h4>Declaration</h4>
-                        <div class="Swift">
-                          <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="k">override</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">uuid</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="k">super</span><span class="p">[</span><span class="kt">UsergridEntityProperties</span><span class="o">.</span><span class="kt">UUID</span><span class="o">.</span><span class="n">stringValue</span><span class="p">]</span> <span class="k">as!</span> <span class="kt">String</span> <span class="p">}</span></code></pre>
-
-                        </div>
-                      </div>
-                    </section>
-                  </div>
-                </li>
-                <li class="item">
-                  <div>
-                    <code>
                     <a name="/s:vC11UsergridSDK14UsergridDevice5modelSS"></a>
                     <a name="//apple_ref/swift/Property/model" class="dashAnchor"></a>
                     <a class="token" href="#/s:vC11UsergridSDK14UsergridDevice5modelSS">model</a>
@@ -227,12 +239,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property helper method for the <code>UsergridDevice</code> objects device model.</p>
+                        <p>Property helper method for the <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> objects device model.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">model</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="k">super</span><span class="p">[</span><span class="kt">UsergridDeviceProperties</span><span class="o">.</span><span class="kt">Model</span><span class="o">.</span><span class="n">stringValue</span><span class="p">]</span> <span class="k">as!</span> <span class="kt">String</span> <span class="p">}</span></code></pre>
 
@@ -254,12 +266,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property helper method for the <code>UsergridDevice</code> objects device platform.</p>
+                        <p>Property helper method for the <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> objects device platform.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">platform</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="k">super</span><span class="p">[</span><span class="kt">UsergridDeviceProperties</span><span class="o">.</span><span class="kt">Platform</span><span class="o">.</span><span class="n">stringValue</span><span class="p">]</span> <span class="k">as!</span> <span class="kt">String</span> <span class="p">}</span></code></pre>
 
@@ -281,12 +293,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property helper method for the <code>UsergridDevice</code> objects device operating system version.</p>
+                        <p>Property helper method for the <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> objects device operating system version.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">osVersion</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="k">super</span><span class="p">[</span><span class="kt">UsergridDeviceProperties</span><span class="o">.</span><span class="kt">OSVersion</span><span class="o">.</span><span class="n">stringValue</span><span class="p">]</span> <span class="k">as!</span> <span class="kt">String</span> <span class="p">}</span></code></pre>
 
@@ -295,17 +307,6 @@
                     </section>
                   </div>
                 </li>
-              </ul>
-            </div>
-            <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Initialization"></a>
-                  <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
-                  <a href="#/Initialization">
-                    <h3 class="section-name">Initialization</h3>
-                  </a>
-                </div>
-              <ul>
                 <li class="item">
                   <div>
                     <code>
@@ -319,26 +320,37 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The shared instance of <code>UsergridDevice</code>.</p>
+                        <p>The shared instance of <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">sharedDevice</span><span class="p">:</span> <span class="kt">UsergridDevice</span> <span class="o">=</span> <span class="kt">UsergridDevice</span><span class="p">()</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">sharedDevice</span><span class="p">:</span> <span class="kt">UsergridDevice</span> <span class="o">=</span> <span class="kt">UsergridDevice</span><span class="o">.</span><span class="nf">getOrCreateSharedDeviceFromKeychain</span><span class="p">()</span></code></pre>
 
                         </div>
                       </div>
                     </section>
                   </div>
                 </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
+              <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridDevicecFMS0_FT_S0_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridDevicecFT_S0_"></a>
                     <a name="//apple_ref/swift/Method/init()" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevicecFMS0_FT_S0_">init()</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevicecFT_S0_">init()</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -346,14 +358,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Designated Initializer for <code>UsergridDevice</code> objects</p>
+                        <p>Designated Initializer for <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> objects</p>
 
-<p>Most likely you will never need to create seperate instances of <code>UsergridDevice</code>.  Use of <code>UsergridDevice.sharedInstance</code> is recommended.</p>
+<p>Most likely you will never need to create seperate instances of <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code>.  Use of <code>UsergridDevice.sharedInstance</code> is recommended.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">()</span></code></pre>
 
@@ -361,7 +373,376 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A new instance of <code>UsergridDevice</code>.</p>
+                        <p>A new instance of <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code>.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridDevicecFT4typeSS4nameGSqSS_12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(type:name:propertyDict:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevicecFT4typeSS4nameGSqSS_12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_">init(type:name:propertyDict:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The required public initializer for <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> subclasses.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">required</span> <span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">propertyDict</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">]?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>type</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The type associated with the <code>UsergridEntity</code> object.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>name</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional name associated with the <code>UsergridEntity</code> object.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>propertyDict</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional property dictionary that the <code>UsergridEntity</code> object will start out with.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A new <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> object.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/NSCoding"></a>
+                <a name="//apple_ref/swift/Section/NSCoding" class="dashAnchor"></a>
+                <a href="#/NSCoding">
+                  <h3 class="section-name">NSCoding</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridDevicecFT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevicecFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>NSCoding protocol initializer.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">required</span> <span class="kd">public</span> <span class="nf">init</span><span class="p">?(</span><span class="n">coder</span> <span class="nv">aDecoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aDecoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The decoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A decoded <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> object.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridDevice15encodeWithCoderFCSo7NSCoderT_"></a>
+                    <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevice15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>NSCoding protocol encoder.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">override</span> <span class="kd">func</span> <span class="nf">encodeWithCoder</span><span class="p">(</span><span class="nv">aCoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aCoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The encoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridDevice4saveFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/save(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevice4saveFTGSqFT8responseCS_16UsergridResponse_T___T_">save(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Performs a PUT (or POST if no UUID is found) on the <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+
+<p>If this device is equal to <code><a href="../Classes/UsergridDevice.html#/s:ZvC11UsergridSDK14UsergridDevice12sharedDeviceS0_">UsergridDevice.sharedDevice</a></code> it will also update the shared device on the keychain.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">override</span> <span class="kd">func</span> <span class="nf">save</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>An optional completion block that, if successful, will contain the updated/saved <code>UsergridEntity</code> object.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridDevice4saveFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/save(_:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridDevice4saveFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">save(_:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Performs a PUT (or POST if no UUID is found) on the <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code>.</p>
+
+<p>If this device is equal to <code><a href="../Classes/UsergridDevice.html#/s:ZvC11UsergridSDK14UsergridDevice12sharedDeviceS0_">UsergridDevice.sharedDevice</a></code> it will also update the shared device on the keychain.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">override</span> <span class="kd">func</span> <span class="nf">save</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>client</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The client to use when saving.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>An optional completion block that, if successful, will contain the updated/saved <code>UsergridEntity</code> object.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFC11UsergridSDK14UsergridDevice26saveSharedDeviceToKeychainFT_T_"></a>
+                    <a name="//apple_ref/swift/Method/saveSharedDeviceToKeychain()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridDevice26saveSharedDeviceToKeychainFT_T_">saveSharedDeviceToKeychain()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Saves the <code><a href="../Classes/UsergridDevice.html#/s:ZvC11UsergridSDK14UsergridDevice12sharedDeviceS0_">UsergridDevice.sharedDevice</a></code> to the keychain.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">saveSharedDeviceToKeychain</span><span class="p">()</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Class%20Helper%20Methods"></a>
+                <a name="//apple_ref/swift/Section/Class Helper Methods" class="dashAnchor"></a>
+                <a href="#/Class%20Helper%20Methods">
+                  <h3 class="section-name">Class Helper Methods</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFC11UsergridSDK14UsergridDevice24commonDevicePropertyDictFT_GVs10DictionarySSPs9AnyObject__"></a>
+                    <a name="//apple_ref/swift/Method/commonDevicePropertyDict()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridDevice24commonDevicePropertyDictFT_GVs10DictionarySSPs9AnyObject__">commonDevicePropertyDict()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Creates a property dictionary that contains the common properties for <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> objects.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">commonDevicePropertyDict</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="p">[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">]</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A property dictionary with the common properties set.</p>
 
                       </div>
                     </section>
@@ -372,8 +753,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridEntity.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridEntity.html
index eb29590..280138b 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridEntity.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridEntity.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Class/UsergridEntity" class="dashAnchor"></a>
     <a title="UsergridEntity Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,8 +164,8 @@
           <section class="section">
             <h1>UsergridEntity</h1>
               <div class="declaration">
-                <div class="Swift">
-                  <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridEntity</span><span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+                <div class="language">
+                  <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridEntity</span><span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSCoding</span></code></pre>
 
                 </div>
               </div>
@@ -141,20 +176,13 @@
           </section>
           <section class="section task-group-section">
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Instance%20Properties"></a>
-                  <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
-                  <a href="#/Instance%20Properties">
-                    <h3 class="section-name">Instance Properties</h3>
-                  </a>
-                </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:sC11UsergridSDK14UsergridEntity9subscriptFSSGSqPSs9AnyObject__"></a>
+                    <a name="/s:iC11UsergridSDK14UsergridEntity9subscriptFSSGSqPs9AnyObject__"></a>
                     <a name="//apple_ref/swift/Method/subscript(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:sC11UsergridSDK14UsergridEntity9subscriptFSSGSqPSs9AnyObject__">subscript(_:)</a>
+                    <a class="token" href="#/s:iC11UsergridSDK14UsergridEntity9subscriptFSSGSqPs9AnyObject__">subscript(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -162,7 +190,7 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Subscript for the <code>UsergridEntity</code> class.</p>
+                        <p>Subscript for the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> class.</p>
 
 <ul>
 <li>Example usage:
@@ -175,7 +203,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="nf">subscript</span><span class="p">(</span><span class="nv">propertyName</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">AnyObject</span><span class="p">?</span></code></pre>
 
@@ -184,6 +212,17 @@
                     </section>
                   </div>
                 </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Instance%20Properties"></a>
+                <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
+                <a href="#/Instance%20Properties">
+                  <h3 class="section-name">Instance Properties</h3>
+                </a>
+              </div>
+              <ul>
                 <li class="item">
                   <div>
                     <code>
@@ -197,14 +236,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>UsergridAsset</code> that contains the asset data.</p>
+                        <p>The <code><a href="../Classes/UsergridAsset.html">UsergridAsset</a></code> that contains the asset data.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">asset</span><span class="p">:</span> <span class="kt">UsergridAsset</span><span class="p">?</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">internal(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">asset</span><span class="p">:</span> <span class="kt">UsergridAsset</span><span class="p">?</span></code></pre>
 
                         </div>
                       </div>
@@ -224,14 +263,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>UsergridFileMetaData</code> of this <code>UsergridEntity</code>.</p>
+                        <p>The <code><a href="../Classes/UsergridFileMetaData.html">UsergridFileMetaData</a></code> of this <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">private(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">fileMetaData</span> <span class="p">:</span> <span class="kt">UsergridFileMetaData</span><span class="p">?</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">internal(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">fileMetaData</span> <span class="p">:</span> <span class="kt">UsergridFileMetaData</span><span class="p">?</span></code></pre>
 
                         </div>
                       </div>
@@ -251,12 +290,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property helper method for the <code>UsergridEntity</code> objects <code>UsergridEntityProperties.EntityType</code>.</p>
+                        <p>Property helper method for the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects <code><a href="../Enums/UsergridEntityProperties.html#/s:FO11UsergridSDK24UsergridEntityProperties10EntityTypeFMS0_S0_">UsergridEntityProperties.EntityType</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">type</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">getEntitySpecificProperty</span><span class="p">(</span><span class="o">.</span><span class="kt">EntityType</span><span class="p">)</span> <span class="k">as!</span> <span class="kt">String</span> <span class="p">}</span></code></pre>
 
@@ -278,12 +317,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property helper method for the <code>UsergridEntity</code> objects <code>UsergridEntityProperties.UUID</code>.</p>
+                        <p>Property helper method for the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects <code><a href="../Enums/UsergridEntityProperties.html#/s:FO11UsergridSDK24UsergridEntityProperties4UUIDFMS0_S0_">UsergridEntityProperties.UUID</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">uuid</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">getEntitySpecificProperty</span><span class="p">(</span><span class="o">.</span><span class="kt">UUID</span><span class="p">)</span> <span class="k">as?</span> <span class="kt">String</span> <span class="p">}</span></code></pre>
 
@@ -305,12 +344,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property helper method for the <code>UsergridEntity</code> objects <code>UsergridEntityProperties.Name</code>.</p>
+                        <p>Property helper method for the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects <code><a href="../Enums/UsergridEntityProperties.html#/s:FO11UsergridSDK24UsergridEntityProperties4NameFMS0_S0_">UsergridEntityProperties.Name</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">name</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">getEntitySpecificProperty</span><span class="p">(</span><span class="o">.</span><span class="kt">Name</span><span class="p">)</span> <span class="k">as?</span> <span class="kt">String</span> <span class="p">}</span></code></pre>
 
@@ -332,12 +371,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property helper method for the <code>UsergridEntity</code> objects <code>UsergridEntityProperties.Created</code>.</p>
+                        <p>Property helper method for the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects <code><a href="../Enums/UsergridEntityProperties.html#/s:FO11UsergridSDK24UsergridEntityProperties7CreatedFMS0_S0_">UsergridEntityProperties.Created</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">created</span><span class="p">:</span> <span class="kt">NSDate</span><span class="p">?</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">getEntitySpecificProperty</span><span class="p">(</span><span class="o">.</span><span class="kt">Created</span><span class="p">)</span> <span class="k">as?</span> <span class="kt">NSDate</span> <span class="p">}</span></code></pre>
 
@@ -359,12 +398,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property helper method for the <code>UsergridEntity</code> objects <code>UsergridEntityProperties.Modified</code>.</p>
+                        <p>Property helper method for the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects <code><a href="../Enums/UsergridEntityProperties.html#/s:FO11UsergridSDK24UsergridEntityProperties8ModifiedFMS0_S0_">UsergridEntityProperties.Modified</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">modified</span><span class="p">:</span> <span class="kt">NSDate</span><span class="p">?</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">getEntitySpecificProperty</span><span class="p">(</span><span class="o">.</span><span class="kt">Modified</span><span class="p">)</span> <span class="k">as?</span> <span class="kt">NSDate</span> <span class="p">}</span></code></pre>
 
@@ -386,12 +425,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property helper method for the <code>UsergridEntity</code> objects <code>UsergridEntityProperties.Location</code>.</p>
+                        <p>Property helper method for the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects <code><a href="../Enums/UsergridEntityProperties.html#/s:FO11UsergridSDK24UsergridEntityProperties8LocationFMS0_S0_">UsergridEntityProperties.Location</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">location</span><span class="p">:</span> <span class="kt">CLLocation</span><span class="p">?</span></code></pre>
 
@@ -413,12 +452,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property helper method to get the UUID or name of the <code>UsergridEntity</code>.</p>
+                        <p>Property helper method to get the UUID or name of the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">uuidOrName</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="n">uuid</span> <span class="p">??</span> <span class="k">self</span><span class="o">.</span><span class="n">name</span> <span class="p">}</span></code></pre>
 
@@ -440,12 +479,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Tells you if this <code>UsergridEntity</code> has a type of <code>user</code>.</p>
+                        <p>Tells you if this <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> has a type of <code>user</code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">isUser</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span> <span class="k">is</span> <span class="kt">UsergridUser</span> <span class="o">||</span> <span class="k">self</span><span class="o">.</span><span class="n">type</span> <span class="o">==</span> <span class="kt">UsergridUser</span><span class="o">.</span><span class="kt">USER_ENTITY_TYPE</span> <span class="p">}</span></code></pre>
 
@@ -472,7 +511,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">hasAsset</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="k">asset</span> <span class="o">!=</span> <span class="kc">nil</span> <span class="o">||</span> <span class="k">self</span><span class="o">.</span><span class="n">fileMetaData</span><span class="p">?</span><span class="o">.</span><span class="n">contentLength</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="p">}</span></code></pre>
 
@@ -484,9 +523,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK14UsergridEntity15jsonObjectValueGVSs10DictionarySSPSs9AnyObject__"></a>
+                    <a name="/s:vC11UsergridSDK14UsergridEntity15jsonObjectValueGVs10DictionarySSPs9AnyObject__"></a>
                     <a name="//apple_ref/swift/Property/jsonObjectValue" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK14UsergridEntity15jsonObjectValueGVSs10DictionarySSPSs9AnyObject__">jsonObjectValue</a>
+                    <a class="token" href="#/s:vC11UsergridSDK14UsergridEntity15jsonObjectValueGVs10DictionarySSPs9AnyObject__">jsonObjectValue</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -499,7 +538,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">jsonObjectValue</span> <span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">]</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="n">properties</span> <span class="p">}</span></code></pre>
 
@@ -526,9 +565,63 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">stringValue</span> <span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="kt">NSString</span><span class="p">(</span><span class="nv">data</span><span class="p">:</span> <span class="k">try!</span> <span class="kt">NSJSONSerialization</span><span class="o">.</span><span class="nf">dataWithJSONObject</span><span class="p">(</span><span class="k">self</span><span class="o">.</span><span class="n">jsonObjectValue</span><span class="p">,</span> <span class="nv">options</span><span class="p">:</span> <span class="kt">NSJSONWritingOptions</span><span class="o">.</span><span class="kt">PrettyPrinted</span><span class="p">),</span> <span class="nv">encoding</span><span class="p">:</span> <span class="kt">NSASCIIStringEncoding</span><span class="p">)</span> <span class="k">as!</span> <span class="kt">String</span> <span class="p">}</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">stringValue</span> <span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">return</span> <span class="kt">NSString</span><span class="p">(</span><span class="nv">data</span><span class="p">:</span> <span class="k">try!</span> <span class="kt">NSJSONSerialization</span><span class="o">.</span><span class="nf">dataWithJSONObject</span><span class="p">(</span><span class="k">self</span><span class="o">.</span><span class="n">jsonObjectValue</span><span class="p">,</span> <span class="nv">options</span><span class="p">:</span> <span class="o">.</span><span class="kt">PrettyPrinted</span><span class="p">),</span> <span class="nv">encoding</span><span class="p">:</span> <span class="kt">NSUTF8StringEncoding</span><span class="p">)</span> <span class="k">as!</span> <span class="kt">String</span> <span class="p">}</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK14UsergridEntity11descriptionSS"></a>
+                    <a name="//apple_ref/swift/Property/description" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK14UsergridEntity11descriptionSS">description</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The description.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">override</span> <span class="k">var</span> <span class="nv">description</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK14UsergridEntity16debugDescriptionSS"></a>
+                    <a name="//apple_ref/swift/Property/debugDescription" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK14UsergridEntity16debugDescriptionSS">debugDescription</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The debug description.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">override</span> <span class="k">var</span> <span class="nv">debugDescription</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
 
                         </div>
                       </div>
@@ -538,20 +631,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Initialization"></a>
-                  <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
-                  <a href="#/Initialization">
-                    <h3 class="section-name">Initialization</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntitycFMS0_FT4typeSS4nameGSqSS_12propertyDictGSqGVSs10DictionarySSPSs9AnyObject____S0_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntitycFT4typeSS4nameGSqSS_12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_"></a>
                     <a name="//apple_ref/swift/Method/init(type:name:propertyDict:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntitycFMS0_FT4typeSS4nameGSqSS_12propertyDictGSqGVSs10DictionarySSPSs9AnyObject____S0_">init(type:name:propertyDict:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntitycFT4typeSS4nameGSqSS_12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_">init(type:name:propertyDict:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -559,26 +652,137 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Undocumented</p>
+                        <p>Designated initializer for <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridEntity</span><span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">required</span> <span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">propertyDict</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">]?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>type</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The type associated with the <code>UsergridEntity</code> object.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>name</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional name associated with the <code>UsergridEntity</code> object.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>propertyDict</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional property dictionary that the <code>UsergridEntity</code> object will start out with.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A new <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> object.</p>
+
+                      </div>
                     </section>
                   </div>
                 </li>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK14UsergridEntity6entityFMS0_FT8jsonDictGVSs10DictionarySSPSs9AnyObject___GSqS0__"></a>
+                    <a name="/s:ZFC11UsergridSDK14UsergridEntity13mapCustomTypeFTSS10toSubclassMS0__T_"></a>
+                    <a name="//apple_ref/swift/Method/mapCustomType(_:toSubclass:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridEntity13mapCustomTypeFTSS10toSubclassMS0__T_">mapCustomType(_:toSubclass:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Used for custom mapping subclasses to a given <code><a href="../Classes/Usergrid.html">Usergrid</a></code> type.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">mapCustomType</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span><span class="nv">toSubclass</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="o">.</span><span class="k">Type</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>type</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The type of the <code>Usergrid</code> object.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>toSubclass</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The subclass <code>UsergridEntity.Type</code> to map it to.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFC11UsergridSDK14UsergridEntity6entityFT8jsonDictGVs10DictionarySSPs9AnyObject___GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/entity(jsonDict:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridEntity6entityFMS0_FT8jsonDictGVSs10DictionarySSPSs9AnyObject___GSqS0__">entity(jsonDict:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridEntity6entityFT8jsonDictGVs10DictionarySSPs9AnyObject___GSqS0__">entity(jsonDict:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -586,26 +790,51 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Undocumented</p>
+                        <p>Class convenience constructor for creating <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects dynamically.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridEntity</span><span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kd">func</span> <span class="nf">entity</span><span class="p">(</span><span class="n">jsonDict</span> <span class="nv">jsonDict</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="kt">UsergridEntity</span><span class="p">?</span></code></pre>
 
                         </div>
                       </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>jsonDict</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>A valid JSON dictionary which must contain at the very least a value for the <code>type</code> key.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> object provided that the <code><a href="../Classes/UsergridEntity.html#/s:vC11UsergridSDK14UsergridEntity4typeSS">type</a></code> key within the dictionay exists. Otherwise nil.</p>
+
+                      </div>
                     </section>
                   </div>
                 </li>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFC11UsergridSDK14UsergridEntity8entitiesFMS0_FT9jsonArrayGSaGVSs10DictionarySSPSs9AnyObject____GSaS0__"></a>
+                    <a name="/s:ZFC11UsergridSDK14UsergridEntity8entitiesFT9jsonArrayGSaGVs10DictionarySSPs9AnyObject____GSaS0__"></a>
                     <a name="//apple_ref/swift/Method/entities(jsonArray:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridEntity8entitiesFMS0_FT9jsonArrayGSaGVSs10DictionarySSPSs9AnyObject____GSaS0__">entities(jsonArray:)</a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK14UsergridEntity8entitiesFT9jsonArrayGSaGVs10DictionarySSPs9AnyObject____GSaS0__">entities(jsonArray:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -613,12 +842,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Class convenience constructor for creating multiple <code>UsergridEntity</code> objects dynamically.</p>
+                        <p>Class convenience constructor for creating multiple <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects dynamically.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kd">func</span> <span class="nf">entities</span><span class="p">(</span><span class="n">jsonArray</span> <span class="nv">entitiesJSONArray</span><span class="p">:</span> <span class="p">[[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">]])</span> <span class="o">-&gt;</span> <span class="p">[</span><span class="kt">UsergridEntity</span><span class="p">]</span></code></pre>
 
@@ -646,7 +875,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>An array of <code>UsergridEntity</code>.</p>
+                        <p>An array of <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code>.</p>
 
                       </div>
                     </section>
@@ -655,20 +884,130 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Property%20Manipulation"></a>
-                  <a name="//apple_ref/swift/Section/Property Manipulation" class="dashAnchor"></a>
-                  <a href="#/Property%20Manipulation">
-                    <h3 class="section-name">Property Manipulation</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/NSCoding"></a>
+                <a name="//apple_ref/swift/Section/NSCoding" class="dashAnchor"></a>
+                <a href="#/NSCoding">
+                  <h3 class="section-name">NSCoding</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity11putPropertyFS0_FTSS5valueGSqPSs9AnyObject___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntitycFT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntitycFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>NSCoding protocol initializer.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">required</span> <span class="kd">public</span> <span class="nf">init</span><span class="p">?(</span><span class="n">coder</span> <span class="nv">aDecoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aDecoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The decoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A decoded <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> object.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity15encodeWithCoderFCSo7NSCoderT_"></a>
+                    <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>NSCoding protocol encoder.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">encodeWithCoder</span><span class="p">(</span><span class="nv">aCoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aCoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The encoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Property%20Manipulation"></a>
+                <a name="//apple_ref/swift/Section/Property Manipulation" class="dashAnchor"></a>
+                <a href="#/Property%20Manipulation">
+                  <h3 class="section-name">Property Manipulation</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity11putPropertyFTSS5valueGSqPs9AnyObject___T_"></a>
                     <a name="//apple_ref/swift/Method/putProperty(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity11putPropertyFS0_FTSS5valueGSqPSs9AnyObject___T_">putProperty(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity11putPropertyFTSS5valueGSqPs9AnyObject___T_">putProperty(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -681,7 +1020,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">putProperty</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span><span class="nv">value</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">?)</span></code></pre>
 
@@ -726,9 +1065,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity13putPropertiesFS0_FGVSs10DictionarySSPSs9AnyObject__T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity13putPropertiesFGVs10DictionarySSPs9AnyObject__T_"></a>
                     <a name="//apple_ref/swift/Method/putProperties(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity13putPropertiesFS0_FGVSs10DictionarySSPSs9AnyObject__T_">putProperties(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity13putPropertiesFGVs10DictionarySSPs9AnyObject__T_">putProperties(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -741,7 +1080,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">putProperties</span><span class="p">(</span><span class="nv">properties</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">])</span></code></pre>
 
@@ -773,9 +1112,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity14removePropertyFS0_FSST_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity14removePropertyFSST_"></a>
                     <a name="//apple_ref/swift/Method/removeProperty(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity14removePropertyFS0_FSST_">removeProperty(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity14removePropertyFSST_">removeProperty(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -788,7 +1127,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">removeProperty</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">)</span></code></pre>
 
@@ -820,9 +1159,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity16removePropertiesFS0_FGSaSS_T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity16removePropertiesFGSaSS_T_"></a>
                     <a name="//apple_ref/swift/Method/removeProperties(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity16removePropertiesFS0_FGSaSS_T_">removeProperties(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity16removePropertiesFGSaSS_T_">removeProperties(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -835,7 +1174,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">removeProperties</span><span class="p">(</span><span class="nv">propertyNames</span><span class="p">:[</span><span class="kt">String</span><span class="p">])</span></code></pre>
 
@@ -867,9 +1206,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity4pushFS0_FTSS5valuePSs9AnyObject__T_"></a>
-                    <a name="//apple_ref/swift/Method/push(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity4pushFS0_FTSS5valuePSs9AnyObject__T_">push(_:value:)</a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity6appendFTSS5valuePs9AnyObject__T_"></a>
+                    <a name="//apple_ref/swift/Method/append(_:value:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6appendFTSS5valuePs9AnyObject__T_">append(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -882,9 +1221,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">push</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span><span class="nv">value</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">append</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -913,7 +1252,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The value to append.</p>
+                                  <p>The value or an array of values to append.</p>
 
                                 </div>
                               </td>
@@ -927,69 +1266,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity6appendFS0_FTSS6valuesGSaPSs9AnyObject___T_"></a>
-                    <a name="//apple_ref/swift/Method/append(_:values:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6appendFS0_FTSS6valuesGSaPSs9AnyObject___T_">append(_:values:)</a>
-                    </code>
-                  </div>
-                  <div class="height-container">
-                    <div class="pointer-container"></div>
-                    <section class="section">
-                      <div class="pointer"></div>
-                      <div class="abstract">
-                        <p>Appends the given values to the end of the properties current value.</p>
-
-                      </div>
-                      <div class="declaration">
-                        <h4>Declaration</h4>
-                        <div class="Swift">
-                          <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">append</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span><span class="nv">values</span><span class="p">:[</span><span class="kt">AnyObject</span><span class="p">])</span></code></pre>
-
-                        </div>
-                      </div>
-                      <div>
-                        <h4>Parameters</h4>
-                        <table class="graybox">
-                          <tbody>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>name</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The name of the property.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>values</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The values to append.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                          </tbody>
-                        </table>
-                      </div>
-                    </section>
-                  </div>
-                </li>
-                <li class="item">
-                  <div>
-                    <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity6insertFS0_FTSS5indexSi5valuePSs9AnyObject__T_"></a>
-                    <a name="//apple_ref/swift/Method/insert(_:index:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6insertFS0_FTSS5indexSi5valuePSs9AnyObject__T_">insert(_:index:value:)</a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity6insertFTSS5valuePs9AnyObject_5indexSi_T_"></a>
+                    <a name="//apple_ref/swift/Method/insert(_:value:index:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6insertFTSS5valuePs9AnyObject_5indexSi_T_">insert(_:value:index:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1002,9 +1281,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">insert</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span><span class="nv">index</span><span class="p">:</span><span class="kt">Int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span><span class="nv">value</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">insert</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">,</span> <span class="nv">index</span><span class="p">:</span><span class="kt">Int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -1046,7 +1325,7 @@
                               </td>
                               <td>
                                 <div>
-                                  <p>The value to insert.</p>
+                                  <p>The value or an array of values to insert.</p>
 
                                 </div>
                               </td>
@@ -1060,82 +1339,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity11insertArrayFS0_FTSS5indexSi6valuesGSaPSs9AnyObject___T_"></a>
-                    <a name="//apple_ref/swift/Method/insertArray(_:index:values:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity11insertArrayFS0_FTSS5indexSi6valuesGSaPSs9AnyObject___T_">insertArray(_:index:values:)</a>
-                    </code>
-                  </div>
-                  <div class="height-container">
-                    <div class="pointer-container"></div>
-                    <section class="section">
-                      <div class="pointer"></div>
-                      <div class="abstract">
-                        <p>Inserts an array of property values at a given index within the properties current value.</p>
-
-                      </div>
-                      <div class="declaration">
-                        <h4>Declaration</h4>
-                        <div class="Swift">
-                          <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">insertArray</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span><span class="nv">index</span><span class="p">:</span><span class="kt">Int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span><span class="nv">values</span><span class="p">:[</span><span class="kt">AnyObject</span><span class="p">])</span></code></pre>
-
-                        </div>
-                      </div>
-                      <div>
-                        <h4>Parameters</h4>
-                        <table class="graybox">
-                          <tbody>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>name</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The name of the property</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>index</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The index to insert at.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                            <tr>
-                              <td>
-                                <code>
-                                <em>values</em>
-                                </code>
-                              </td>
-                              <td>
-                                <div>
-                                  <p>The values to insert.</p>
-
-                                </div>
-                              </td>
-                            </tr>
-                          </tbody>
-                        </table>
-                      </div>
-                    </section>
-                  </div>
-                </li>
-                <li class="item">
-                  <div>
-                    <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity3popFS0_FSST_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity3popFSST_"></a>
                     <a name="//apple_ref/swift/Method/pop(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity3popFS0_FSST_">pop(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity3popFSST_">pop(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1148,7 +1354,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">pop</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">)</span></code></pre>
 
@@ -1180,9 +1386,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity5shiftFS0_FSST_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity5shiftFSST_"></a>
                     <a name="//apple_ref/swift/Method/shift(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity5shiftFS0_FSST_">shift(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity5shiftFSST_">shift(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1195,7 +1401,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">shift</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">)</span></code></pre>
 
@@ -1227,20 +1433,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/CRUD%20Convenience%20Methods"></a>
-                  <a name="//apple_ref/swift/Section/CRUD Convenience Methods" class="dashAnchor"></a>
-                  <a href="#/CRUD%20Convenience%20Methods">
-                    <h3 class="section-name">CRUD Convenience Methods</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/CRUD%20Convenience%20Methods"></a>
+                <a name="//apple_ref/swift/Section/CRUD Convenience Methods" class="dashAnchor"></a>
+                <a href="#/CRUD%20Convenience%20Methods">
+                  <h3 class="section-name">CRUD Convenience Methods</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity6reloadFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity6reloadFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/reload(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6reloadFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_">reload(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6reloadFTGSqFT8responseCS_16UsergridResponse_T___T_">reload(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1248,12 +1454,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Performs a GET on the <code>UsergridEntity</code> using the shared instance of <code>UsergridClient</code>.</p>
+                        <p>Performs a GET on the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">reload</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1285,9 +1491,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity6reloadFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity6reloadFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/reload(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6reloadFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">reload(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6reloadFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">reload(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1295,12 +1501,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Performs a GET on the <code>UsergridEntity</code>.</p>
+                        <p>Performs a GET on the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">reload</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1345,9 +1551,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity4saveFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity4saveFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/save(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity4saveFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_">save(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity4saveFTGSqFT8responseCS_16UsergridResponse_T___T_">save(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1355,12 +1561,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Performs a PUT (or POST if no UUID is found) on the <code>UsergridEntity</code> using the shared instance of <code>UsergridClient</code>.</p>
+                        <p>Performs a PUT (or POST if no UUID is found) on the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">save</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1392,9 +1598,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity4saveFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity4saveFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/save(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity4saveFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">save(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity4saveFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">save(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1402,12 +1608,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Performs a PUT (or POST if no UUID is found) on the <code>UsergridEntity</code>.</p>
+                        <p>Performs a PUT (or POST if no UUID is found) on the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">save</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1452,9 +1658,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity6removeFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity6removeFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/remove(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6removeFS0_FTGSqFT8responseCS_16UsergridResponse_T___T_">remove(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6removeFTGSqFT8responseCS_16UsergridResponse_T___T_">remove(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1462,12 +1668,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Performs a DELETE on the <code>UsergridEntity</code> using the shared instance of the <code>UsergridClient</code>.</p>
+                        <p>Performs a DELETE on the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> using the shared instance of the <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">remove</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1499,9 +1705,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity6removeFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity6removeFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/remove(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6removeFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">remove(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity6removeFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">remove(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1509,12 +1715,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Performs a DELETE on the <code>UsergridEntity</code>.</p>
+                        <p>Performs a DELETE on the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">remove</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1559,20 +1765,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Asset%20Management"></a>
-                  <a name="//apple_ref/swift/Section/Asset Management" class="dashAnchor"></a>
-                  <a href="#/Asset%20Management">
-                    <h3 class="section-name">Asset Management</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Asset%20Management"></a>
+                <a name="//apple_ref/swift/Section/Asset Management" class="dashAnchor"></a>
+                <a href="#/Asset%20Management">
+                  <h3 class="section-name">Asset Management</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity11uploadAssetFS0_FTCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS1__5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity11uploadAssetFTCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqS1__8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/uploadAsset(_:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity11uploadAssetFS0_FTCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS1__5errorGSqSS__T___T_">uploadAsset(_:progress:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity11uploadAssetFTCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqS1__8responseCS_16UsergridResponse_T___T_">uploadAsset(_:progress:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1580,12 +1786,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Uploads the given <code>UsergridAsset</code> and the data within it and creates an association between this <code>UsergridEntity</code> with the given <code>UsergridAsset</code> using the shared instance of <code>UsergridClient</code>.</p>
+                        <p>Uploads the given <code><a href="../Classes/UsergridAsset.html">UsergridAsset</a></code> and the data within it and creates an association between this <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> with the given <code><a href="../Classes/UsergridAsset.html">UsergridAsset</a></code> using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">uploadAsset</span><span class="p">(</span><span class="k">as</span><span class="nv">set</span><span class="p">:</span><span class="kt">UsergridAsset</span><span class="p">,</span> <span class="nv">progress</span><span class="p">:</span><span class="kt">UsergridAssetRequestProgress</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridAssetUploadCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1643,9 +1849,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity11uploadAssetFS0_FTCS_14UsergridClient5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS3__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS2__5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity11uploadAssetFTCS_14UsergridClient5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS3__T__10completionGSqFT5assetGSqS2__8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/uploadAsset(_:asset:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity11uploadAssetFS0_FTCS_14UsergridClient5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS3__T__10completionGSqFT8responseCS_16UsergridResponse5assetGSqS2__5errorGSqSS__T___T_">uploadAsset(_:asset:progress:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity11uploadAssetFTCS_14UsergridClient5assetCS_13UsergridAsset8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS3__T__10completionGSqFT5assetGSqS2__8responseCS_16UsergridResponse_T___T_">uploadAsset(_:asset:progress:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1653,12 +1859,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Uploads the given <code>UsergridAsset</code> and the data within it and creates an association between this <code>UsergridEntity</code> with the given <code>UsergridAsset</code>.</p>
+                        <p>Uploads the given <code><a href="../Classes/UsergridAsset.html">UsergridAsset</a></code> and the data within it and creates an association between this <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> with the given <code><a href="../Classes/UsergridAsset.html">UsergridAsset</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">uploadAsset</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">,</span> <span class="k">as</span><span class="nv">set</span><span class="p">:</span><span class="kt">UsergridAsset</span><span class="p">,</span> <span class="nv">progress</span><span class="p">:</span><span class="kt">UsergridAssetRequestProgress</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridAssetUploadCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1729,9 +1935,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity13downloadAssetFS0_FTSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS1__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity13downloadAssetFTSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS1__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/downloadAsset(_:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity13downloadAssetFS0_FTSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS1__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_">downloadAsset(_:progress:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity13downloadAssetFTSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS1__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_">downloadAsset(_:progress:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1739,12 +1945,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Downloads the <code>UsergridAsset</code> that is associated with this <code>UsergridEntity</code> using the shared instance of <code>UsergridClient</code>.</p>
+                        <p>Downloads the <code><a href="../Classes/UsergridAsset.html">UsergridAsset</a></code> that is associated with this <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">downloadAsset</span><span class="p">(</span><span class="nv">contentType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">progress</span><span class="p">:</span><span class="kt">UsergridAssetRequestProgress</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridAssetDownloadCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1802,9 +2008,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity13downloadAssetFS0_FTCS_14UsergridClient11contentTypeSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity13downloadAssetFTCS_14UsergridClient11contentTypeSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/downloadAsset(_:contentType:progress:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity13downloadAssetFS0_FTCS_14UsergridClient11contentTypeSS8progressGSqFT13bytesFinishedVSs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqSS__T___T_">downloadAsset(_:contentType:progress:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity13downloadAssetFTCS_14UsergridClient11contentTypeSS8progressGSqFT13bytesFinishedVs5Int6413bytesExpectedS2__T__10completionGSqFT5assetGSqCS_13UsergridAsset_5errorGSqCS_21UsergridResponseError__T___T_">downloadAsset(_:contentType:progress:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1812,12 +2018,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Downloads the <code>UsergridAsset</code> that is associated with this <code>UsergridEntity</code>.</p>
+                        <p>Downloads the <code><a href="../Classes/UsergridAsset.html">UsergridAsset</a></code> that is associated with this <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">downloadAsset</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">contentType</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">progress</span><span class="p">:</span><span class="kt">UsergridAssetRequestProgress</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridAssetDownloadCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1888,20 +2094,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Connection%20Management"></a>
-                  <a name="//apple_ref/swift/Section/Connection Management" class="dashAnchor"></a>
-                  <a href="#/Connection%20Management">
-                    <h3 class="section-name">Connection Management</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Connection%20Management"></a>
+                <a name="//apple_ref/swift/Section/Connection Management" class="dashAnchor"></a>
+                <a href="#/Connection%20Management">
+                  <h3 class="section-name">Connection Management</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity7connectFS0_FTSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity7connectFTSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connect(_:toEntity:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity7connectFS0_FTSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:toEntity:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity7connectFTSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:toEntity:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1909,12 +2115,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Creates a relationship between this <code>UsergridEntity</code> and the given entity using the shared instance of <code>UsergridClient</code>.</p>
+                        <p>Creates a relationship between this <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> and the given entity using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">connect</span><span class="p">(</span><span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">toEntity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -1972,9 +2178,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity7connectFS0_FTCS_14UsergridClient12relationshipSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity7connectFTCS_14UsergridClient12relationshipSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/connect(_:relationship:toEntity:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity7connectFS0_FTCS_14UsergridClient12relationshipSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:relationship:toEntity:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity7connectFTCS_14UsergridClient12relationshipSS8toEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connect(_:relationship:toEntity:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1982,12 +2188,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Creates a relationship between this <code>UsergridEntity</code> and the given entity.</p>
+                        <p>Creates a relationship between this <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> and the given entity.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">connect</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">toEntity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2058,9 +2264,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity10disconnectFS0_FTSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity10disconnectFTSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnect(_:fromEntity:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity10disconnectFS0_FTSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:fromEntity:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity10disconnectFTSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:fromEntity:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2068,12 +2274,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Removes a relationship between this <code>UsergridEntity</code> and the given entity using the shared instance of <code>UsergridClient</code>.</p>
+                        <p>Removes a relationship between this <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> and the given entity using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">disconnect</span><span class="p">(</span><span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">fromEntity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2131,9 +2337,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity10disconnectFS0_FTCS_14UsergridClient12relationshipSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity10disconnectFTCS_14UsergridClient12relationshipSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/disconnect(_:relationship:fromEntity:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity10disconnectFS0_FTCS_14UsergridClient12relationshipSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:relationship:fromEntity:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity10disconnectFTCS_14UsergridClient12relationshipSS10fromEntityS0_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnect(_:relationship:fromEntity:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2141,12 +2347,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Removes a relationship between this <code>UsergridEntity</code> and the given entity.</p>
+                        <p>Removes a relationship between this <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> and the given entity.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">disconnect</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">fromEntity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -2217,9 +2423,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity14getConnectionsFS0_FTOS_17UsergridDirection12relationshipSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/getConnections(_:relationship:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity14getConnectionsFS0_FTOS_17UsergridDirection12relationshipSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:relationship:completion:)</a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity14getConnectionsFTOS_17UsergridDirection12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/getConnections(_:relationship:query:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity14getConnectionsFTOS_17UsergridDirection12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:relationship:query:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2227,14 +2433,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Gets the <code>UsergridEntity</code> objects, if any, which are connected via the relationship using the shared instance of <code>UsergridClient</code>.</p>
+                        <p>Gets the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects, if any, which are connected via the relationship using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -2271,6 +2477,19 @@
                             <tr>
                               <td>
                                 <code>
+                                <em>query</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional query.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
                                 <em>completion</em>
                                 </code>
                               </td>
@@ -2290,9 +2509,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK14UsergridEntity14getConnectionsFS0_FTCS_14UsergridClient9directionOS_17UsergridDirection12relationshipSS10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/getConnections(_:direction:relationship:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity14getConnectionsFS0_FTCS_14UsergridClient9directionOS_17UsergridDirection12relationshipSS10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:direction:relationship:completion:)</a>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity14getConnectionsFTCS_14UsergridClient9directionOS_17UsergridDirection12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/getConnections(_:direction:relationship:query:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity14getConnectionsFTCS_14UsergridClient9directionOS_17UsergridDirection12relationshipSS5queryGSqCS_13UsergridQuery_10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnections(_:direction:relationship:query:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -2300,14 +2519,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Gets the <code>UsergridEntity</code> objects, if any, which are connected via the relationship.</p>
+                        <p>Gets the <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects, if any, which are connected via the relationship.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnections</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">direction</span><span class="p">:</span><span class="kt">UsergridDirection</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -2357,6 +2576,19 @@
                             <tr>
                               <td>
                                 <code>
+                                <em>query</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional query.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
                                 <em>completion</em>
                                 </code>
                               </td>
@@ -2375,11 +2607,74 @@
                 </li>
               </ul>
             </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Helper%20methods"></a>
+                <a name="//apple_ref/swift/Section/Helper methods" class="dashAnchor"></a>
+                <a href="#/Helper%20methods">
+                  <h3 class="section-name">Helper methods</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK14UsergridEntity15isEqualToEntityFGSqS0__Sb"></a>
+                    <a name="//apple_ref/swift/Method/isEqualToEntity(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK14UsergridEntity15isEqualToEntityFGSqS0__Sb">isEqualToEntity(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Determines if the two <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects are equal.  i.e. they have the same non nil uuidOrName.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">isEqualToEntity</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span> <span class="kt">UsergridEntity</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>entity</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The entity to check.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>If the two <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects are equal.  i.e. they have the same non nil uuidOrName.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridFileMetaData.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridFileMetaData.html
index 840b241..1cc8ccf 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridFileMetaData.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridFileMetaData.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Class/UsergridFileMetaData" class="dashAnchor"></a>
     <a title="UsergridFileMetaData Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,23 +164,23 @@
           <section class="section">
             <h1>UsergridFileMetaData</h1>
               <div class="declaration">
-                <div class="Swift">
-                  <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridFileMetaData</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+                <div class="language">
+                  <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridFileMetaData</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span><span class="kt">NSCoding</span></code></pre>
 
                 </div>
               </div>
-            <p><code>UsergridFileMetaData</code> is a helper class for dealing with reading <code>UsergridEntity</code> file meta data.</p>
+            <p><code>UsergridFileMetaData</code> is a helper class for dealing with reading <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> file meta data.</p>
 
           </section>
           <section class="section task-group-section">
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Instance%20Properties"></a>
-                  <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
-                  <a href="#/Instance%20Properties">
-                    <h3 class="section-name">Instance Properties</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Instance%20Properties"></a>
+                <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
+                <a href="#/Instance%20Properties">
+                  <h3 class="section-name">Instance Properties</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
@@ -165,7 +200,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">eTag</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
 
@@ -192,7 +227,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">checkSum</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
 
@@ -219,7 +254,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">contentType</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
 
@@ -246,7 +281,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">contentLength</span><span class="p">:</span> <span class="kt">Int</span></code></pre>
 
@@ -273,7 +308,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">lastModifiedTimeStamp</span><span class="p">:</span> <span class="kt">Int</span></code></pre>
 
@@ -295,12 +330,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>NSDate</code> object corresponding to the last modified time stamp.</p>
+                        <p>The <code><a href="../Extensions/NSDate.html">NSDate</a></code> object corresponding to the last modified time stamp.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">lastModifiedDate</span><span class="p">:</span> <span class="kt">NSDate</span><span class="p">?</span></code></pre>
 
@@ -312,20 +347,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Initialization"></a>
-                  <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
-                  <a href="#/Initialization">
-                    <h3 class="section-name">Initialization</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK20UsergridFileMetaDatacFMS0_FT16fileMetaDataJSONGVSs10DictionarySSPSs9AnyObject___S0_"></a>
+                    <a name="/s:FC11UsergridSDK20UsergridFileMetaDatacFT16fileMetaDataJSONGVs10DictionarySSPs9AnyObject___S0_"></a>
                     <a name="//apple_ref/swift/Method/init(fileMetaDataJSON:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK20UsergridFileMetaDatacFMS0_FT16fileMetaDataJSONGVSs10DictionarySSPSs9AnyObject___S0_">init(fileMetaDataJSON:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridFileMetaDatacFT16fileMetaDataJSONGVs10DictionarySSPs9AnyObject___S0_">init(fileMetaDataJSON:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -333,12 +368,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Designated initializer for <code>UsergridFileMetaData</code> objects.</p>
+                        <p>Designated initializer for <code><a href="../Classes/UsergridFileMetaData.html">UsergridFileMetaData</a></code> objects.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">fileMetaDataJSON</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">])</span></code></pre>
 
@@ -366,7 +401,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A new instance of <code>UsergridFileMetaData</code>.</p>
+                        <p>A new instance of <code><a href="../Classes/UsergridFileMetaData.html">UsergridFileMetaData</a></code>.</p>
 
                       </div>
                     </section>
@@ -374,11 +409,121 @@
                 </li>
               </ul>
             </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/NSCoding"></a>
+                <a name="//apple_ref/swift/Section/NSCoding" class="dashAnchor"></a>
+                <a href="#/NSCoding">
+                  <h3 class="section-name">NSCoding</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK20UsergridFileMetaDatacFT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridFileMetaDatacFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>NSCoding protocol initializer.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">required</span> <span class="kd">public</span> <span class="nf">init</span><span class="p">?(</span><span class="n">coder</span> <span class="nv">aDecoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aDecoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The decoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A decoded <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> object.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK20UsergridFileMetaData15encodeWithCoderFCSo7NSCoderT_"></a>
+                    <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK20UsergridFileMetaData15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>NSCoding protocol encoder.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">encodeWithCoder</span><span class="p">(</span><span class="nv">aCoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aCoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The encoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridQuery.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridQuery.html
index b97ba76..5b8d3e5 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridQuery.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridQuery.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Class/UsergridQuery" class="dashAnchor"></a>
     <a title="UsergridQuery Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,32 +164,32 @@
           <section class="section">
             <h1>UsergridQuery</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridQuery</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span><span class="kt">NSCopying</span></code></pre>
 
                 </div>
               </div>
             <p><code>UsergridQuery</code> is builder class used to construct filtered requests to Usergrid.</p>
 
-<p><code>UsergridQuery</code> objects are then passed to <code>UsergridClient</code> or <code>Usergrid</code> methods which support <code>UsergridQuery</code> as a parameter are .GET(), .PUT(), and .DELETE().</p>
+<p><code>UsergridQuery</code> objects are then passed to <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code> or <code><a href="../Classes/Usergrid.html">Usergrid</a></code> methods which support <code>UsergridQuery</code> as a parameter are .GET(), .PUT(), and .DELETE().</p>
 
           </section>
           <section class="section task-group-section">
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Initialization"></a>
-                  <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
-                  <a href="#/Initialization">
-                    <h3 class="section-name">Initialization</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuerycFMS0_FTGSqSS__S0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuerycFTGSqSS__S0_"></a>
                     <a name="//apple_ref/swift/Method/init(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuerycFMS0_FTGSqSS__S0_">init(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuerycFTGSqSS__S0_">init(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -162,12 +197,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Desingated initializer for <code>UsergridQuery</code> objects.</p>
+                        <p>Desingated initializer for <code><a href="../Classes/UsergridQuery.html">UsergridQuery</a></code> objects.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n">_</span> <span class="nv">collectionName</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -195,7 +230,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A new instance of <code>UsergridQuery</code>.</p>
+                        <p>A new instance of <code><a href="../Classes/UsergridQuery.html">UsergridQuery</a></code>.</p>
 
                       </div>
                     </section>
@@ -204,20 +239,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/NSCopying"></a>
-                  <a name="//apple_ref/swift/Section/NSCopying" class="dashAnchor"></a>
-                  <a href="#/NSCopying">
-                    <h3 class="section-name">NSCopying</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/NSCopying"></a>
+                <a name="//apple_ref/swift/Section/NSCopying" class="dashAnchor"></a>
+                <a href="#/NSCopying">
+                  <h3 class="section-name">NSCopying</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery12copyWithZoneFS0_FV10ObjectiveC6NSZonePSs9AnyObject_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery12copyWithZoneFV10ObjectiveC6NSZonePs9AnyObject_"></a>
                     <a name="//apple_ref/swift/Method/copyWithZone(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery12copyWithZoneFS0_FV10ObjectiveC6NSZonePSs9AnyObject_">copyWithZone(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery12copyWithZoneFV10ObjectiveC6NSZonePs9AnyObject_">copyWithZone(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -230,7 +265,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">copyWithZone</span><span class="p">(</span><span class="nv">zone</span><span class="p">:</span> <span class="kt">NSZone</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">AnyObject</span></code></pre>
 
@@ -267,20 +302,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Building"></a>
-                  <a name="//apple_ref/swift/Section/Building" class="dashAnchor"></a>
-                  <a href="#/Building">
-                    <h3 class="section-name">Building</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Building"></a>
+                <a name="//apple_ref/swift/Section/Building" class="dashAnchor"></a>
+                <a href="#/Building">
+                  <h3 class="section-name">Building</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery5buildFS0_FTSb_SS"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery5buildFTSb_SS"></a>
                     <a name="//apple_ref/swift/Method/build(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery5buildFS0_FTSb_SS">build(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery5buildFTSb_SS">build(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -293,7 +328,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">build</span><span class="p">(</span><span class="nv">autoURLEncode</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">true</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">String</span></code></pre>
 
@@ -330,20 +365,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Builder%20Methods"></a>
-                  <a name="//apple_ref/swift/Section/Builder Methods" class="dashAnchor"></a>
-                  <a href="#/Builder%20Methods">
-                    <h3 class="section-name">Builder Methods</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Builder%20Methods"></a>
+                <a name="//apple_ref/swift/Section/Builder Methods" class="dashAnchor"></a>
+                <a href="#/Builder%20Methods">
+                  <h3 class="section-name">Builder Methods</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery14containsStringFS0_FTSS5valueSS_DS0_"></a>
-                    <a name="//apple_ref/swift/Method/containsString(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery14containsStringFS0_FTSS5valueSS_DS0_">containsString(_:value:)</a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery8containsFTSS5valueSS_DS0_"></a>
+                    <a name="//apple_ref/swift/Method/contains(_:value:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery8containsFTSS5valueSS_DS0_">contains(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -356,7 +391,72 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">contains</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">containsWord</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">value</span><span class="p">)</span> <span class="p">}</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>term</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The term.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>value</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The value.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p><code>Self</code></p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery14containsStringFTSS5valueSS_DS0_"></a>
+                    <a name="//apple_ref/swift/Method/containsString(_:value:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery14containsStringFTSS5valueSS_DS0_">containsString(_:value:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Contains. Query: where term contains &lsquo;val%&rsquo;.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">containsString</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">containsWord</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">value</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
@@ -406,9 +506,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery12containsWordFS0_FTSS5valueSS_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery12containsWordFTSS5valueSS_DS0_"></a>
                     <a name="//apple_ref/swift/Method/containsWord(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery12containsWordFS0_FTSS5valueSS_DS0_">containsWord(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery12containsWordFTSS5valueSS_DS0_">containsWord(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -421,9 +521,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">containsWord</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">addRequirement</span><span class="p">(</span><span class="n">term</span> <span class="o">+</span> <span class="kt">UsergridQuery</span><span class="o">.</span><span class="kt">SPACE</span> <span class="o">+</span> <span class="kt">UsergridQuery</span><span class="o">.</span><span class="kt">CONTAINS</span> <span class="o">+</span> <span class="kt">UsergridQuery</span><span class="o">.</span><span class="kt">SPACE</span> <span class="o">+</span> <span class="kt">UsergridQuery</span><span class="o">.</span><span class="kt">APOSTROPHE</span> <span class="o">+</span> <span class="n">value</span> <span class="o">+</span> <span class="kt">UsergridQuery</span><span class="o">.</span><span class="kt">APOSTROPHE</span><span class="p">)</span> <span class="p">}</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">containsWord</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">addRequirement</span><span class="p">(</span><span class="n">term</span> <span class="o">+</span> <span class="kt">UsergridQuery</span><span class="o">.</span><span class="kt">SPACE</span> <span class="o">+</span> <span class="kt">UsergridQuery</span><span class="o">.</span><span class="kt">CONTAINS</span> <span class="o">+</span> <span class="kt">UsergridQuery</span><span class="o">.</span><span class="kt">SPACE</span> <span class="o">+</span> <span class="p">((</span><span class="n">value</span><span class="o">.</span><span class="nf">isUuid</span><span class="p">())</span> <span class="p">?</span> <span class="kt">UsergridQuery</span><span class="o">.</span><span class="kt">EMPTY_STRING</span> <span class="p">:</span> <span class="kt">UsergridQuery</span><span class="o">.</span><span class="kt">APOSTROPHE</span><span class="p">)</span> <span class="o">+</span> <span class="n">value</span> <span class="o">+</span> <span class="p">((</span><span class="n">value</span><span class="o">.</span><span class="nf">isUuid</span><span class="p">())</span> <span class="p">?</span> <span class="kt">UsergridQuery</span><span class="o">.</span><span class="kt">EMPTY_STRING</span> <span class="p">:</span> <span class="kt">UsergridQuery</span><span class="o">.</span><span class="kt">APOSTROPHE</span><span class="p">))</span> <span class="p">}</span></code></pre>
 
                         </div>
                       </div>
@@ -471,9 +571,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery9ascendingFS0_FSSDS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery9ascendingFSSDS0_"></a>
                     <a name="//apple_ref/swift/Method/ascending(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery9ascendingFS0_FSSDS0_">ascending(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery9ascendingFSSDS0_">ascending(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -486,7 +586,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">ascending</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">asc</span><span class="p">(</span><span class="n">term</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
@@ -523,9 +623,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery3ascFS0_FSSDS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery3ascFSSDS0_"></a>
                     <a name="//apple_ref/swift/Method/asc(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3ascFS0_FSSDS0_">asc(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3ascFSSDS0_">asc(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -538,9 +638,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">asc</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">sort</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">sortOrder</span><span class="p">:</span> <span class="kt">UsergridQuerySortOrder</span><span class="o">.</span><span class="kt">Asc</span><span class="p">)</span> <span class="p">}</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">asc</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">sort</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">sortOrder</span><span class="p">:</span> <span class="o">.</span><span class="kt">Asc</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
                         </div>
                       </div>
@@ -575,9 +675,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery10descendingFS0_FSSDS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery10descendingFSSDS0_"></a>
                     <a name="//apple_ref/swift/Method/descending(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery10descendingFS0_FSSDS0_">descending(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery10descendingFSSDS0_">descending(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -590,7 +690,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">descending</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">desc</span><span class="p">(</span><span class="n">term</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
@@ -627,9 +727,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery4descFS0_FSSDS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery4descFSSDS0_"></a>
                     <a name="//apple_ref/swift/Method/desc(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery4descFS0_FSSDS0_">desc(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery4descFSSDS0_">desc(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -642,9 +742,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">desc</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">sort</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">sortOrder</span><span class="p">:</span> <span class="kt">UsergridQuerySortOrder</span><span class="o">.</span><span class="kt">Desc</span><span class="p">)</span> <span class="p">}</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">desc</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">sort</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">sortOrder</span><span class="p">:</span> <span class="o">.</span><span class="kt">Desc</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
                         </div>
                       </div>
@@ -679,9 +779,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery6filterFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery6filterFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/filter(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery6filterFS0_FTSS5valuePSs9AnyObject__DS0_">filter(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery6filterFTSS5valuePs9AnyObject__DS0_">filter(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -694,7 +794,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">filter</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">AnyObject</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">value</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
@@ -744,9 +844,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery6equalsFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery6equalsFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/equals(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery6equalsFS0_FTSS5valuePSs9AnyObject__DS0_">equals(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery6equalsFTSS5valuePs9AnyObject__DS0_">equals(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -759,7 +859,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">equals</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">AnyObject</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">value</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
@@ -809,9 +909,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery2eqFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery2eqFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/eq(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2eqFS0_FTSS5valuePSs9AnyObject__DS0_">eq(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2eqFTSS5valuePs9AnyObject__DS0_">eq(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -824,7 +924,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">eq</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">AnyObject</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">addOperationRequirement</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">operation</span><span class="p">:</span><span class="o">.</span><span class="kt">Equal</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">value</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
@@ -874,9 +974,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery11greaterThanFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery11greaterThanFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/greaterThan(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery11greaterThanFS0_FTSS5valuePSs9AnyObject__DS0_">greaterThan(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery11greaterThanFTSS5valuePs9AnyObject__DS0_">greaterThan(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -889,7 +989,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">greaterThan</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">AnyObject</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">gt</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">value</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
@@ -939,9 +1039,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery2gtFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery2gtFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/gt(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2gtFS0_FTSS5valuePSs9AnyObject__DS0_">gt(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2gtFTSS5valuePs9AnyObject__DS0_">gt(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -954,7 +1054,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">gt</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">AnyObject</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">addOperationRequirement</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">operation</span><span class="p">:</span><span class="o">.</span><span class="kt">GreaterThan</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">value</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
@@ -1004,9 +1104,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery18greaterThanOrEqualFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery18greaterThanOrEqualFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/greaterThanOrEqual(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery18greaterThanOrEqualFS0_FTSS5valuePSs9AnyObject__DS0_">greaterThanOrEqual(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery18greaterThanOrEqualFTSS5valuePs9AnyObject__DS0_">greaterThanOrEqual(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1019,7 +1119,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">greaterThanOrEqual</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">AnyObject</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">gte</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">value</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
@@ -1069,9 +1169,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery3gteFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery3gteFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/gte(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3gteFS0_FTSS5valuePSs9AnyObject__DS0_">gte(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3gteFTSS5valuePs9AnyObject__DS0_">gte(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1084,7 +1184,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">gte</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">AnyObject</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">addOperationRequirement</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">operation</span><span class="p">:</span><span class="o">.</span><span class="kt">GreaterThanEqualTo</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">value</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
@@ -1134,9 +1234,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery8lessThanFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery8lessThanFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/lessThan(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery8lessThanFS0_FTSS5valuePSs9AnyObject__DS0_">lessThan(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery8lessThanFTSS5valuePs9AnyObject__DS0_">lessThan(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1149,7 +1249,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">lessThan</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">AnyObject</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">lt</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">value</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
@@ -1199,9 +1299,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery2ltFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery2ltFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/lt(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2ltFS0_FTSS5valuePSs9AnyObject__DS0_">lt(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2ltFTSS5valuePs9AnyObject__DS0_">lt(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1214,7 +1314,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">lt</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">AnyObject</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">addOperationRequirement</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">operation</span><span class="p">:</span><span class="o">.</span><span class="kt">LessThan</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">value</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
@@ -1264,9 +1364,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery15lessThanOrEqualFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery15lessThanOrEqualFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/lessThanOrEqual(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery15lessThanOrEqualFS0_FTSS5valuePSs9AnyObject__DS0_">lessThanOrEqual(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery15lessThanOrEqualFTSS5valuePs9AnyObject__DS0_">lessThanOrEqual(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1279,7 +1379,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">lessThanOrEqual</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">AnyObject</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">lte</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">value</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
@@ -1329,9 +1429,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery3lteFS0_FTSS5valuePSs9AnyObject__DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery3lteFTSS5valuePs9AnyObject__DS0_"></a>
                     <a name="//apple_ref/swift/Method/lte(_:value:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3lteFS0_FTSS5valuePSs9AnyObject__DS0_">lte(_:value:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3lteFTSS5valuePs9AnyObject__DS0_">lte(_:value:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1344,7 +1444,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">lte</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">AnyObject</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="nf">addOperationRequirement</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="nv">operation</span><span class="p">:</span><span class="o">.</span><span class="kt">LessThanEqualTo</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="n">value</span><span class="p">)</span> <span class="p">}</span></code></pre>
 
@@ -1394,9 +1494,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery14withinLocationFS0_FTSf8latitudeSf9longitudeSf_DS0_"></a>
-                    <a name="//apple_ref/swift/Method/withinLocation(_:latitude:longitude:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery14withinLocationFS0_FTSf8latitudeSf9longitudeSf_DS0_">withinLocation(_:latitude:longitude:)</a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery14locationWithinFTSf8latitudeSf9longitudeSf_DS0_"></a>
+                    <a name="//apple_ref/swift/Method/locationWithin(_:latitude:longitude:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery14locationWithinFTSf8latitudeSf9longitudeSf_DS0_">locationWithin(_:latitude:longitude:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1409,9 +1509,9 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">withinLocation</span><span class="p">(</span><span class="nv">distance</span><span class="p">:</span> <span class="kt">Float</span><span class="p">,</span> <span class="nv">latitude</span><span class="p">:</span> <span class="kt">Float</span><span class="p">,</span> <span class="nv">longitude</span><span class="p">:</span> <span class="kt">Float</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">locationWithin</span><span class="p">(</span><span class="nv">distance</span><span class="p">:</span> <span class="kt">Float</span><span class="p">,</span> <span class="nv">latitude</span><span class="p">:</span> <span class="kt">Float</span><span class="p">,</span> <span class="nv">longitude</span><span class="p">:</span> <span class="kt">Float</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
 
                         </div>
                       </div>
@@ -1472,9 +1572,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery2orFS0_FT_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery2orFT_DS0_"></a>
                     <a name="//apple_ref/swift/Method/or()" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2orFS0_FT_DS0_">or()</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2orFT_DS0_">or()</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1482,12 +1582,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Joining operation to combine conditional queries.</p>
+                        <p>Or operation for conditional queries.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">or</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
 
@@ -1504,9 +1604,73 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery4sortFS0_FTSS9sortOrderOS_22UsergridQuerySortOrder_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery3andFT_DS0_"></a>
+                    <a name="//apple_ref/swift/Method/and()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3andFT_DS0_">and()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>And operation for conditional queries.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">and</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p><code>Self</code></p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery3notFT_DS0_"></a>
+                    <a name="//apple_ref/swift/Method/not()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery3notFT_DS0_">not()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Not operation for conditional queries.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">not</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p><code>Self</code></p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery4sortFTSS9sortOrderOS_22UsergridQuerySortOrder_DS0_"></a>
                     <a name="//apple_ref/swift/Method/sort(_:sortOrder:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery4sortFS0_FTSS9sortOrderOS_22UsergridQuerySortOrder_DS0_">sort(_:sortOrder:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery4sortFTSS9sortOrderOS_22UsergridQuerySortOrder_DS0_">sort(_:sortOrder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1519,7 +1683,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">sort</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">sortOrder</span><span class="p">:</span> <span class="kt">UsergridQuerySortOrder</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
 
@@ -1569,9 +1733,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery10collectionFS0_FSSDS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery10collectionFSSDS0_"></a>
                     <a name="//apple_ref/swift/Method/collection(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery10collectionFS0_FSSDS0_">collection(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery10collectionFSSDS0_">collection(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1584,7 +1748,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">collection</span><span class="p">(</span><span class="nv">collectionName</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
 
@@ -1621,9 +1785,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery5limitFS0_FSiDS0_"></a>
-                    <a name="//apple_ref/swift/Method/limit(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery5limitFS0_FSiDS0_">limit(_:)</a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery4typeFSSDS0_"></a>
+                    <a name="//apple_ref/swift/Method/type(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery4typeFSSDS0_">type(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1631,12 +1795,64 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Sets the limit on the query.</p>
+                        <p>Sets the collection name.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">type</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>type</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The new collection name.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p><code>Self</code></p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery5limitFSiDS0_"></a>
+                    <a name="//apple_ref/swift/Method/limit(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery5limitFSiDS0_">limit(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Sets the limit on the query.  Default limit is 10.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">limit</span><span class="p">(</span><span class="nv">limit</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
 
@@ -1673,9 +1889,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery2qlFS0_FSSDS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery2qlFSSDS0_"></a>
                     <a name="//apple_ref/swift/Method/ql(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2qlFS0_FSSDS0_">ql(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery2qlFSSDS0_">ql(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1688,7 +1904,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">ql</span><span class="p">(</span><span class="nv">value</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
 
@@ -1725,9 +1941,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery6cursorFS0_FGSqSS_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery6cursorFGSqSS_DS0_"></a>
                     <a name="//apple_ref/swift/Method/cursor(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery6cursorFS0_FGSqSS_DS0_">cursor(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery6cursorFGSqSS_DS0_">cursor(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1740,7 +1956,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">cursor</span><span class="p">(</span><span class="nv">value</span><span class="p">:</span> <span class="kt">String</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
 
@@ -1777,9 +1993,61 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery7urlTermFS0_FTSS11equalsValueSS_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery10fromStringFGSqSS_DS0_"></a>
+                    <a name="//apple_ref/swift/Method/fromString(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery10fromStringFGSqSS_DS0_">fromString(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>A special builder property that allows you to input a pre-defined query string. All builder properties will be ignored when this property is defined.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">fromString</span><span class="p">(</span><span class="nv">value</span><span class="p">:</span> <span class="kt">String</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>value</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The pre-defined query string.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p><code>Self</code></p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery7urlTermFTSS11equalsValueSS_DS0_"></a>
                     <a name="//apple_ref/swift/Method/urlTerm(_:equalsValue:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery7urlTermFS0_FTSS11equalsValueSS_DS0_">urlTerm(_:equalsValue:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery7urlTermFTSS11equalsValueSS_DS0_">urlTerm(_:equalsValue:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1792,7 +2060,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">urlTerm</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">equalsValue</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
 
@@ -1842,9 +2110,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFS0_FTSS9operationOS_21UsergridQueryOperator11stringValueSS_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFTSS9operationOS_21UsergridQueryOperator11stringValueSS_DS0_"></a>
                     <a name="//apple_ref/swift/Method/addOperationRequirement(_:operation:stringValue:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFS0_FTSS9operationOS_21UsergridQueryOperator11stringValueSS_DS0_">addOperationRequirement(_:operation:stringValue:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFTSS9operationOS_21UsergridQueryOperator11stringValueSS_DS0_">addOperationRequirement(_:operation:stringValue:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1857,7 +2125,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">addOperationRequirement</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">operation</span><span class="p">:</span> <span class="kt">UsergridQueryOperator</span><span class="p">,</span> <span class="nv">stringValue</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
 
@@ -1920,9 +2188,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFS0_FTSS9operationOS_21UsergridQueryOperator8intValueSi_DS0_"></a>
+                    <a name="/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFTSS9operationOS_21UsergridQueryOperator8intValueSi_DS0_"></a>
                     <a name="//apple_ref/swift/Method/addOperationRequirement(_:operation:intValue:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFS0_FTSS9operationOS_21UsergridQueryOperator8intValueSi_DS0_">addOperationRequirement(_:operation:intValue:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK13UsergridQuery23addOperationRequirementFTSS9operationOS_21UsergridQueryOperator8intValueSi_DS0_">addOperationRequirement(_:operation:intValue:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -1935,7 +2203,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">addOperationRequirement</span><span class="p">(</span><span class="nv">term</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">operation</span><span class="p">:</span> <span class="kt">UsergridQueryOperator</span><span class="p">,</span> <span class="nv">intValue</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="k">Self</span></code></pre>
 
@@ -2000,8 +2268,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridRequest.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridRequest.html
new file mode 100644
index 0000000..0405ff5
--- /dev/null
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridRequest.html
@@ -0,0 +1,619 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>UsergridRequest Class Reference</title>
+    <link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
+    <link rel="stylesheet" type="text/css" href="../css/highlight.css" />
+    <meta charset='utf-8'>
+    <script src="../js/jquery.min.js" defer></script>
+    <script src="../js/jazzy.js" defer></script>
+    
+  </head>
+  <body>
+    <a name="//apple_ref/swift/Class/UsergridRequest" class="dashAnchor"></a>
+    <a title="UsergridRequest Class Reference"></a>
+    <header>
+      <div class="content-wrapper">
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
+      </div>
+    </header>
+    <div class="content-wrapper">
+      <p id="breadcrumbs">
+        <a href="../index.html"> Reference</a>
+        <img id="carat" src="../img/carat.png" />
+        UsergridRequest Class Reference
+      </p>
+    </div>
+    <div class="content-wrapper">
+      <nav class="sidebar">
+        <ul class="nav-groups">
+          <li class="nav-group-name">
+            <a href="../Classes.html">Classes</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Classes/Usergrid.html">Usergrid</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClient.html">UsergridClient</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClientConfig.html">UsergridClientConfig</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridDevice.html">UsergridDevice</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridEntity.html">UsergridEntity</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridFileMetaData.html">UsergridFileMetaData</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUser.html">UsergridUser</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Global Variables.html">Global Variables</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDirection.html">UsergridDirection</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQueryOperator.html">UsergridQueryOperator</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQuerySortOrder.html">UsergridQuerySortOrder</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridUserProperties.html">UsergridUserProperties</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridAssetDownloadCompletion">UsergridAssetDownloadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK28UsergridAssetRequestProgress">UsergridAssetRequestProgress</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK29UsergridAssetUploadCompletion">UsergridAssetUploadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK26UsergridResponseCompletion">UsergridResponseCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
+            </ul>
+          </li>
+        </ul>
+      </nav>
+      <article class="main-content">
+        <section>
+          <section class="section">
+            <h1>UsergridRequest</h1>
+              <div class="declaration">
+                <div class="language">
+                  <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridRequest</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+
+                </div>
+              </div>
+            <p>The UsergridRequest class incapsulates the properties that all requests made by the SDK have in common.  </p>
+
+<p>This class is also functions to create <code>NSURLRequest</code> objects based on the properties of the class.</p>
+
+          </section>
+          <section class="section task-group-section">
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Instance%20Properties"></a>
+                <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
+                <a href="#/Instance%20Properties">
+                  <h3 class="section-name">Instance Properties</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK15UsergridRequest6methodOS_18UsergridHttpMethod"></a>
+                    <a name="//apple_ref/swift/Property/method" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK15UsergridRequest6methodOS_18UsergridHttpMethod">method</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The HTTP method.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">method</span><span class="p">:</span> <span class="kt">UsergridHttpMethod</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK15UsergridRequest7baseUrlSS"></a>
+                    <a name="//apple_ref/swift/Property/baseUrl" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK15UsergridRequest7baseUrlSS">baseUrl</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The base URL.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">baseUrl</span><span class="p">:</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK15UsergridRequest5pathsGSqGSaSS__"></a>
+                    <a name="//apple_ref/swift/Property/paths" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK15UsergridRequest5pathsGSqGSaSS__">paths</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The paths to append to the base URL.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">paths</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">]?</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK15UsergridRequest5queryGSqCS_13UsergridQuery_"></a>
+                    <a name="//apple_ref/swift/Property/query" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK15UsergridRequest5queryGSqCS_13UsergridQuery_">query</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The query to append to the URL.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">query</span><span class="p">:</span> <span class="kt">UsergridQuery</span><span class="p">?</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK15UsergridRequest4authGSqCS_12UsergridAuth_"></a>
+                    <a name="//apple_ref/swift/Property/auth" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK15UsergridRequest4authGSqCS_12UsergridAuth_">auth</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The auth that will be used.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">auth</span><span class="p">:</span> <span class="kt">UsergridAuth</span><span class="p">?</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK15UsergridRequest7headersGSqGVs10DictionarySSSS__"></a>
+                    <a name="//apple_ref/swift/Property/headers" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK15UsergridRequest7headersGSqGVs10DictionarySSSS__">headers</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The headers to add to the request.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">headers</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">:</span><span class="kt">String</span><span class="p">]?</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK15UsergridRequest8jsonBodyGSqPs9AnyObject__"></a>
+                    <a name="//apple_ref/swift/Property/jsonBody" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK15UsergridRequest8jsonBodyGSqPs9AnyObject__">jsonBody</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The JSON body that will be set on the request.  Can be either a valid JSON object or NSData.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">jsonBody</span><span class="p">:</span> <span class="kt">AnyObject</span><span class="p">?</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK15UsergridRequest11queryParamsGSqGVs10DictionarySSSS__"></a>
+                    <a name="//apple_ref/swift/Property/queryParams" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK15UsergridRequest11queryParamsGSqGVs10DictionarySSSS__">queryParams</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The query params that will be set on the request.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">queryParams</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">:</span><span class="kt">String</span><span class="p">]?</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK15UsergridRequestcFT6methodOS_18UsergridHttpMethod7baseUrlSS5pathsGSqGSaSS__5queryGSqCS_13UsergridQuery_4authGSqCS_12UsergridAuth_7headersGSqGVs10DictionarySSSS__8jsonBodyGSqPs9AnyObject__11queryParamsGSqGS4_SSSS___S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(method:baseUrl:paths:query:auth:headers:jsonBody:queryParams:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK15UsergridRequestcFT6methodOS_18UsergridHttpMethod7baseUrlSS5pathsGSqGSaSS__5queryGSqCS_13UsergridQuery_4authGSqCS_12UsergridAuth_7headersGSqGVs10DictionarySSSS__8jsonBodyGSqPs9AnyObject__11queryParamsGSqGS4_SSSS___S0_">init(method:baseUrl:paths:query:auth:headers:jsonBody:queryParams:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The designated initializer for <code><a href="../Classes/UsergridRequest.html">UsergridRequest</a></code> objects.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">method</span><span class="p">:</span><span class="kt">UsergridHttpMethod</span><span class="p">,</span>
+        <span class="nv">baseUrl</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span>
+        <span class="nv">paths</span><span class="p">:[</span><span class="kt">String</span><span class="p">]?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
+        <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
+        <span class="nv">auth</span><span class="p">:</span><span class="kt">UsergridAuth</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
+        <span class="nv">headers</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">String</span><span class="p">]?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
+        <span class="nv">jsonBody</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
+        <span class="nv">queryParams</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">String</span><span class="p">]?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>method</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The HTTP method.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>baseUrl</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The base URL.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>paths</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional paths to append to the base URL.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>query</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional query to append to the URL.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>auth</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional <code>UsergridAuth</code> that will be used in the Authorization header.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>headers</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional headers.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>jsonBody</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional JSON body. Can be either a valid JSON object or NSData.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>queryParams</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional query params to be appended to the request url.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A new instance of <code><a href="../Classes/UsergridRequest.html">UsergridRequest</a></code>.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Instance%20Methods"></a>
+                <a name="//apple_ref/swift/Section/Instance Methods" class="dashAnchor"></a>
+                <a href="#/Instance%20Methods">
+                  <h3 class="section-name">Instance Methods</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK15UsergridRequest17buildNSURLRequestFT_CSo12NSURLRequest"></a>
+                    <a name="//apple_ref/swift/Method/buildNSURLRequest()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK15UsergridRequest17buildNSURLRequestFT_CSo12NSURLRequest">buildNSURLRequest()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Constructs a <code>NSURLRequest</code> object with this objects instance properties.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">buildNSURLRequest</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">NSURLRequest</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>An initialized and configured <code>NSURLRequest</code> object.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+          </section>
+        </section>
+        <section id="footer">
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+        </section>
+      </article>
+    </div>
+  </body>
+</div>
+</html>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridResponse.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridResponse.html
index afc0714..6ff0433 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridResponse.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridResponse.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Class/UsergridResponse" class="dashAnchor"></a>
     <a title="UsergridResponse Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,27 +164,27 @@
           <section class="section">
             <h1>UsergridResponse</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridResponse</span><span class="p">:</span> <span class="kt">NSObject</span></code></pre>
 
                 </div>
               </div>
             <p><code>UsergridResponse</code> is the core class that handles both successful and unsuccessful HTTP responses from Usergrid. </p>
 
-<p>If a request is successful, any entities returned in the response will be automatically parsed into <code>UsergridEntity</code> objects and pushed to the <code>entities</code> property.</p>
+<p>If a request is successful, any entities returned in the response will be automatically parsed into <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects and pushed to the <code>entities</code> property.</p>
 
-<p>If a request fails, the <code>errorName</code> and <code>errorDescription</code> will contain information about the problem encountered.</p>
+<p>If a request fails, the <code>UsergridResponseError.error</code> property will contain information about the problem encountered.</p>
 
           </section>
           <section class="section task-group-section">
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Instance%20Properties"></a>
-                  <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
-                  <a href="#/Instance%20Properties">
-                    <h3 class="section-name">Instance Properties</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Instance%20Properties"></a>
+                <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
+                <a href="#/Instance%20Properties">
+                  <h3 class="section-name">Instance Properties</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
@@ -169,7 +204,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">weak</span> <span class="k">var</span> <span class="nv">client</span><span class="p">:</span> <span class="kt">UsergridClient</span><span class="p">?</span></code></pre>
 
@@ -181,9 +216,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK16UsergridResponse12responseJSONGSqGVSs10DictionarySSPSs9AnyObject___"></a>
+                    <a name="/s:vC11UsergridSDK16UsergridResponse12responseJSONGSqGVs10DictionarySSPs9AnyObject___"></a>
                     <a name="//apple_ref/swift/Property/responseJSON" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse12responseJSONGSqGVSs10DictionarySSPSs9AnyObject___">responseJSON</a>
+                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse12responseJSONGSqGVs10DictionarySSPs9AnyObject___">responseJSON</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -196,7 +231,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">internal(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">responseJSON</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">]?</span></code></pre>
 
@@ -223,7 +258,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">internal(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">query</span><span class="p">:</span> <span class="kt">UsergridQuery</span><span class="p">?</span></code></pre>
 
@@ -250,7 +285,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">internal(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">cursor</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
 
@@ -277,7 +312,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">internal(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">entities</span><span class="p">:</span> <span class="p">[</span><span class="kt">UsergridEntity</span><span class="p">]?</span></code></pre>
 
@@ -289,9 +324,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK16UsergridResponse7headersGSqGVSs10DictionarySSSS__"></a>
+                    <a name="/s:vC11UsergridSDK16UsergridResponse7headersGSqGVs10DictionarySSSS__"></a>
                     <a name="//apple_ref/swift/Property/headers" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse7headersGSqGVSs10DictionarySSSS__">headers</a>
+                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse7headersGSqGVs10DictionarySSSS__">headers</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -304,7 +339,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">internal(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">headers</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">:</span><span class="kt">String</span><span class="p">]?</span></code></pre>
 
@@ -331,7 +366,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">internal(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">statusCode</span><span class="p">:</span> <span class="kt">Int</span><span class="p">?</span></code></pre>
 
@@ -343,9 +378,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK16UsergridResponse9errorNameGSqSS_"></a>
-                    <a name="//apple_ref/swift/Property/errorName" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse9errorNameGSqSS_">errorName</a>
+                    <a name="/s:vC11UsergridSDK16UsergridResponse5errorGSqCS_21UsergridResponseError_"></a>
+                    <a name="//apple_ref/swift/Property/error" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse5errorGSqCS_21UsergridResponseError_">error</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -353,14 +388,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The error&rsquo;s name.</p>
+                        <p>The error object containing error information if one occurred.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">internal(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">errorName</span> <span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">internal(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">UsergridResponseError</span><span class="p">?</span></code></pre>
 
                         </div>
                       </div>
@@ -370,9 +405,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:vC11UsergridSDK16UsergridResponse16errorDescriptionGSqSS_"></a>
-                    <a name="//apple_ref/swift/Property/errorDescription" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse16errorDescriptionGSqSS_">errorDescription</a>
+                    <a name="/s:vC11UsergridSDK16UsergridResponse2okSb"></a>
+                    <a name="//apple_ref/swift/Property/ok" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse2okSb">ok</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -380,41 +415,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The error&rsquo;s description.</p>
+                        <p>Returns true if the HTTP status code from the response is less than 400.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">internal(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">errorDescription</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
-
-                        </div>
-                      </div>
-                    </section>
-                  </div>
-                </li>
-                <li class="item">
-                  <div>
-                    <code>
-                    <a name="/s:vC11UsergridSDK16UsergridResponse9exceptionGSqSS_"></a>
-                    <a name="//apple_ref/swift/Property/exception" class="dashAnchor"></a>
-                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse9exceptionGSqSS_">exception</a>
-                    </code>
-                  </div>
-                  <div class="height-container">
-                    <div class="pointer-container"></div>
-                    <section class="section">
-                      <div class="pointer"></div>
-                      <div class="abstract">
-                        <p>The exception.</p>
-
-                      </div>
-                      <div class="declaration">
-                        <h4>Declaration</h4>
-                        <div class="Swift">
-                          <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">internal(set)</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">exception</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">ok</span> <span class="p">:</span> <span class="kt">Bool</span></code></pre>
 
                         </div>
                       </div>
@@ -434,12 +442,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The count of <code>entities</code>.</p>
+                        <p>The count of <code><a href="../Classes/UsergridResponse.html#/s:vC11UsergridSDK16UsergridResponse8entitiesGSqGSaCS_14UsergridEntity__">entities</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">count</span><span class="p">:</span> <span class="kt">Int</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="n">entities</span><span class="p">?</span><span class="o">.</span><span class="n">count</span> <span class="p">??</span> <span class="mi">0</span> <span class="p">}</span></code></pre>
 
@@ -461,12 +469,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The first entity in <code>entities</code>.</p>
+                        <p>The first entity in <code><a href="../Classes/UsergridResponse.html#/s:vC11UsergridSDK16UsergridResponse8entitiesGSqGSaCS_14UsergridEntity__">entities</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">first</span><span class="p">:</span> <span class="kt">UsergridEntity</span><span class="p">?</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="n">entities</span><span class="p">?</span><span class="o">.</span><span class="n">first</span> <span class="p">}</span></code></pre>
 
@@ -488,12 +496,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The last entity in <code>entities</code>.</p>
+                        <p>The last entity in <code><a href="../Classes/UsergridResponse.html#/s:vC11UsergridSDK16UsergridResponse8entitiesGSqGSaCS_14UsergridEntity__">entities</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">last</span><span class="p">:</span> <span class="kt">UsergridEntity</span><span class="p">?</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="n">entities</span><span class="p">?</span><span class="o">.</span><span class="n">last</span> <span class="p">}</span></code></pre>
 
@@ -515,12 +523,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The first entity in <code>entities</code>.</p>
+                        <p>The first entity in <code><a href="../Classes/UsergridResponse.html#/s:vC11UsergridSDK16UsergridResponse8entitiesGSqGSaCS_14UsergridEntity__">entities</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">entity</span><span class="p">:</span> <span class="kt">UsergridEntity</span><span class="p">?</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="n">first</span> <span class="p">}</span></code></pre>
 
@@ -542,12 +550,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>UsergridUser</code> entity.</p>
+                        <p>The <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> entity.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">user</span><span class="p">:</span> <span class="kt">UsergridUser</span><span class="p">?</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="n">entities</span><span class="p">?</span><span class="o">.</span><span class="n">first</span> <span class="k">as?</span> <span class="kt">UsergridUser</span> <span class="p">}</span></code></pre>
 
@@ -569,12 +577,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>An array of <code>UsergridUser</code> entities.</p>
+                        <p>An array of <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> entities.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">users</span><span class="p">:</span> <span class="p">[</span><span class="kt">UsergridUser</span><span class="p">]?</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="n">entities</span> <span class="k">as?</span> <span class="p">[</span><span class="kt">UsergridUser</span><span class="p">]</span> <span class="p">}</span></code></pre>
 
@@ -601,7 +609,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">hasNextPage</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="n">cursor</span> <span class="o">!=</span> <span class="kc">nil</span> <span class="p">}</span></code></pre>
 
@@ -610,23 +618,104 @@
                     </section>
                   </div>
                 </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK16UsergridResponse11stringValueSS"></a>
+                    <a name="//apple_ref/swift/Property/stringValue" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse11stringValueSS">stringValue</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The string value.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">stringValue</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK16UsergridResponse11descriptionSS"></a>
+                    <a name="//apple_ref/swift/Property/description" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse11descriptionSS">description</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The description.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">override</span> <span class="k">var</span> <span class="nv">description</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK16UsergridResponse16debugDescriptionSS"></a>
+                    <a name="//apple_ref/swift/Property/debugDescription" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK16UsergridResponse16debugDescriptionSS">debugDescription</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The debug description.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">override</span> <span class="k">var</span> <span class="nv">debugDescription</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Initialization"></a>
-                  <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
-                  <a href="#/Initialization">
-                    <h3 class="section-name">Initialization</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK16UsergridResponsecFMS0_FT6clientGSqCS_14UsergridClient_9errorNameGSqSS_16errorDescriptionGSqSS__S0_"></a>
+                    <a name="/s:FC11UsergridSDK16UsergridResponsecFT6clientGSqCS_14UsergridClient_9errorNameSS16errorDescriptionSS_S0_"></a>
                     <a name="//apple_ref/swift/Method/init(client:errorName:errorDescription:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK16UsergridResponsecFMS0_FT6clientGSqCS_14UsergridClient_9errorNameGSqSS_16errorDescriptionGSqSS__S0_">init(client:errorName:errorDescription:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK16UsergridResponsecFT6clientGSqCS_14UsergridClient_9errorNameSS16errorDescriptionSS_S0_">init(client:errorName:errorDescription:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -634,16 +723,16 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Designated initializer for <code>UsergridResponse</code> objects that contain errors.</p>
+                        <p>Designated initializer for <code><a href="../Classes/UsergridResponse.html">UsergridResponse</a></code> objects that contain errors.</p>
 
 <p>These types of responses are usually created because request conditions are not met.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt">UsergridClient</span><span class="p">?,</span> <span class="nv">errorName</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">errorDescription</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt">UsergridClient</span><span class="p">?,</span> <span class="nv">errorName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">errorDescription</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -695,7 +784,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A new instance of <code>UsergridResponse</code>.</p>
+                        <p>A new instance of <code><a href="../Classes/UsergridResponse.html">UsergridResponse</a></code>.</p>
 
                       </div>
                     </section>
@@ -704,9 +793,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK16UsergridResponsecFMS0_FT6clientGSqCS_14UsergridClient_4dataGSqCSo6NSData_8responseGSqCSo17NSHTTPURLResponse_5errorGSqCSo7NSError_5queryGSqCS_13UsergridQuery__S0_"></a>
+                    <a name="/s:FC11UsergridSDK16UsergridResponsecFT6clientGSqCS_14UsergridClient_4dataGSqCSo6NSData_8responseGSqCSo17NSHTTPURLResponse_5errorGSqCSo7NSError_5queryGSqCS_13UsergridQuery__S0_"></a>
                     <a name="//apple_ref/swift/Method/init(client:data:response:error:query:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK16UsergridResponsecFMS0_FT6clientGSqCS_14UsergridClient_4dataGSqCSo6NSData_8responseGSqCSo17NSHTTPURLResponse_5errorGSqCSo7NSError_5queryGSqCS_13UsergridQuery__S0_">init(client:data:response:error:query:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK16UsergridResponsecFT6clientGSqCS_14UsergridClient_4dataGSqCSo6NSData_8responseGSqCSo17NSHTTPURLResponse_5errorGSqCSo7NSError_5queryGSqCS_13UsergridQuery__S0_">init(client:data:response:error:query:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -714,12 +803,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Designated initializer for <code>UsergridResponse</code> objects finished but still may contain errors.</p>
+                        <p>Designated initializer for <code><a href="../Classes/UsergridResponse.html">UsergridResponse</a></code> objects finished but still may contain errors.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">?,</span> <span class="nv">data</span><span class="p">:</span><span class="kt">NSData</span><span class="p">?,</span> <span class="nv">response</span><span class="p">:</span><span class="kt">NSHTTPURLResponse</span><span class="p">?,</span> <span class="nv">error</span><span class="p">:</span><span class="kt">NSError</span><span class="p">?,</span> <span class="nv">query</span><span class="p">:</span><span class="kt">UsergridQuery</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -799,7 +888,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A new instance of <code>UsergridResponse</code>.</p>
+                        <p>A new instance of <code><a href="../Classes/UsergridResponse.html">UsergridResponse</a></code>.</p>
 
                       </div>
                     </section>
@@ -808,20 +897,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Instance%20Methods"></a>
-                  <a name="//apple_ref/swift/Section/Instance Methods" class="dashAnchor"></a>
-                  <a href="#/Instance%20Methods">
-                    <h3 class="section-name">Instance Methods</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Instance%20Methods"></a>
+                <a name="//apple_ref/swift/Section/Instance Methods" class="dashAnchor"></a>
+                <a href="#/Instance%20Methods">
+                  <h3 class="section-name">Instance Methods</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK16UsergridResponse12loadNextPageFS0_FFT8responseS0__T_T_"></a>
+                    <a name="/s:FC11UsergridSDK16UsergridResponse12loadNextPageFFT8responseS0__T_T_"></a>
                     <a name="//apple_ref/swift/Method/loadNextPage(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK16UsergridResponse12loadNextPageFS0_FFT8responseS0__T_T_">loadNextPage(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK16UsergridResponse12loadNextPageFFT8responseS0__T_T_">loadNextPage(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -829,14 +918,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Attempts to load the next page of <code>UsergridEntity</code> objects. </p>
+                        <p>Attempts to load the next page of <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects. </p>
 
-<p>This requires a <code>cursor</code> to be valid as well as a <code>path</code> key within the response JSON.</p>
+<p>This requires a <code><a href="../Classes/UsergridResponse.html#/s:vC11UsergridSDK16UsergridResponse6cursorGSqSS_">cursor</a></code> to be valid as well as a <code>path</code> key within the response JSON.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">loadNextPage</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">)</span></code></pre>
 
@@ -870,8 +959,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridResponseError.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridResponseError.html
new file mode 100644
index 0000000..46fd05a
--- /dev/null
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridResponseError.html
@@ -0,0 +1,473 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>UsergridResponseError Class Reference</title>
+    <link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
+    <link rel="stylesheet" type="text/css" href="../css/highlight.css" />
+    <meta charset='utf-8'>
+    <script src="../js/jquery.min.js" defer></script>
+    <script src="../js/jazzy.js" defer></script>
+    
+  </head>
+  <body>
+    <a name="//apple_ref/swift/Class/UsergridResponseError" class="dashAnchor"></a>
+    <a title="UsergridResponseError Class Reference"></a>
+    <header>
+      <div class="content-wrapper">
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
+      </div>
+    </header>
+    <div class="content-wrapper">
+      <p id="breadcrumbs">
+        <a href="../index.html"> Reference</a>
+        <img id="carat" src="../img/carat.png" />
+        UsergridResponseError Class Reference
+      </p>
+    </div>
+    <div class="content-wrapper">
+      <nav class="sidebar">
+        <ul class="nav-groups">
+          <li class="nav-group-name">
+            <a href="../Classes.html">Classes</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Classes/Usergrid.html">Usergrid</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClient.html">UsergridClient</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClientConfig.html">UsergridClientConfig</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridDevice.html">UsergridDevice</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridEntity.html">UsergridEntity</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridFileMetaData.html">UsergridFileMetaData</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUser.html">UsergridUser</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Global Variables.html">Global Variables</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDirection.html">UsergridDirection</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQueryOperator.html">UsergridQueryOperator</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQuerySortOrder.html">UsergridQuerySortOrder</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridUserProperties.html">UsergridUserProperties</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridAssetDownloadCompletion">UsergridAssetDownloadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK28UsergridAssetRequestProgress">UsergridAssetRequestProgress</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK29UsergridAssetUploadCompletion">UsergridAssetUploadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK26UsergridResponseCompletion">UsergridResponseCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
+            </ul>
+          </li>
+        </ul>
+      </nav>
+      <article class="main-content">
+        <section>
+          <section class="section">
+            <h1>UsergridResponseError</h1>
+              <div class="declaration">
+                <div class="language">
+                  <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridResponseError</span><span class="p">:</span> <span class="kt">NSObject</span></code></pre>
+
+                </div>
+              </div>
+            <p>A standard error object that contains details about a request failure.</p>
+
+          </section>
+          <section class="section task-group-section">
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Instance%20Properties"></a>
+                <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
+                <a href="#/Instance%20Properties">
+                  <h3 class="section-name">Instance Properties</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK21UsergridResponseError9errorNameSS"></a>
+                    <a name="//apple_ref/swift/Property/errorName" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK21UsergridResponseError9errorNameSS">errorName</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The error&rsquo;s name.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">errorName</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK21UsergridResponseError16errorDescriptionSS"></a>
+                    <a name="//apple_ref/swift/Property/errorDescription" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK21UsergridResponseError16errorDescriptionSS">errorDescription</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The error&rsquo;s description.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">errorDescription</span><span class="p">:</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK21UsergridResponseError9exceptionGSqSS_"></a>
+                    <a name="//apple_ref/swift/Property/exception" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK21UsergridResponseError9exceptionGSqSS_">exception</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The exception.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">exception</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK21UsergridResponseError11descriptionSS"></a>
+                    <a name="//apple_ref/swift/Property/description" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK21UsergridResponseError11descriptionSS">description</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The description.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">override</span> <span class="k">var</span> <span class="nv">description</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vC11UsergridSDK21UsergridResponseError16debugDescriptionSS"></a>
+                    <a name="//apple_ref/swift/Property/debugDescription" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK21UsergridResponseError16debugDescriptionSS">debugDescription</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The debug description.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">override</span> <span class="k">var</span> <span class="nv">debugDescription</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK21UsergridResponseErrorcFT9errorNameSS16errorDescriptionSS9exceptionGSqSS__S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(errorName:errorDescription:exception:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK21UsergridResponseErrorcFT9errorNameSS16errorDescriptionSS9exceptionGSqSS__S0_">init(errorName:errorDescription:exception:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Designated initializer for <code><a href="../Classes/UsergridResponseError.html">UsergridResponseError</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">errorName</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">errorDescription</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">exception</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>errorName</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The error&rsquo;s name.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>errorDescription</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The error&rsquo;s description.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>exception</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The exception.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A new instance of <code><a href="../Classes/UsergridResponseError.html">UsergridResponseError</a></code></p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK21UsergridResponseErrorcFT14jsonDictionaryGVs10DictionarySSPs9AnyObject___GSqS0__"></a>
+                    <a name="//apple_ref/swift/Method/init(jsonDictionary:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK21UsergridResponseErrorcFT14jsonDictionaryGVs10DictionarySSPs9AnyObject___GSqS0__">init(jsonDictionary:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Convenience initializer for <code><a href="../Classes/UsergridResponseError.html">UsergridResponseError</a></code> that determines if the given <code>jsonDictionary</code> contains an error.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">?(</span><span class="nv">jsonDictionary</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">])</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>jsonDictionary</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The JSON dictionary that may contain error information.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A new instance of <code><a href="../Classes/UsergridResponseError.html">UsergridResponseError</a></code> if the JSON dictionary did indeed contain error information.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+          </section>
+        </section>
+        <section id="footer">
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+        </section>
+      </article>
+    </div>
+  </body>
+</div>
+</html>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridUser.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridUser.html
index 5526b15..aa93547 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridUser.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridUser.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Class/UsergridUser" class="dashAnchor"></a>
     <a title="UsergridUser Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,12 +164,12 @@
           <section class="section">
             <h1>UsergridUser</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridUser</span> <span class="p">:</span> <span class="kt">UsergridEntity</span></code></pre>
 
                 </div>
               </div>
-            <p><code>UsergridUser</code> is a special subclass of <code>UsergridEntity</code> that supports functions and properties unique to users.</p>
+            <p><code>UsergridUser</code> is a special subclass of <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> that supports functions and properties unique to users.</p>
 
           </section>
           <section class="section task-group-section">
@@ -143,9 +178,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:sC11UsergridSDK12UsergridUser9subscriptFSSGSqPSs9AnyObject__"></a>
+                    <a name="/s:iC11UsergridSDK12UsergridUser9subscriptFSSGSqPs9AnyObject__"></a>
                     <a name="//apple_ref/swift/Method/subscript(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:sC11UsergridSDK12UsergridUser9subscriptFSSGSqPSs9AnyObject__">subscript(_:)</a>
+                    <a class="token" href="#/s:iC11UsergridSDK12UsergridUser9subscriptFSSGSqPs9AnyObject__">subscript(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -153,13 +188,17 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Subscript for the <code>UsergridUser</code> class.</p>
+                        <p>Subscript for the <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> class.</p>
 
-<ul>
-<li><p>Example usage:
+<div class="aside aside-warning">
+    <p class="aside-title">Warning</p>
+    <p>When setting a properties value must be a valid JSON object.</p>
+
+</div>
+
+<p><li><p>Example usage:
 &ldquo;`
-let someName = usergridUser[<q>name</q>]</p></li>
-</ul>
+let someName = usergridUser[<q>name</q>]</p></li></p>
 
 <p>usergridUser[<q>name</q>] = someName
 &rdquo;`</p>
@@ -167,7 +206,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">override</span> <span class="kd">public</span> <span class="nf">subscript</span><span class="p">(</span><span class="nv">propertyName</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">AnyObject</span><span class="p">?</span></code></pre>
 
@@ -179,13 +218,13 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Instance%20Properties"></a>
-                  <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
-                  <a href="#/Instance%20Properties">
-                    <h3 class="section-name">Instance Properties</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Instance%20Properties"></a>
+                <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
+                <a href="#/Instance%20Properties">
+                  <h3 class="section-name">Instance Properties</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
@@ -200,12 +239,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>UsergridUserAuth</code> object if this user was authenticated.</p>
+                        <p>The <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code> object if this user was authenticated.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">auth</span><span class="p">:</span> <span class="kt">UsergridUserAuth</span><span class="p">?</span></code></pre>
 
@@ -227,14 +266,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property helper method for the <code>UsergridUser</code> objects <code>UsergridUserProperties.Name</code>.</p>
+                        <p>Property helper method for the <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects <code><a href="../Enums/UsergridUserProperties.html#/s:FO11UsergridSDK22UsergridUserProperties4NameFMS0_S0_">UsergridUserProperties.Name</a></code>.</p>
 
-<p>Unlike <code>UsergridEntity</code> objects, <code>UsergridUser</code>&rsquo;s can change their name property which is why we provide a getter here.</p>
+<p>Unlike <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> objects, <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>&rsquo;s can change their name property which is why we provide a getter here.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">override</span> <span class="kd">public</span> <span class="k">var</span> <span class="nv">name</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
 
@@ -256,12 +295,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property getter and setter helpers for the <code>UsergridUser</code> objects <code>UsergridUserProperties.Username</code>.</p>
+                        <p>Property getter and setter helpers for the <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects <code><a href="../Enums/UsergridUserProperties.html#/s:FO11UsergridSDK22UsergridUserProperties8UsernameFMS0_S0_">UsergridUserProperties.Username</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">username</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
 
@@ -283,12 +322,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property getter and setter helpers for the <code>UsergridUser</code> objects <code>UsergridUserProperties.Password</code>.</p>
+                        <p>Property getter and setter helpers for the <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects <code><a href="../Enums/UsergridUserProperties.html#/s:FO11UsergridSDK22UsergridUserProperties8PasswordFMS0_S0_">UsergridUserProperties.Password</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">password</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
 
@@ -310,12 +349,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property getter and setter helpers for the <code>UsergridUser</code> objects <code>UsergridUserProperties.Email</code>.</p>
+                        <p>Property getter and setter helpers for the <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects <code><a href="../Enums/UsergridUserProperties.html#/s:FO11UsergridSDK22UsergridUserProperties5EmailFMS0_S0_">UsergridUserProperties.Email</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">email</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
 
@@ -337,12 +376,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property getter and setter helpers for the <code>UsergridUser</code> objects <code>UsergridUserProperties.Age</code>.</p>
+                        <p>Property getter and setter helpers for the <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects <code><a href="../Enums/UsergridUserProperties.html#/s:FO11UsergridSDK22UsergridUserProperties3AgeFMS0_S0_">UsergridUserProperties.Age</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">age</span><span class="p">:</span> <span class="kt">NSNumber</span><span class="p">?</span></code></pre>
 
@@ -354,6 +393,33 @@
                 <li class="item">
                   <div>
                     <code>
+                    <a name="/s:vC11UsergridSDK12UsergridUser15usernameOrEmailGSqSS_"></a>
+                    <a name="//apple_ref/swift/Property/usernameOrEmail" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vC11UsergridSDK12UsergridUser15usernameOrEmailGSqSS_">usernameOrEmail</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Property helper method to get the username or email of the <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">usernameOrEmail</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="n">username</span> <span class="p">??</span> <span class="k">self</span><span class="o">.</span><span class="n">email</span> <span class="p">}</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
                     <a name="/s:vC11UsergridSDK12UsergridUser9activatedSb"></a>
                     <a name="//apple_ref/swift/Property/activated" class="dashAnchor"></a>
                     <a class="token" href="#/s:vC11UsergridSDK12UsergridUser9activatedSb">activated</a>
@@ -364,14 +430,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property getter and setter helpers for the <code>UsergridUser</code> objects <code>UsergridUserProperties.Activated</code>.</p>
+                        <p>Property getter and setter helpers for the <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects <code><a href="../Enums/UsergridUserProperties.html#/s:FO11UsergridSDK22UsergridUserProperties9ActivatedFMS0_S0_">UsergridUserProperties.Activated</a></code>.</p>
 
 <p>Indicates whether the user account has been activated or not.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">activated</span><span class="p">:</span> <span class="kt">Bool</span></code></pre>
 
@@ -393,12 +459,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property getter and setter helpers for the <code>UsergridUser</code> objects <code>UsergridUserProperties.Disabled</code>.</p>
+                        <p>Property getter and setter helpers for the <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects <code><a href="../Enums/UsergridUserProperties.html#/s:FO11UsergridSDK22UsergridUserProperties8DisabledFMS0_S0_">UsergridUserProperties.Disabled</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">disabled</span><span class="p">:</span> <span class="kt">Bool</span></code></pre>
 
@@ -420,14 +486,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Property getter and setter helpers for the <code>UsergridUser</code> objects <code>UsergridUserProperties.Picture</code>.</p>
+                        <p>Property getter and setter helpers for the <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects <code><a href="../Enums/UsergridUserProperties.html#/s:FO11UsergridSDK22UsergridUserProperties7PictureFMS0_S0_">UsergridUserProperties.Picture</a></code>.</p>
 
 <p>URL path to user’s profile picture. Defaults to Gravatar for email address.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">picture</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
 
@@ -454,7 +520,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">uuidOrUsername</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="p">{</span> <span class="k">return</span> <span class="k">self</span><span class="o">.</span><span class="n">uuid</span> <span class="p">??</span> <span class="k">self</span><span class="o">.</span><span class="n">username</span> <span class="p">}</span></code></pre>
 
@@ -466,20 +532,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Initialization"></a>
-                  <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
-                  <a href="#/Initialization">
-                    <h3 class="section-name">Initialization</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUsercFMS0_FT4nameGSqSS__S0_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT4nameGSqSS__S0_"></a>
                     <a name="//apple_ref/swift/Method/init(name:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFMS0_FT4nameGSqSS__S0_">init(name:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT4nameGSqSS__S0_">init(name:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -487,12 +553,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Designated initializer for <code>UsergridUser</code> objects.</p>
+                        <p>Designated initializer for <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -520,7 +586,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A new instance of <code>UsergridUser</code>.</p>
+                        <p>A new instance of <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>.</p>
 
                       </div>
                     </section>
@@ -529,9 +595,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUsercFMS0_FT4nameSS12propertyDictGSqGVSs10DictionarySSPSs9AnyObject____S0_"></a>
-                    <a name="//apple_ref/swift/Method/init(name:propertyDict:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFMS0_FT4nameSS12propertyDictGSqGVSs10DictionarySSPSs9AnyObject____S0_">init(name:propertyDict:)</a>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT4typeSS4nameGSqSS_12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(type:name:propertyDict:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT4typeSS4nameGSqSS_12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_">init(type:name:propertyDict:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -539,12 +605,90 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Designated initializer for <code>UsergridUser</code> objects.</p>
+                        <p>The required public initializer for <code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> subclasses.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">required</span> <span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">name</span><span class="p">:</span> <span class="kt">String</span><span class="p">?,</span> <span class="nv">propertyDict</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">AnyObject</span><span class="p">]?)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>type</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The type associated with the <code>UsergridEntity</code> object.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>name</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional name associated with the <code>UsergridEntity</code> object.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>propertyDict</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional property dictionary that the <code>UsergridEntity</code> object will start out with.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A new <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> object.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT4nameSS12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(name:propertyDict:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT4nameSS12propertyDictGSqGVs10DictionarySSPs9AnyObject____S0_">init(name:propertyDict:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Designated initializer for <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span><span class="nv">propertyDict</span><span class="p">:[</span><span class="kt">String</span><span class="p">:</span><span class="kt">AnyObject</span><span class="p">]?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
@@ -585,7 +729,384 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A new instance of <code>UsergridUser</code>.</p>
+                        <p>A new instance of <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT4nameSS5emailSS8passwordGSqSS__S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(name:email:password:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT4nameSS5emailSS8passwordGSqSS__S0_">init(name:email:password:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Convenience initializer for <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">email</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">password</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>name</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The name of the user.  Note this is different from the <code>username</code> property.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>email</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The user&rsquo;s email.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>password</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional user&rsquo;s password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A new instance of <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT5emailSS8passwordGSqSS__S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(email:password:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT5emailSS8passwordGSqSS__S0_">init(email:password:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Convenience initializer for <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">email</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">password</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>email</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The user&rsquo;s email.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>password</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional user&rsquo;s password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A new instance of <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT4nameSS8usernameSS8passwordGSqSS__S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(name:username:password:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT4nameSS8usernameSS8passwordGSqSS__S0_">init(name:username:password:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Convenience initializer for <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">username</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">password</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>name</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The name of the user.  Note this is different from the <code>username</code> property.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>username</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The username of the user.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>password</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional user&rsquo;s password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A new instance of <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT8usernameSS8passwordGSqSS__S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(username:password:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT8usernameSS8passwordGSqSS__S0_">init(username:password:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Convenience initializer for <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">username</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">password</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>username</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The username of the user.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>password</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional user&rsquo;s password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A new instance of <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT4nameGSqSS_5emailGSqSS_8usernameGSqSS_8passwordGSqSS__S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(name:email:username:password:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT4nameGSqSS_5emailGSqSS_8usernameGSqSS_8passwordGSqSS__S0_">init(name:email:username:password:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Convenience initializer for <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">name</span><span class="p">:</span><span class="kt">String</span><span class="p">?,</span> <span class="nv">email</span><span class="p">:</span><span class="kt">String</span><span class="p">?,</span> <span class="nv">username</span><span class="p">:</span><span class="kt">String</span><span class="p">?,</span> <span class="nv">password</span><span class="p">:</span><span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>name</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional name of the user.  Note this is different from the <code>username</code> property.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>email</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional user&rsquo;s email.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>username</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional username of the user.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>password</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional user&rsquo;s password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A new instance of <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>.</p>
 
                       </div>
                     </section>
@@ -594,20 +1115,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Instance%20Methods"></a>
-                  <a name="//apple_ref/swift/Section/Instance Methods" class="dashAnchor"></a>
-                  <a href="#/Instance%20Methods">
-                    <h3 class="section-name">Instance Methods</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/NSCoding"></a>
+                <a name="//apple_ref/swift/Section/NSCoding" class="dashAnchor"></a>
+                <a href="#/NSCoding">
+                  <h3 class="section-name">NSCoding</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser6createFS0_FGSqFT8responseCS_16UsergridResponse_T__T_"></a>
-                    <a name="//apple_ref/swift/Method/create(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6createFS0_FGSqFT8responseCS_16UsergridResponse_T__T_">create(_:)</a>
+                    <a name="/s:FC11UsergridSDK12UsergridUsercFT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUsercFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -615,14 +1136,294 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Creates the user object in Usergrid if the user does not already exist with the shared instance of <code>UsergridClient</code>.</p>
+                        <p>NSCoding protocol initializer.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">create</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">required</span> <span class="kd">public</span> <span class="nf">init</span><span class="p">?(</span><span class="n">coder</span> <span class="nv">aDecoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aDecoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The decoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A decoded <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> object.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUser15encodeWithCoderFCSo7NSCoderT_"></a>
+                    <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>NSCoding protocol encoder.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">override</span> <span class="kd">func</span> <span class="nf">encodeWithCoder</span><span class="p">(</span><span class="nv">aCoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aCoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The encoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Class%20Methods"></a>
+                <a name="//apple_ref/swift/Section/Class Methods" class="dashAnchor"></a>
+                <a href="#/Class%20Methods">
+                  <h3 class="section-name">Class Methods</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFC11UsergridSDK12UsergridUser14checkAvailableFTGSqSS_8usernameGSqSS_10completionFT5errorGSqCS_21UsergridResponseError_9availableSb_T__T_"></a>
+                    <a name="//apple_ref/swift/Method/checkAvailable(_:username:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK12UsergridUser14checkAvailableFTGSqSS_8usernameGSqSS_10completionFT5errorGSqCS_21UsergridResponseError_9availableSb_T__T_">checkAvailable(_:username:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Checks the given email and/or username availablity for new <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">checkAvailable</span><span class="p">(</span><span class="nv">email</span><span class="p">:</span><span class="kt">String</span><span class="p">?,</span> <span class="nv">username</span><span class="p">:</span><span class="kt">String</span><span class="p">?,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridUserAvailabilityCompletion</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>email</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional email address.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>username</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional username.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFC11UsergridSDK12UsergridUser14checkAvailableFTCS_14UsergridClient5emailGSqSS_8usernameGSqSS_10completionFT5errorGSqCS_21UsergridResponseError_9availableSb_T__T_"></a>
+                    <a name="//apple_ref/swift/Method/checkAvailable(_:email:username:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFC11UsergridSDK12UsergridUser14checkAvailableFTCS_14UsergridClient5emailGSqSS_8usernameGSqSS_10completionFT5errorGSqCS_21UsergridResponseError_9availableSb_T__T_">checkAvailable(_:email:username:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Checks the given email and/or username availablity for new <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> objects using with the given <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">checkAvailable</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">email</span><span class="p">:</span><span class="kt">String</span><span class="p">?,</span> <span class="nv">username</span><span class="p">:</span><span class="kt">String</span><span class="p">?,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridUserAvailabilityCompletion</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>client</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The client to use for checking availability.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>email</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional email address.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>username</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional username.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/Instance%20Methods"></a>
+                <a name="//apple_ref/swift/Section/Instance Methods" class="dashAnchor"></a>
+                <a href="#/Instance%20Methods">
+                  <h3 class="section-name">Instance Methods</h3>
+                </a>
+              </div>
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUser6createFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/create(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6createFTGSqFT8responseCS_16UsergridResponse_T___T_">create(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Creates the user object in Usergrid if the user does not already exist with the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">create</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -652,9 +1453,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser6createFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser6createFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
                     <a name="//apple_ref/swift/Method/create(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6createFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">create(_:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6createFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">create(_:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -662,14 +1463,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Creates the user object in Usergrid if the user does not already exist with the given <code>UsergridClient</code>.</p>
+                        <p>Creates the user object in Usergrid if the user does not already exist with the given <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">create</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">create</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -712,9 +1513,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser5loginFS0_FTSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser5loginFTSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/login(_:password:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser5loginFS0_FTSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqSS__T___T_">login(_:password:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser5loginFTSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_">login(_:password:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -722,16 +1523,16 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Authenticates the specified user using the provided username and password with the shared instance of <code>UsergridClient</code>.</p>
+                        <p>Authenticates the specified user using the provided username and password with the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
-<p>While functionally similar to <code>UsergridClient.authenticateUser(auth)</code>, this method does not automatically assign this user to <code>UsergridClient.currentUser</code>:</p>
+<p>While functionally similar to <code>UsergridClient.authenticateUser(auth)</code>, this method does not automatically assign this user to <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient11currentUserGSqCS_12UsergridUser_">UsergridClient.currentUser</a></code>:</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">login</span><span class="p">(</span><span class="nv">username</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">password</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridUserAuthCompletionBlock</span><span class="p">?)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">login</span><span class="p">(</span><span class="nv">username</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">password</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridUserAuthCompletionBlock</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -787,9 +1588,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser5loginFS0_FTCS_14UsergridClient8usernameSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqSS__T___T_"></a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser5loginFTCS_14UsergridClient8usernameSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_"></a>
                     <a name="//apple_ref/swift/Method/login(_:username:password:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser5loginFS0_FTCS_14UsergridClient8usernameSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqSS__T___T_">login(_:username:password:completion:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser5loginFTCS_14UsergridClient8usernameSS8passwordSS10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_">login(_:username:password:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -797,16 +1598,16 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Authenticates the specified user using the provided username and password with the shared instance of <code>UsergridClient</code>.</p>
+                        <p>Authenticates the specified user using the provided username and password.</p>
 
-<p>While functionally similar to <code>UsergridClient.authenticateUser(auth)</code>, this method does not automatically assign this user to <code>UsergridClient.currentUser</code>:</p>
+<p>While functionally similar to <code>UsergridClient.authenticateUser(auth)</code>, this method does not automatically assign this user to <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient11currentUserGSqCS_12UsergridUser_">UsergridClient.currentUser</a></code>:</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">login</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">username</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">password</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridUserAuthCompletionBlock</span><span class="p">?)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">login</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">username</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">password</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridUserAuthCompletionBlock</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -875,9 +1676,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser6logoutFS0_FGSqFT8responseCS_16UsergridResponse_T__T_"></a>
-                    <a name="//apple_ref/swift/Method/logout(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6logoutFS0_FGSqFT8responseCS_16UsergridResponse_T__T_">logout(_:)</a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser13resetPasswordFTSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/resetPassword(_:new:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser13resetPasswordFTSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_">resetPassword(_:new:completion:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -885,14 +1686,173 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Invalidates the user token locally and remotely.</p>
+                        <p>Changes the User&rsquo;s current password with the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">logout</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">resetPassword</span><span class="p">(</span><span class="nv">old</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">new</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridUserResetPasswordCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>old</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The old password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>new</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The new password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUser13resetPasswordFTCS_14UsergridClient3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/resetPassword(_:old:new:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser13resetPasswordFTCS_14UsergridClient3oldSS3newSS10completionGSqFT5errorGSqCS_21UsergridResponseError_10didSucceedSb_T___T_">resetPassword(_:old:new:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Changes the User&rsquo;s current password with the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">resetPassword</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">old</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">new</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridUserResetPasswordCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>client</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The client to use for resetting the password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>old</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The old password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>new</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The new password.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUser14reauthenticateFTGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_"></a>
+                    <a name="//apple_ref/swift/Method/reauthenticate(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser14reauthenticateFTGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_">reauthenticate(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Attmepts to reauthenticate using the user&rsquo;s <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code> instance property with the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">reauthenticate</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridUserAuthCompletionBlock</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -922,9 +1882,69 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK12UsergridUser6logoutFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
-                    <a name="//apple_ref/swift/Method/logout(_:completion:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6logoutFS0_FTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">logout(_:completion:)</a>
+                    <a name="/s:FC11UsergridSDK12UsergridUser14reauthenticateFTCS_14UsergridClient10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_"></a>
+                    <a name="//apple_ref/swift/Method/reauthenticate(_:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser14reauthenticateFTCS_14UsergridClient10completionGSqFT4authGSqCS_16UsergridUserAuth_4userGSqS0__5errorGSqCS_21UsergridResponseError__T___T_">reauthenticate(_:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Attmepts to reauthenticate using the user&rsquo;s <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code> instance property.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">reauthenticate</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kt">UsergridUserAuthCompletionBlock</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>client</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The client to use for reauthentication.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUser6logoutFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/logout(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6logoutFTGSqFT8responseCS_16UsergridResponse_T___T_">logout(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -937,9 +1957,56 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">logout</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?)</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">logout</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUser6logoutFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/logout(_:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser6logoutFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">logout(_:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Invalidates the user token locally and remotely.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">logout</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span> <span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
@@ -979,13 +2046,386 @@
                     </section>
                   </div>
                 </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUser15connectToDeviceFTGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/connectToDevice(_:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser15connectToDeviceFTGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connectToDevice(_:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>A special convenience function that connects a <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> to this <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">connectToDevice</span><span class="p">(</span><span class="nv">device</span><span class="p">:</span><span class="kt">UsergridDevice</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>device</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The device to connect to.  If nil it will use the <code>UsergridDevice.sharedDevice</code> instance.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUser15connectToDeviceFTCS_14UsergridClient6deviceGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/connectToDevice(_:device:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser15connectToDeviceFTCS_14UsergridClient6deviceGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_">connectToDevice(_:device:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>A special convenience function that connects a <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> to this <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">connectToDevice</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">device</span><span class="p">:</span><span class="kt">UsergridDevice</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>client</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The <code>UsergridClient</code> object to use for connecting.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>device</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The device to connect to.  If nil it will use the <code>UsergridDevice.sharedDevice</code> instance.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUser18getConnectedDeviceFTGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/getConnectedDevice(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser18getConnectedDeviceFTGSqFT8responseCS_16UsergridResponse_T___T_">getConnectedDevice(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Gets the connected device using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnectedDevice</span><span class="p">(</span><span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUser18getConnectedDeviceFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/getConnectedDevice(_:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser18getConnectedDeviceFTCS_14UsergridClient10completionGSqFT8responseCS_16UsergridResponse_T___T_">getConnectedDevice(_:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Gets the connected device.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">getConnectedDevice</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>client</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The <code>UsergridClient</code> object to use for connecting.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUser20disconnectFromDeviceFTGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/disconnectFromDevice(_:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser20disconnectFromDeviceFTGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnectFromDevice(_:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>A special convenience function that disconnects a <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> from this <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> using the shared instance of <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">disconnectFromDevice</span><span class="p">(</span><span class="nv">device</span><span class="p">:</span><span class="kt">UsergridDevice</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>device</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The device to connect to.  If nil it will use the <code>UsergridDevice.sharedDevice</code> instance.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FC11UsergridSDK12UsergridUser20disconnectFromDeviceFTCS_14UsergridClient6deviceGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_"></a>
+                    <a name="//apple_ref/swift/Method/disconnectFromDevice(_:device:completion:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FC11UsergridSDK12UsergridUser20disconnectFromDeviceFTCS_14UsergridClient6deviceGSqCS_14UsergridDevice_10completionGSqFT8responseCS_16UsergridResponse_T___T_">disconnectFromDevice(_:device:completion:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>A special convenience function that disconnects a <code><a href="../Classes/UsergridDevice.html">UsergridDevice</a></code> from this <code><a href="../Classes/UsergridUser.html">UsergridUser</a></code>.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">disconnectFromDevice</span><span class="p">(</span><span class="nv">client</span><span class="p">:</span><span class="kt">UsergridClient</span><span class="p">,</span> <span class="nv">device</span><span class="p">:</span><span class="kt">UsergridDevice</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span><span class="kt">UsergridResponseCompletion</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>client</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The <code>UsergridClient</code> object to use for connecting.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>device</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The device to connect to.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>completion</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The optional completion block.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                    </section>
+                  </div>
+                </li>
               </ul>
             </div>
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridUserAuth.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridUserAuth.html
index 3759909..15b46fb 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridUserAuth.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Classes/UsergridUserAuth.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Class/UsergridUserAuth" class="dashAnchor"></a>
     <a title="UsergridUserAuth Class Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,23 +164,23 @@
           <section class="section">
             <h1>UsergridUserAuth</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridUserAuth</span> <span class="p">:</span> <span class="kt">UsergridAuth</span></code></pre>
 
                 </div>
               </div>
-            <p>The <code>UsergridAuth</code> subclass used for user level authorization.</p>
+            <p>The <code><a href="../Classes/UsergridAuth.html">UsergridAuth</a></code> subclass used for user level authorization.</p>
 
           </section>
           <section class="section task-group-section">
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Instance%20Properties"></a>
-                  <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
-                  <a href="#/Instance%20Properties">
-                    <h3 class="section-name">Instance Properties</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Instance%20Properties"></a>
+                <a name="//apple_ref/swift/Section/Instance Properties" class="dashAnchor"></a>
+                <a href="#/Instance%20Properties">
+                  <h3 class="section-name">Instance Properties</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
@@ -165,7 +200,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">username</span><span class="p">:</span> <span class="kt">String</span></code></pre>
 
@@ -177,20 +212,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Initialization"></a>
-                  <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
-                  <a href="#/Initialization">
-                    <h3 class="section-name">Initialization</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Initialization"></a>
+                <a name="//apple_ref/swift/Section/Initialization" class="dashAnchor"></a>
+                <a href="#/Initialization">
+                  <h3 class="section-name">Initialization</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK16UsergridUserAuthcFMS0_FT8usernameSS8passwordSS_S0_"></a>
+                    <a name="/s:FC11UsergridSDK16UsergridUserAuthcFT8usernameSS8passwordSS_S0_"></a>
                     <a name="//apple_ref/swift/Method/init(username:password:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK16UsergridUserAuthcFMS0_FT8usernameSS8passwordSS_S0_">init(username:password:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK16UsergridUserAuthcFT8usernameSS8passwordSS_S0_">init(username:password:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -198,12 +233,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Designated initializer for <code>UsergridUserAuth</code> objects.</p>
+                        <p>Designated initializer for <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code> objects.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">username</span><span class="p">:</span><span class="kt">String</span><span class="p">,</span> <span class="nv">password</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span></code></pre>
 
@@ -244,18 +279,29 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>A new instance of <code>UsergridUserAuth</code>.</p>
+                        <p>A new instance of <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code>.</p>
 
                       </div>
                     </section>
                   </div>
                 </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <div class="task-name-container">
+                <a name="/NSCoding"></a>
+                <a name="//apple_ref/swift/Section/NSCoding" class="dashAnchor"></a>
+                <a href="#/NSCoding">
+                  <h3 class="section-name">NSCoding</h3>
+                </a>
+              </div>
+              <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK16UsergridUserAuthcFMS0_FT5coderCSo7NSCoder_GSqS0__"></a>
+                    <a name="/s:FC11UsergridSDK16UsergridUserAuthcFT5coderCSo7NSCoder_GSqS0__"></a>
                     <a name="//apple_ref/swift/Method/init(coder:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK16UsergridUserAuthcFMS0_FT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK16UsergridUserAuthcFT5coderCSo7NSCoder_GSqS0__">init(coder:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -263,26 +309,51 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Undocumented</p>
+                        <p>NSCoding protocol initializer.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridUserAuth</span> <span class="p">:</span> <span class="kt">UsergridAuth</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">required</span> <span class="kd">public</span> <span class="nf">init</span><span class="p">?(</span><span class="n">coder</span> <span class="nv">aDecoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aDecoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The decoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A decoded <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code> object.</p>
+
+                      </div>
                     </section>
                   </div>
                 </li>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FC11UsergridSDK16UsergridUserAuth15encodeWithCoderFS0_FCSo7NSCoderT_"></a>
+                    <a name="/s:FC11UsergridSDK16UsergridUserAuth15encodeWithCoderFCSo7NSCoderT_"></a>
                     <a name="//apple_ref/swift/Method/encodeWithCoder(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FC11UsergridSDK16UsergridUserAuth15encodeWithCoderFS0_FCSo7NSCoderT_">encodeWithCoder(_:)</a>
+                    <a class="token" href="#/s:FC11UsergridSDK16UsergridUserAuth15encodeWithCoderFCSo7NSCoderT_">encodeWithCoder(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -290,17 +361,37 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Undocumented</p>
+                        <p>NSCoding protocol encoder.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridUserAuth</span> <span class="p">:</span> <span class="kt">UsergridAuth</span></code></pre>
+                          <pre class="highlight"><code><span class="k">override</span> <span class="kd">public</span> <span class="kd">func</span> <span class="nf">encodeWithCoder</span><span class="p">(</span><span class="nv">aCoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span></code></pre>
 
                         </div>
                       </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>aCoder</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>The encoder.</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
                     </section>
                   </div>
                 </li>
@@ -309,8 +400,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums.html
index 38c02ef..56fabb8 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums.html
@@ -7,12 +7,13 @@
     <meta charset='utf-8'>
     <script src="js/jquery.min.js" defer></script>
     <script src="js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a title="Enums  Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="index.html"> Docs</a> (97% documented)</p>
+        <p><a href="index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -26,7 +27,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="Classes.html">Classes</a>
+            <a href="Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="Classes/Usergrid.html">Usergrid</a>
@@ -38,6 +39,9 @@
                 <a href="Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -59,9 +63,15 @@
                 <a href="Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -70,10 +80,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="Enums.html">Enums</a>
+            <a href="Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -85,6 +103,9 @@
                 <a href="Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -99,7 +120,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="Typealiases.html">Typealiases</a>
+            <a href="Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -119,6 +148,12 @@
               <li class="nav-group-task">
                 <a href="Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -136,9 +171,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:O11UsergridSDK20UsergridAuthFallback"></a>
-                    <a name="//apple_ref/swift/Enum/UsergridAuthFallback" class="dashAnchor"></a>
-                    <a class="token" href="#/s:O11UsergridSDK20UsergridAuthFallback">UsergridAuthFallback</a>
+                    <a name="/s:O11UsergridSDK16UsergridAuthMode"></a>
+                    <a name="//apple_ref/swift/Enum/UsergridAuthMode" class="dashAnchor"></a>
+                    <a class="token" href="#/s:O11UsergridSDK16UsergridAuthMode">UsergridAuthMode</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -146,15 +181,15 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>An enumeration that is used to determine what the <code>UsergridClient</code> will fallback to depending on certain authorization conditions.</p>
+                        <p>An enumeration that is used to determine what the <code><a href="Classes/UsergridClient.html">UsergridClient</a></code> will use for authorization.</p>
 
-                        <a href="Enums/UsergridAuthFallback.html" class="slightly-smaller">See more</a>
+                        <a href="Enums/UsergridAuthMode.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridAuthFallback</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridAuthMode</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
 
                         </div>
                       </div>
@@ -174,13 +209,13 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p><code>UsergridEntity</code> specific properties keys.  Note that trying to mutate the values of these properties will not be allowed in most cases.</p>
+                        <p><code><a href="Classes/UsergridEntity.html">UsergridEntity</a></code> specific properties keys.  Note that trying to mutate the values of these properties will not be allowed in most cases.</p>
 
                         <a href="Enums/UsergridEntityProperties.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridEntityProperties</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
 
@@ -208,7 +243,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridDeviceProperties</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
 
@@ -230,13 +265,13 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p><code>UsergridUser</code> specific properties keys.</p>
+                        <p><code><a href="Classes/UsergridUser.html">UsergridUser</a></code> specific properties keys.</p>
 
                         <a href="Enums/UsergridUserProperties.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridUserProperties</span><span class="p">:</span> <span class="kt">Int</span></code></pre>
 
@@ -258,13 +293,13 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p><code>UsergridQuery</code> specific operators.</p>
+                        <p><code><a href="Classes/UsergridQuery.html">UsergridQuery</a></code> specific operators.</p>
 
                         <a href="Enums/UsergridQueryOperator.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridQueryOperator</span><span class="p">:</span> <span class="kt">Int</span></code></pre>
 
@@ -286,13 +321,13 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p><code>UsergridQuery</code> specific sort orders.</p>
+                        <p><code><a href="Classes/UsergridQuery.html">UsergridQuery</a></code> specific sort orders.</p>
 
                         <a href="Enums/UsergridQuerySortOrder.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridQuerySortOrder</span><span class="p">:</span> <span class="kt">Int</span></code></pre>
 
@@ -314,13 +349,13 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p><code>UsergridAsset</code> image specific content types.</p>
+                        <p><code><a href="Classes/UsergridAsset.html">UsergridAsset</a></code> image specific content types.</p>
 
                         <a href="Enums/UsergridImageContentType.html" class="slightly-smaller">See more</a>
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridImageContentType</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
 
@@ -348,7 +383,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridDirection</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
 
@@ -357,13 +392,41 @@
                     </section>
                   </div>
                 </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:O11UsergridSDK18UsergridHttpMethod"></a>
+                    <a name="//apple_ref/swift/Enum/UsergridHttpMethod" class="dashAnchor"></a>
+                    <a class="token" href="#/s:O11UsergridSDK18UsergridHttpMethod">UsergridHttpMethod</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>An enumeration for defining the HTTP methods used by Usergrid.</p>
+
+                        <a href="Enums/UsergridHttpMethod.html" class="slightly-smaller">See more</a>
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridHttpMethod</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
               </ul>
             </div>
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridAuthFallback.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridAuthFallback.html
index 536c10d..13d19bc 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridAuthFallback.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridAuthFallback.html
@@ -7,18 +7,19 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Enum/UsergridAuthFallback" class="dashAnchor"></a>
     <a title="UsergridAuthFallback Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html">UsergridSDK Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="../index.html"> Reference</a>
+        <a href="../index.html">UsergridSDK Reference</a>
         <img id="carat" src="../img/carat.png" />
         UsergridAuthFallback Enum Reference
       </p>
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,7 +81,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,7 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +141,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,12 +156,12 @@
           <section class="section">
             <h1>UsergridAuthFallback</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridAuthFallback</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
 
                 </div>
               </div>
-            <p>An enumeration that is used to determine what the <code>UsergridClient</code> will fallback to depending on certain authorization conditions.</p>
+            <p>An enumeration that is used to determine what the <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code> will fallback to depending on certain authorization conditions.</p>
 
           </section>
           <section class="section task-group-section">
@@ -153,7 +180,7 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>If a non-expired user auth token exists in <code>UsergridClient.currentUser</code>, this token is used to authenticate all API calls.</p>
+                        <p>If a non-expired user auth token exists in <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient11currentUserGSqCS_12UsergridUser_">UsergridClient.currentUser</a></code>, this token is used to authenticate all API calls.</p>
 
 <p>If the API call fails, the activity is treated as a failure with an appropriate HTTP status code.</p>
 
@@ -162,7 +189,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">None</span></code></pre>
 
@@ -188,7 +215,7 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>If a non-expired user auth token exists in <code>UsergridClient.currentUser</code>, this token is used to authenticate all API calls.</p>
+                        <p>If a non-expired user auth token exists in <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient11currentUserGSqCS_12UsergridUser_">UsergridClient.currentUser</a></code>, this token is used to authenticate all API calls.</p>
 
 <p>If the API call fails, the activity is treated as a failure with an appropriate HTTP status code (This behavior is identical to authFallback=.None).</p>
 
@@ -197,7 +224,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">App</span></code></pre>
 
@@ -211,8 +238,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridAuthMode.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridAuthMode.html
new file mode 100644
index 0000000..7ed672a
--- /dev/null
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridAuthMode.html
@@ -0,0 +1,283 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>UsergridAuthMode Enum Reference</title>
+    <link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
+    <link rel="stylesheet" type="text/css" href="../css/highlight.css" />
+    <meta charset='utf-8'>
+    <script src="../js/jquery.min.js" defer></script>
+    <script src="../js/jazzy.js" defer></script>
+    
+  </head>
+  <body>
+    <a name="//apple_ref/swift/Enum/UsergridAuthMode" class="dashAnchor"></a>
+    <a title="UsergridAuthMode Enum Reference"></a>
+    <header>
+      <div class="content-wrapper">
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
+      </div>
+    </header>
+    <div class="content-wrapper">
+      <p id="breadcrumbs">
+        <a href="../index.html"> Reference</a>
+        <img id="carat" src="../img/carat.png" />
+        UsergridAuthMode Enum Reference
+      </p>
+    </div>
+    <div class="content-wrapper">
+      <nav class="sidebar">
+        <ul class="nav-groups">
+          <li class="nav-group-name">
+            <a href="../Classes.html">Classes</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Classes/Usergrid.html">Usergrid</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClient.html">UsergridClient</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClientConfig.html">UsergridClientConfig</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridDevice.html">UsergridDevice</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridEntity.html">UsergridEntity</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridFileMetaData.html">UsergridFileMetaData</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUser.html">UsergridUser</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Global Variables.html">Global Variables</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDirection.html">UsergridDirection</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQueryOperator.html">UsergridQueryOperator</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQuerySortOrder.html">UsergridQuerySortOrder</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridUserProperties.html">UsergridUserProperties</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridAssetDownloadCompletion">UsergridAssetDownloadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK28UsergridAssetRequestProgress">UsergridAssetRequestProgress</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK29UsergridAssetUploadCompletion">UsergridAssetUploadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK26UsergridResponseCompletion">UsergridResponseCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
+            </ul>
+          </li>
+        </ul>
+      </nav>
+      <article class="main-content">
+        <section>
+          <section class="section">
+            <h1>UsergridAuthMode</h1>
+              <div class="declaration">
+                <div class="language">
+                  <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridAuthMode</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
+
+                </div>
+              </div>
+            <p>An enumeration that is used to determine what the <code><a href="../Classes/UsergridClient.html">UsergridClient</a></code> will use for authorization.</p>
+
+          </section>
+          <section class="section task-group-section">
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FO11UsergridSDK16UsergridAuthMode4NoneFMS0_S0_"></a>
+                    <a name="//apple_ref/swift/Element/None" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FO11UsergridSDK16UsergridAuthMode4NoneFMS0_S0_">None</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>If the API call fails, the activity is treated as a failure with an appropriate HTTP status code.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="k">case</span> <span class="kt">None</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FO11UsergridSDK16UsergridAuthMode4UserFMS0_S0_"></a>
+                    <a name="//apple_ref/swift/Element/User" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FO11UsergridSDK16UsergridAuthMode4UserFMS0_S0_">User</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>If a non-expired <code><a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a></code> exists in <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient11currentUserGSqCS_12UsergridUser_">UsergridClient.currentUser</a></code>, this token is used to authenticate all API calls.</p>
+
+<p>If the API call fails, the activity is treated as a failure with an appropriate HTTP status code (This behavior is identical to authMode=.None).</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="k">case</span> <span class="kt">User</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FO11UsergridSDK16UsergridAuthMode3AppFMS0_S0_"></a>
+                    <a name="//apple_ref/swift/Element/App" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FO11UsergridSDK16UsergridAuthMode3AppFMS0_S0_">App</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>If a non-expired <code><a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> exists in <code><a href="../Classes/UsergridClient.html#/s:vC11UsergridSDK14UsergridClient7appAuthGSqCS_15UsergridAppAuth_">UsergridClient.appAuth</a></code>, this token is used to authenticate all API calls.</p>
+
+<p>If the API call fails, the activity is treated as a failure with an appropriate HTTP status code (This behavior is identical to authMode=.None).</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="k">case</span> <span class="kt">App</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+          </section>
+        </section>
+        <section id="footer">
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+        </section>
+      </article>
+    </div>
+  </body>
+</div>
+</html>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridDeviceProperties.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridDeviceProperties.html
index 9a8f620..a4736a3 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridDeviceProperties.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridDeviceProperties.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Enum/UsergridDeviceProperties" class="dashAnchor"></a>
     <a title="UsergridDeviceProperties Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,7 +164,7 @@
           <section class="section">
             <h1>UsergridDeviceProperties</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridDeviceProperties</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
 
                 </div>
@@ -158,7 +193,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Model</span></code></pre>
 
@@ -189,7 +224,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Platform</span></code></pre>
 
@@ -220,7 +255,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">OSVersion</span></code></pre>
 
@@ -232,20 +267,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Methods"></a>
-                  <a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
-                  <a href="#/Methods">
-                    <h3 class="section-name">Methods</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Methods"></a>
+                <a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
+                <a href="#/Methods">
+                  <h3 class="section-name">Methods</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFO11UsergridSDK24UsergridDeviceProperties10fromStringFMS0_FSSGSqS0__"></a>
+                    <a name="/s:ZFO11UsergridSDK24UsergridDeviceProperties10fromStringFSSGSqS0__"></a>
                     <a name="//apple_ref/swift/Method/fromString(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFO11UsergridSDK24UsergridDeviceProperties10fromStringFMS0_FSSGSqS0__">fromString(_:)</a>
+                    <a class="token" href="#/s:ZFO11UsergridSDK24UsergridDeviceProperties10fromStringFSSGSqS0__">fromString(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -253,12 +288,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Gets the corresponding <code>UsergridDeviceProperties</code> from a string if it&rsquo;s valid.</p>
+                        <p>Gets the corresponding <code><a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a></code> from a string if it&rsquo;s valid.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">fromString</span><span class="p">(</span><span class="nv">stringValue</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UsergridDeviceProperties</span><span class="p">?</span></code></pre>
 
@@ -286,7 +321,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>The corresponding <code>UsergridDeviceProperties</code> or nil.</p>
+                        <p>The corresponding <code><a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a></code> or nil.</p>
 
                       </div>
                     </section>
@@ -310,7 +345,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">stringValue</span><span class="p">:</span> <span class="kt">String</span></code></pre>
 
@@ -324,8 +359,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridDirection.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridDirection.html
index a5bc4f8..d11978c 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridDirection.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridDirection.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Enum/UsergridDirection" class="dashAnchor"></a>
     <a title="UsergridDirection Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,7 +164,7 @@
           <section class="section">
             <h1>UsergridDirection</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridDirection</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
 
                 </div>
@@ -158,7 +193,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">In</span></code></pre>
 
@@ -189,7 +224,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Out</span></code></pre>
 
@@ -201,13 +236,13 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Methods"></a>
-                  <a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
-                  <a href="#/Methods">
-                    <h3 class="section-name">Methods</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Methods"></a>
+                <a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
+                <a href="#/Methods">
+                  <h3 class="section-name">Methods</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
@@ -227,7 +262,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">connectionValue</span><span class="p">:</span> <span class="kt">String</span></code></pre>
 
@@ -241,8 +276,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridEntityProperties.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridEntityProperties.html
index f63a4ae..b9b3278 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridEntityProperties.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridEntityProperties.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Enum/UsergridEntityProperties" class="dashAnchor"></a>
     <a title="UsergridEntityProperties Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,12 +164,12 @@
           <section class="section">
             <h1>UsergridEntityProperties</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridEntityProperties</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
 
                 </div>
               </div>
-            <p><code>UsergridEntity</code> specific properties keys.  Note that trying to mutate the values of these properties will not be allowed in most cases.</p>
+            <p><code><a href="../Classes/UsergridEntity.html">UsergridEntity</a></code> specific properties keys.  Note that trying to mutate the values of these properties will not be allowed in most cases.</p>
 
           </section>
           <section class="section task-group-section">
@@ -158,7 +193,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">EntityType</span></code></pre>
 
@@ -189,7 +224,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">UUID</span></code></pre>
 
@@ -220,7 +255,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Name</span></code></pre>
 
@@ -251,7 +286,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Created</span></code></pre>
 
@@ -282,7 +317,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Modified</span></code></pre>
 
@@ -313,7 +348,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Location</span></code></pre>
 
@@ -325,20 +360,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Methods"></a>
-                  <a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
-                  <a href="#/Methods">
-                    <h3 class="section-name">Methods</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Methods"></a>
+                <a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
+                <a href="#/Methods">
+                  <h3 class="section-name">Methods</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFO11UsergridSDK24UsergridEntityProperties10fromStringFMS0_FSSGSqS0__"></a>
+                    <a name="/s:ZFO11UsergridSDK24UsergridEntityProperties10fromStringFSSGSqS0__"></a>
                     <a name="//apple_ref/swift/Method/fromString(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFO11UsergridSDK24UsergridEntityProperties10fromStringFMS0_FSSGSqS0__">fromString(_:)</a>
+                    <a class="token" href="#/s:ZFO11UsergridSDK24UsergridEntityProperties10fromStringFSSGSqS0__">fromString(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -346,12 +381,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Gets the corresponding <code>UsergridEntityProperties</code> from a string if it&rsquo;s valid.</p>
+                        <p>Gets the corresponding <code><a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a></code> from a string if it&rsquo;s valid.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">fromString</span><span class="p">(</span><span class="nv">stringValue</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UsergridEntityProperties</span><span class="p">?</span></code></pre>
 
@@ -379,7 +414,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>The corresponding <code>UsergridEntityProperties</code> or nil.</p>
+                        <p>The corresponding <code><a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a></code> or nil.</p>
 
                       </div>
                     </section>
@@ -403,7 +438,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">stringValue</span><span class="p">:</span> <span class="kt">String</span></code></pre>
 
@@ -415,9 +450,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:FO11UsergridSDK24UsergridEntityProperties18isMutableForEntityFS0_FCS_14UsergridEntitySb"></a>
+                    <a name="/s:FO11UsergridSDK24UsergridEntityProperties18isMutableForEntityFCS_14UsergridEntitySb"></a>
                     <a name="//apple_ref/swift/Method/isMutableForEntity(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:FO11UsergridSDK24UsergridEntityProperties18isMutableForEntityFS0_FCS_14UsergridEntitySb">isMutableForEntity(_:)</a>
+                    <a class="token" href="#/s:FO11UsergridSDK24UsergridEntityProperties18isMutableForEntityFCS_14UsergridEntitySb">isMutableForEntity(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -425,12 +460,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Determines if the <code>UsergridEntityProperties</code> is mutable for the given entity.</p>
+                        <p>Determines if the <code><a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a></code> is mutable for the given entity.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">isMutableForEntity</span><span class="p">(</span><span class="nv">entity</span><span class="p">:</span><span class="kt">UsergridEntity</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
 
@@ -458,7 +493,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>If the <code>UsergridEntityProperties</code> is mutable for the given entity</p>
+                        <p>If the <code><a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a></code> is mutable for the given entity</p>
 
                       </div>
                     </section>
@@ -469,8 +504,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridHttpMethod.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridHttpMethod.html
new file mode 100644
index 0000000..1ad6cbb
--- /dev/null
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridHttpMethod.html
@@ -0,0 +1,341 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>UsergridHttpMethod Enum Reference</title>
+    <link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
+    <link rel="stylesheet" type="text/css" href="../css/highlight.css" />
+    <meta charset='utf-8'>
+    <script src="../js/jquery.min.js" defer></script>
+    <script src="../js/jazzy.js" defer></script>
+    
+  </head>
+  <body>
+    <a name="//apple_ref/swift/Enum/UsergridHttpMethod" class="dashAnchor"></a>
+    <a title="UsergridHttpMethod Enum Reference"></a>
+    <header>
+      <div class="content-wrapper">
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
+      </div>
+    </header>
+    <div class="content-wrapper">
+      <p id="breadcrumbs">
+        <a href="../index.html"> Reference</a>
+        <img id="carat" src="../img/carat.png" />
+        UsergridHttpMethod Enum Reference
+      </p>
+    </div>
+    <div class="content-wrapper">
+      <nav class="sidebar">
+        <ul class="nav-groups">
+          <li class="nav-group-name">
+            <a href="../Classes.html">Classes</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Classes/Usergrid.html">Usergrid</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClient.html">UsergridClient</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClientConfig.html">UsergridClientConfig</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridDevice.html">UsergridDevice</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridEntity.html">UsergridEntity</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridFileMetaData.html">UsergridFileMetaData</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUser.html">UsergridUser</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Global Variables.html">Global Variables</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDirection.html">UsergridDirection</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQueryOperator.html">UsergridQueryOperator</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQuerySortOrder.html">UsergridQuerySortOrder</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridUserProperties.html">UsergridUserProperties</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridAssetDownloadCompletion">UsergridAssetDownloadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK28UsergridAssetRequestProgress">UsergridAssetRequestProgress</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK29UsergridAssetUploadCompletion">UsergridAssetUploadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK26UsergridResponseCompletion">UsergridResponseCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
+            </ul>
+          </li>
+        </ul>
+      </nav>
+      <article class="main-content">
+        <section>
+          <section class="section">
+            <h1>UsergridHttpMethod</h1>
+              <div class="declaration">
+                <div class="language">
+                  <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridHttpMethod</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
+
+                </div>
+              </div>
+            <p>An enumeration for defining the HTTP methods used by Usergrid.</p>
+
+          </section>
+          <section class="section task-group-section">
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FO11UsergridSDK18UsergridHttpMethod3GetFMS0_S0_"></a>
+                    <a name="//apple_ref/swift/Element/Get" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FO11UsergridSDK18UsergridHttpMethod3GetFMS0_S0_">Get</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>GET</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="k">case</span> <span class="kt">Get</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FO11UsergridSDK18UsergridHttpMethod3PutFMS0_S0_"></a>
+                    <a name="//apple_ref/swift/Element/Put" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FO11UsergridSDK18UsergridHttpMethod3PutFMS0_S0_">Put</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>PUT</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="k">case</span> <span class="kt">Put</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FO11UsergridSDK18UsergridHttpMethod4PostFMS0_S0_"></a>
+                    <a name="//apple_ref/swift/Element/Post" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FO11UsergridSDK18UsergridHttpMethod4PostFMS0_S0_">Post</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>POST</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="k">case</span> <span class="kt">Post</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FO11UsergridSDK18UsergridHttpMethod6DeleteFMS0_S0_"></a>
+                    <a name="//apple_ref/swift/Element/Delete" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FO11UsergridSDK18UsergridHttpMethod6DeleteFMS0_S0_">Delete</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>DELETE</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="k">case</span> <span class="kt">Delete</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:vO11UsergridSDK18UsergridHttpMethod11stringValueSS"></a>
+                    <a name="//apple_ref/swift/Property/stringValue" class="dashAnchor"></a>
+                    <a class="token" href="#/s:vO11UsergridSDK18UsergridHttpMethod11stringValueSS">stringValue</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Returns the string value.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">stringValue</span><span class="p">:</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+          </section>
+        </section>
+        <section id="footer">
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+        </section>
+      </article>
+    </div>
+  </body>
+</div>
+</html>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridImageContentType.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridImageContentType.html
index 715da59..224450b 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridImageContentType.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridImageContentType.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Enum/UsergridImageContentType" class="dashAnchor"></a>
     <a title="UsergridImageContentType Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,12 +164,12 @@
           <section class="section">
             <h1>UsergridImageContentType</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridImageContentType</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
 
                 </div>
               </div>
-            <p><code>UsergridAsset</code> image specific content types.</p>
+            <p><code><a href="../Classes/UsergridAsset.html">UsergridAsset</a></code> image specific content types.</p>
 
           </section>
           <section class="section task-group-section">
@@ -158,7 +193,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Png</span></code></pre>
 
@@ -189,7 +224,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Jpeg</span></code></pre>
 
@@ -201,13 +236,13 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Methods"></a>
-                  <a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
-                  <a href="#/Methods">
-                    <h3 class="section-name">Methods</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Methods"></a>
+                <a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
+                <a href="#/Methods">
+                  <h3 class="section-name">Methods</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
@@ -227,7 +262,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">stringValue</span><span class="p">:</span> <span class="kt">String</span></code></pre>
 
@@ -241,8 +276,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridQueryOperator.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridQueryOperator.html
index 514f851..fc07091 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridQueryOperator.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridQueryOperator.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Enum/UsergridQueryOperator" class="dashAnchor"></a>
     <a title="UsergridQueryOperator Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,12 +164,12 @@
           <section class="section">
             <h1>UsergridQueryOperator</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridQueryOperator</span><span class="p">:</span> <span class="kt">Int</span></code></pre>
 
                 </div>
               </div>
-            <p><code>UsergridQuery</code> specific operators.</p>
+            <p><code><a href="../Classes/UsergridQuery.html">UsergridQuery</a></code> specific operators.</p>
 
           </section>
           <section class="section task-group-section">
@@ -158,7 +193,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Equal</span></code></pre>
 
@@ -189,7 +224,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">GreaterThan</span></code></pre>
 
@@ -220,7 +255,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">GreaterThanEqualTo</span></code></pre>
 
@@ -251,7 +286,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">LessThan</span></code></pre>
 
@@ -282,7 +317,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">LessThanEqualTo</span></code></pre>
 
@@ -294,20 +329,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Methods"></a>
-                  <a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
-                  <a href="#/Methods">
-                    <h3 class="section-name">Methods</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Methods"></a>
+                <a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
+                <a href="#/Methods">
+                  <h3 class="section-name">Methods</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFO11UsergridSDK21UsergridQueryOperator10fromStringFMS0_FSSGSqS0__"></a>
+                    <a name="/s:ZFO11UsergridSDK21UsergridQueryOperator10fromStringFSSGSqS0__"></a>
                     <a name="//apple_ref/swift/Method/fromString(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFO11UsergridSDK21UsergridQueryOperator10fromStringFMS0_FSSGSqS0__">fromString(_:)</a>
+                    <a class="token" href="#/s:ZFO11UsergridSDK21UsergridQueryOperator10fromStringFSSGSqS0__">fromString(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -315,12 +350,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Gets the corresponding <code>UsergridQueryOperator</code> from a string if it&rsquo;s valid.</p>
+                        <p>Gets the corresponding <code><a href="../Enums/UsergridQueryOperator.html">UsergridQueryOperator</a></code> from a string if it&rsquo;s valid.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">fromString</span><span class="p">(</span><span class="nv">stringValue</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UsergridQueryOperator</span><span class="p">?</span></code></pre>
 
@@ -348,7 +383,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>The corresponding <code>UsergridQueryOperator</code> or nil.</p>
+                        <p>The corresponding <code><a href="../Enums/UsergridQueryOperator.html">UsergridQueryOperator</a></code> or nil.</p>
 
                       </div>
                     </section>
@@ -372,7 +407,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">stringValue</span><span class="p">:</span> <span class="kt">String</span></code></pre>
 
@@ -386,8 +421,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridQuerySortOrder.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridQuerySortOrder.html
index 940b672..3758d3f 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridQuerySortOrder.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridQuerySortOrder.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Enum/UsergridQuerySortOrder" class="dashAnchor"></a>
     <a title="UsergridQuerySortOrder Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,12 +164,12 @@
           <section class="section">
             <h1>UsergridQuerySortOrder</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridQuerySortOrder</span><span class="p">:</span> <span class="kt">Int</span></code></pre>
 
                 </div>
               </div>
-            <p><code>UsergridQuery</code> specific sort orders.</p>
+            <p><code><a href="../Classes/UsergridQuery.html">UsergridQuery</a></code> specific sort orders.</p>
 
           </section>
           <section class="section task-group-section">
@@ -158,7 +193,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Asc</span></code></pre>
 
@@ -189,7 +224,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Desc</span></code></pre>
 
@@ -201,20 +236,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Methods"></a>
-                  <a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
-                  <a href="#/Methods">
-                    <h3 class="section-name">Methods</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Methods"></a>
+                <a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
+                <a href="#/Methods">
+                  <h3 class="section-name">Methods</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFO11UsergridSDK22UsergridQuerySortOrder10fromStringFMS0_FSSGSqS0__"></a>
+                    <a name="/s:ZFO11UsergridSDK22UsergridQuerySortOrder10fromStringFSSGSqS0__"></a>
                     <a name="//apple_ref/swift/Method/fromString(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFO11UsergridSDK22UsergridQuerySortOrder10fromStringFMS0_FSSGSqS0__">fromString(_:)</a>
+                    <a class="token" href="#/s:ZFO11UsergridSDK22UsergridQuerySortOrder10fromStringFSSGSqS0__">fromString(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -222,12 +257,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Gets the corresponding <code>UsergridQuerySortOrder</code> from a string if it&rsquo;s valid.</p>
+                        <p>Gets the corresponding <code><a href="../Enums/UsergridQuerySortOrder.html">UsergridQuerySortOrder</a></code> from a string if it&rsquo;s valid.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">fromString</span><span class="p">(</span><span class="nv">stringValue</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UsergridQuerySortOrder</span><span class="p">?</span></code></pre>
 
@@ -255,7 +290,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>The corresponding <code>UsergridQuerySortOrder</code> or nil.</p>
+                        <p>The corresponding <code><a href="../Enums/UsergridQuerySortOrder.html">UsergridQuerySortOrder</a></code> or nil.</p>
 
                       </div>
                     </section>
@@ -279,7 +314,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">stringValue</span><span class="p">:</span> <span class="kt">String</span></code></pre>
 
@@ -293,8 +328,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridUserProperties.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridUserProperties.html
index 2369331..eff2cdc 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridUserProperties.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Enums/UsergridUserProperties.html
@@ -7,13 +7,14 @@
     <meta charset='utf-8'>
     <script src="../js/jquery.min.js" defer></script>
     <script src="../js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a name="//apple_ref/swift/Enum/UsergridUserProperties" class="dashAnchor"></a>
     <a title="UsergridUserProperties Enum Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="../index.html"> Docs</a> (97% documented)</p>
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -27,7 +28,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="../Classes.html">Classes</a>
+            <a href="../Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Classes/Usergrid.html">Usergrid</a>
@@ -39,6 +40,9 @@
                 <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -60,9 +64,15 @@
                 <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -71,10 +81,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Enums.html">Enums</a>
+            <a href="../Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="../Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -86,6 +104,9 @@
                 <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -100,7 +121,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="../Typealiases.html">Typealiases</a>
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -120,6 +149,12 @@
               <li class="nav-group-task">
                 <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,12 +164,12 @@
           <section class="section">
             <h1>UsergridUserProperties</h1>
               <div class="declaration">
-                <div class="Swift">
+                <div class="language">
                   <pre class="highlight"><code><span class="kd">@objc</span> <span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UsergridUserProperties</span><span class="p">:</span> <span class="kt">Int</span></code></pre>
 
                 </div>
               </div>
-            <p><code>UsergridUser</code> specific properties keys.</p>
+            <p><code><a href="../Classes/UsergridUser.html">UsergridUser</a></code> specific properties keys.</p>
 
           </section>
           <section class="section task-group-section">
@@ -158,7 +193,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Name</span></code></pre>
 
@@ -189,7 +224,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Username</span></code></pre>
 
@@ -220,7 +255,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Password</span></code></pre>
 
@@ -251,7 +286,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Email</span></code></pre>
 
@@ -282,7 +317,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Age</span></code></pre>
 
@@ -313,7 +348,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Activated</span></code></pre>
 
@@ -344,7 +379,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Disabled</span></code></pre>
 
@@ -375,7 +410,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="k">case</span> <span class="kt">Picture</span></code></pre>
 
@@ -387,20 +422,20 @@
               </ul>
             </div>
             <div class="task-group">
-                <div class="task-name-container">
-                  <a name="/Methods"></a>
-                  <a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
-                  <a href="#/Methods">
-                    <h3 class="section-name">Methods</h3>
-                  </a>
-                </div>
+              <div class="task-name-container">
+                <a name="/Methods"></a>
+                <a name="//apple_ref/swift/Section/Methods" class="dashAnchor"></a>
+                <a href="#/Methods">
+                  <h3 class="section-name">Methods</h3>
+                </a>
+              </div>
               <ul>
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:ZFO11UsergridSDK22UsergridUserProperties10fromStringFMS0_FSSGSqS0__"></a>
+                    <a name="/s:ZFO11UsergridSDK22UsergridUserProperties10fromStringFSSGSqS0__"></a>
                     <a name="//apple_ref/swift/Method/fromString(_:)" class="dashAnchor"></a>
-                    <a class="token" href="#/s:ZFO11UsergridSDK22UsergridUserProperties10fromStringFMS0_FSSGSqS0__">fromString(_:)</a>
+                    <a class="token" href="#/s:ZFO11UsergridSDK22UsergridUserProperties10fromStringFSSGSqS0__">fromString(_:)</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -408,12 +443,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>Gets the corresponding <code>UsergridUserProperties</code> from a string if it&rsquo;s valid.</p>
+                        <p>Gets the corresponding <code><a href="../Enums/UsergridUserProperties.html">UsergridUserProperties</a></code> from a string if it&rsquo;s valid.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">fromString</span><span class="p">(</span><span class="nv">stringValue</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">UsergridUserProperties</span><span class="p">?</span></code></pre>
 
@@ -441,7 +476,7 @@
                       </div>
                       <div>
                         <h4>Return Value</h4>
-                        <p>The corresponding <code>UsergridUserProperties</code> or nil.</p>
+                        <p>The corresponding <code><a href="../Enums/UsergridUserProperties.html">UsergridUserProperties</a></code> or nil.</p>
 
                       </div>
                     </section>
@@ -465,7 +500,7 @@
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">stringValue</span><span class="p">:</span> <span class="kt">String</span></code></pre>
 
@@ -479,8 +514,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Extensions.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Extensions.html
index e293ef7..a5c3fb5 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Extensions.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Extensions.html
@@ -7,12 +7,13 @@
     <meta charset='utf-8'>
     <script src="js/jquery.min.js" defer></script>
     <script src="js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a title="Extensions  Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="index.html"> Docs</a> (88% documented)</p>
+        <p><a href="index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -26,7 +27,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="Classes.html">Classes</a>
+            <a href="Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="Classes/Usergrid.html">Usergrid</a>
@@ -38,6 +39,9 @@
                 <a href="Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -47,6 +51,9 @@
                 <a href="Classes/UsergridClientConfig.html">UsergridClientConfig</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridDevice.html">UsergridDevice</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridEntity.html">UsergridEntity</a>
               </li>
               <li class="nav-group-task">
@@ -56,9 +63,15 @@
                 <a href="Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -67,15 +80,32 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="Enums.html">Enums</a>
+            <a href="Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Enums/UsergridAuthMode.html">UsergridAuthMode</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Enums/UsergridDirection.html">UsergridDirection</a>
               </li>
               <li class="nav-group-task">
                 <a href="Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -90,15 +120,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="Extensions.html">Extensions</a>
+            <a href="Extensions.html">Extensions</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="Extensions/UsergridClient.html">UsergridClient</a>
+                <a href="Extensions/NSDate.html">NSDate</a>
               </li>
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="Typealiases.html">Typealiases</a>
+            <a href="Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -118,6 +148,12 @@
               <li class="nav-group-task">
                 <a href="Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -135,9 +171,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:C11UsergridSDK14UsergridClient"></a>
-                    <a name="//apple_ref/swift/Extension/UsergridClient" class="dashAnchor"></a>
-                    <a class="token" href="#/s:C11UsergridSDK14UsergridClient">UsergridClient</a>
+                    <a name="/c:objc(cs)NSDate"></a>
+                    <a name="//apple_ref/swift/Extension/NSDate" class="dashAnchor"></a>
+                    <a class="token" href="#/c:objc(cs)NSDate">NSDate</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -145,17 +181,9 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The <code>UsergridClient</code> class is the base handler for making client connections to and managing relationships with Usergrid&rsquo;s API.</p>
+                        <p>Undocumented</p>
 
-                        <a href="Extensions/UsergridClient.html" class="slightly-smaller">See more</a>
-                      </div>
-                      <div class="declaration">
-                        <h4>Declaration</h4>
-                        <div class="Swift">
-                          <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">UsergridClient</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
-
-                        </div>
+                        <a href="Extensions/NSDate.html" class="slightly-smaller">See more</a>
                       </div>
                     </section>
                   </div>
@@ -165,8 +193,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-10-21)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Extensions/NSDate.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Extensions/NSDate.html
new file mode 100644
index 0000000..e69c6e3
--- /dev/null
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Extensions/NSDate.html
@@ -0,0 +1,448 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>NSDate Extension Reference</title>
+    <link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
+    <link rel="stylesheet" type="text/css" href="../css/highlight.css" />
+    <meta charset='utf-8'>
+    <script src="../js/jquery.min.js" defer></script>
+    <script src="../js/jazzy.js" defer></script>
+    
+  </head>
+  <body>
+    <a name="//apple_ref/swift/Extension/NSDate" class="dashAnchor"></a>
+    <a title="NSDate Extension Reference"></a>
+    <header>
+      <div class="content-wrapper">
+        <p><a href="../index.html"> Docs</a> (100% documented)</p>
+      </div>
+    </header>
+    <div class="content-wrapper">
+      <p id="breadcrumbs">
+        <a href="../index.html"> Reference</a>
+        <img id="carat" src="../img/carat.png" />
+        NSDate Extension Reference
+      </p>
+    </div>
+    <div class="content-wrapper">
+      <nav class="sidebar">
+        <ul class="nav-groups">
+          <li class="nav-group-name">
+            <a href="../Classes.html">Classes</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Classes/Usergrid.html">Usergrid</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAppAuth.html">UsergridAppAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAsset.html">UsergridAsset</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridAuth.html">UsergridAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClient.html">UsergridClient</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridClientConfig.html">UsergridClientConfig</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridDevice.html">UsergridDevice</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridEntity.html">UsergridEntity</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridFileMetaData.html">UsergridFileMetaData</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridQuery.html">UsergridQuery</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponse.html">UsergridResponse</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUser.html">UsergridUser</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Classes/UsergridUserAuth.html">UsergridUserAuth</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Global Variables.html">Global Variables</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridAuthMode.html">UsergridAuthMode</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridDirection.html">UsergridDirection</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridImageContentType.html">UsergridImageContentType</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQueryOperator.html">UsergridQueryOperator</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridQuerySortOrder.html">UsergridQuerySortOrder</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Enums/UsergridUserProperties.html">UsergridUserProperties</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="../Typealiases.html">Typealiases</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridAssetDownloadCompletion">UsergridAssetDownloadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK28UsergridAssetRequestProgress">UsergridAssetRequestProgress</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK29UsergridAssetUploadCompletion">UsergridAssetUploadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK26UsergridResponseCompletion">UsergridResponseCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="../Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
+            </ul>
+          </li>
+        </ul>
+      </nav>
+      <article class="main-content">
+        <section>
+          <section class="section">
+            <h1>NSDate</h1>
+            <p>Undocumented</p>
+
+          </section>
+          <section class="section task-group-section">
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FE11UsergridSDKCSo6NSDatecFT12millisecondsSS_S0_"></a>
+                    <a name="//apple_ref/swift/Method/init(milliseconds:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FE11UsergridSDKCSo6NSDatecFT12millisecondsSS_S0_">init(milliseconds:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Creates a new <code><a href="../Extensions/NSDate.html">NSDate</a></code> object with the given milliseconds.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="n">convenience</span> <span class="nf">init</span><span class="p">(</span><span class="nv">milliseconds</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>milliseconds</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>the milliseconds</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>A new <code><a href="../Extensions/NSDate.html">NSDate</a></code> object.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FE11UsergridSDKCSo6NSDate18dateAsMillisecondsFT_Si"></a>
+                    <a name="//apple_ref/swift/Method/dateAsMilliseconds()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FE11UsergridSDKCSo6NSDate18dateAsMillisecondsFT_Si">dateAsMilliseconds()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Converts the <code><a href="../Extensions/NSDate.html">NSDate</a></code> object to milliseconds.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">dateAsMilliseconds</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Int</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>The number of milliseconds corresponding to the date.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:FE11UsergridSDKCSo6NSDate24dateAsMillisecondsStringFT_SS"></a>
+                    <a name="//apple_ref/swift/Method/dateAsMillisecondsString()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:FE11UsergridSDKCSo6NSDate24dateAsMillisecondsStringFT_SS">dateAsMillisecondsString()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Converts the <code><a href="../Extensions/NSDate.html">NSDate</a></code> object to milliseconds and returns the value as a string.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">dateAsMillisecondsString</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>The number of milliseconds corresponding to the date as a string.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFE11UsergridSDKCSo6NSDate22stringFromMillesecondsFSiSS"></a>
+                    <a name="//apple_ref/swift/Method/stringFromMilleseconds(_:)" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFE11UsergridSDKCSo6NSDate22stringFromMillesecondsFSiSS">stringFromMilleseconds(_:)</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Converts the number of milliseconds to a string.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">stringFromMilleseconds</span><span class="p">(</span><span class="nv">milliseconds</span><span class="p">:</span><span class="kt">Int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Parameters</h4>
+                        <table class="graybox">
+                          <tbody>
+                            <tr>
+                              <td>
+                                <code>
+                                <em>milliseconds</em>
+                                </code>
+                              </td>
+                              <td>
+                                <div>
+                                  <p>the milliseconds to convert</p>
+
+                                </div>
+                              </td>
+                            </tr>
+                          </tbody>
+                        </table>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>The milliseconds as a string.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFE11UsergridSDKCSo6NSDate19unixTimeStampStringFT_SS"></a>
+                    <a name="//apple_ref/swift/Method/unixTimeStampString()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFE11UsergridSDKCSo6NSDate19unixTimeStampStringFT_SS">unixTimeStampString()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Converts the <code><a href="../Extensions/NSDate.html">NSDate</a></code> object to the corresponding UNIX time stamp as a string.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">unixTimeStampString</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">String</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>The UNIX time stamp as a string.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFE11UsergridSDKCSo6NSDate13unixTimeStampFT_Si"></a>
+                    <a name="//apple_ref/swift/Method/unixTimeStamp()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFE11UsergridSDKCSo6NSDate13unixTimeStampFT_Si">unixTimeStamp()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Converts the <code><a href="../Extensions/NSDate.html">NSDate</a></code> object to the corresponding UNIX time stamp.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">unixTimeStamp</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Int</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>The UNIX time stamp.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:ZFE11UsergridSDKCSo6NSDate17nowAsMillisecondsFT_Si"></a>
+                    <a name="//apple_ref/swift/Method/nowAsMilliseconds()" class="dashAnchor"></a>
+                    <a class="token" href="#/s:ZFE11UsergridSDKCSo6NSDate17nowAsMillisecondsFT_Si">nowAsMilliseconds()</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>Converts the current date to milliseconds.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">nowAsMilliseconds</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">Int</span></code></pre>
+
+                        </div>
+                      </div>
+                      <div>
+                        <h4>Return Value</h4>
+                        <p>The milliseconds of the current date.</p>
+
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+          </section>
+        </section>
+        <section id="footer">
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+        </section>
+      </article>
+    </div>
+  </body>
+</div>
+</html>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Global Variables.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Global Variables.html
new file mode 100644
index 0000000..2685313
--- /dev/null
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Global Variables.html
@@ -0,0 +1,210 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>Global Variables  Reference</title>
+    <link rel="stylesheet" type="text/css" href="css/jazzy.css" />
+    <link rel="stylesheet" type="text/css" href="css/highlight.css" />
+    <meta charset='utf-8'>
+    <script src="js/jquery.min.js" defer></script>
+    <script src="js/jazzy.js" defer></script>
+    
+  </head>
+  <body>
+    <a title="Global Variables  Reference"></a>
+    <header>
+      <div class="content-wrapper">
+        <p><a href="index.html"> Docs</a> (100% documented)</p>
+      </div>
+    </header>
+    <div class="content-wrapper">
+      <p id="breadcrumbs">
+        <a href="index.html"> Reference</a>
+        <img id="carat" src="img/carat.png" />
+        Global Variables  Reference
+      </p>
+    </div>
+    <div class="content-wrapper">
+      <nav class="sidebar">
+        <ul class="nav-groups">
+          <li class="nav-group-name">
+            <a href="Classes.html">Classes</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Classes/Usergrid.html">Usergrid</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Classes/UsergridAppAuth.html">UsergridAppAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Classes/UsergridAsset.html">UsergridAsset</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Classes/UsergridAuth.html">UsergridAuth</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Classes/UsergridClient.html">UsergridClient</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Classes/UsergridClientConfig.html">UsergridClientConfig</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Classes/UsergridDevice.html">UsergridDevice</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Classes/UsergridEntity.html">UsergridEntity</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Classes/UsergridFileMetaData.html">UsergridFileMetaData</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Classes/UsergridQuery.html">UsergridQuery</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Classes/UsergridResponse.html">UsergridResponse</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Classes/UsergridUser.html">UsergridUser</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Classes/UsergridUserAuth.html">UsergridUserAuth</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="Global Variables.html">Global Variables</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Enums/UsergridAuthMode.html">UsergridAuthMode</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Enums/UsergridDirection.html">UsergridDirection</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Enums/UsergridImageContentType.html">UsergridImageContentType</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Enums/UsergridQueryOperator.html">UsergridQueryOperator</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Enums/UsergridQuerySortOrder.html">UsergridQuerySortOrder</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Enums/UsergridUserProperties.html">UsergridUserProperties</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="Typealiases.html">Typealiases</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK31UsergridAssetDownloadCompletion">UsergridAssetDownloadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK28UsergridAssetRequestProgress">UsergridAssetRequestProgress</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK29UsergridAssetUploadCompletion">UsergridAssetUploadCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK26UsergridResponseCompletion">UsergridResponseCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
+            </ul>
+          </li>
+        </ul>
+      </nav>
+      <article class="main-content">
+        <section>
+          <section class="section">
+            <h1>Global Variables</h1>
+            <p>The following global variables are available globally.</p>
+
+          </section>
+          <section class="section task-group-section">
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:v11UsergridSDK18UsergridSDKVersionSS"></a>
+                    <a name="//apple_ref/swift/Global/UsergridSDKVersion" class="dashAnchor"></a>
+                    <a class="token" href="#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The version number for the Usergrid Swift SDK.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">UsergridSDKVersion</span> <span class="o">=</span> <span class="s">"2.1.1"</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+          </section>
+        </section>
+        <section id="footer">
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+        </section>
+      </article>
+    </div>
+  </body>
+</div>
+</html>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Typealiases.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Typealiases.html
index 827812c..4a5b04a 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Typealiases.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/Typealiases.html
@@ -7,12 +7,13 @@
     <meta charset='utf-8'>
     <script src="js/jquery.min.js" defer></script>
     <script src="js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a title="Typealiases  Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="index.html"> Docs</a> (97% documented)</p>
+        <p><a href="index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -26,7 +27,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="Classes.html">Classes</a>
+            <a href="Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="Classes/Usergrid.html">Usergrid</a>
@@ -38,6 +39,9 @@
                 <a href="Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -59,9 +63,15 @@
                 <a href="Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -70,10 +80,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="Enums.html">Enums</a>
+            <a href="Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -85,6 +103,9 @@
                 <a href="Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -99,7 +120,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="Typealiases.html">Typealiases</a>
+            <a href="Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -119,6 +148,12 @@
               <li class="nav-group-task">
                 <a href="Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -136,33 +171,6 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:11UsergridSDK31UsergridUserAuthCompletionBlock"></a>
-                    <a name="//apple_ref/swift/Alias/UsergridUserAuthCompletionBlock" class="dashAnchor"></a>
-                    <a class="token" href="#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
-                    </code>
-                  </div>
-                  <div class="height-container">
-                    <div class="pointer-container"></div>
-                    <section class="section">
-                      <div class="pointer"></div>
-                      <div class="abstract">
-                        <p>The completion block used in <code>UsergridUserAuth</code> authentication methods.</p>
-
-                      </div>
-                      <div class="declaration">
-                        <h4>Declaration</h4>
-                        <div class="Swift">
-                          <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridUserAuthCompletionBlock</span> <span class="o">=</span> <span class="p">(</span><span class="nv">auth</span><span class="p">:</span><span class="kt">UsergridUserAuth</span><span class="p">?,</span> <span class="nv">user</span><span class="p">:</span><span class="kt">UsergridUser</span><span class="p">?,</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">String</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
-
-                        </div>
-                      </div>
-                    </section>
-                  </div>
-                </li>
-                <li class="item">
-                  <div>
-                    <code>
                     <a name="/s:11UsergridSDK30UsergridAppAuthCompletionBlock"></a>
                     <a name="//apple_ref/swift/Alias/UsergridAppAuthCompletionBlock" class="dashAnchor"></a>
                     <a class="token" href="#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -173,14 +181,99 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The completion block used in <code>UsergridAppAuth</code> authentication methods.</p>
+                        <p>The completion block used in <code><a href="Classes/UsergridAppAuth.html">UsergridAppAuth</a></code> authentication methods.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridAppAuthCompletionBlock</span> <span class="o">=</span> <span class="p">(</span><span class="nv">auth</span><span class="p">:</span><span class="kt">UsergridAppAuth</span><span class="p">?,</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">String</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridAppAuthCompletionBlock</span> <span class="o">=</span> <span class="p">(</span><span class="nv">auth</span><span class="p">:</span><span class="kt">UsergridAppAuth</span><span class="p">?,</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">UsergridResponseError</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:11UsergridSDK31UsergridUserAuthCompletionBlock"></a>
+                    <a name="//apple_ref/swift/Alias/UsergridUserAuthCompletionBlock" class="dashAnchor"></a>
+                    <a class="token" href="#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The completion block used in <code><a href="Classes/UsergridUserAuth.html">UsergridUserAuth</a></code> authentication methods.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridUserAuthCompletionBlock</span> <span class="o">=</span> <span class="p">(</span><span class="nv">auth</span><span class="p">:</span><span class="kt">UsergridUserAuth</span><span class="p">?,</span> <span class="nv">user</span><span class="p">:</span><span class="kt">UsergridUser</span><span class="p">?,</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">UsergridResponseError</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+              </ul>
+            </div>
+            <div class="task-group">
+              <ul>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:11UsergridSDK34UsergridUserAvailabilityCompletion"></a>
+                    <a name="//apple_ref/swift/Alias/UsergridUserAvailabilityCompletion" class="dashAnchor"></a>
+                    <a class="token" href="#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The completion block used for checking email and/or username availablity for new <code><a href="Classes/UsergridUser.html">UsergridUser</a></code> objects.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridUserAvailabilityCompletion</span> <span class="o">=</span> <span class="p">(</span><span class="nv">error</span><span class="p">:</span> <span class="kt">UsergridResponseError</span><span class="p">?,</span> <span class="nv">available</span><span class="p">:</span><span class="kt">Bool</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
+
+                        </div>
+                      </div>
+                    </section>
+                  </div>
+                </li>
+                <li class="item">
+                  <div>
+                    <code>
+                    <a name="/s:11UsergridSDK35UsergridUserResetPasswordCompletion"></a>
+                    <a name="//apple_ref/swift/Alias/UsergridUserResetPasswordCompletion" class="dashAnchor"></a>
+                    <a class="token" href="#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+                    </code>
+                  </div>
+                  <div class="height-container">
+                    <div class="pointer-container"></div>
+                    <section class="section">
+                      <div class="pointer"></div>
+                      <div class="abstract">
+                        <p>The completion block used for changing the password of <code><a href="Classes/UsergridUser.html">UsergridUser</a></code> objects.</p>
+
+                      </div>
+                      <div class="declaration">
+                        <h4>Declaration</h4>
+                        <div class="language">
+                          <p class="aside-title">Swift</p>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridUserResetPasswordCompletion</span> <span class="o">=</span> <span class="p">(</span><span class="nv">error</span><span class="p">:</span> <span class="kt">UsergridResponseError</span><span class="p">?,</span> <span class="nv">didSucceed</span><span class="p">:</span><span class="kt">Bool</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
 
                         </div>
                       </div>
@@ -204,12 +297,12 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The completion block used in for most <code>UsergridClient</code> requests.</p>
+                        <p>The completion block used in for most <code><a href="Classes/UsergridClient.html">UsergridClient</a></code> requests.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
                           <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridResponseCompletion</span> <span class="o">=</span> <span class="p">(</span><span class="nv">response</span><span class="p">:</span> <span class="kt">UsergridResponse</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
 
@@ -225,9 +318,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:11UsergridSDK31UsergridAssetDownloadCompletion"></a>
-                    <a name="//apple_ref/swift/Alias/UsergridAssetDownloadCompletion" class="dashAnchor"></a>
-                    <a class="token" href="#/s:11UsergridSDK31UsergridAssetDownloadCompletion">UsergridAssetDownloadCompletion</a>
+                    <a name="/s:11UsergridSDK28UsergridAssetRequestProgress"></a>
+                    <a name="//apple_ref/swift/Alias/UsergridAssetRequestProgress" class="dashAnchor"></a>
+                    <a class="token" href="#/s:11UsergridSDK28UsergridAssetRequestProgress">UsergridAssetRequestProgress</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -235,14 +328,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The completion block used in <code>UsergridAsset</code> are finished downloading.</p>
+                        <p>The progress block used in <code><a href="Classes/UsergridAsset.html">UsergridAsset</a></code> are being uploaded or downloaded.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridAssetDownloadCompletion</span> <span class="o">=</span> <span class="p">(</span><span class="k">as</span><span class="nv">set</span><span class="p">:</span><span class="kt">UsergridAsset</span><span class="p">?,</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">String</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridAssetRequestProgress</span> <span class="o">=</span> <span class="p">(</span><span class="nv">bytesFinished</span><span class="p">:</span><span class="kt">Int64</span><span class="p">,</span> <span class="nv">bytesExpected</span><span class="p">:</span> <span class="kt">Int64</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
 
                         </div>
                       </div>
@@ -262,14 +355,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The completion block used in <code>UsergridAsset</code> are finished uploading.</p>
+                        <p>The completion block used in <code><a href="Classes/UsergridAsset.html">UsergridAsset</a></code> are finished uploading.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridAssetUploadCompletion</span> <span class="o">=</span> <span class="p">(</span><span class="nv">response</span><span class="p">:</span><span class="kt">UsergridResponse</span><span class="p">,</span><span class="k">as</span><span class="nv">set</span><span class="p">:</span><span class="kt">UsergridAsset</span><span class="p">?,</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">String</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridAssetUploadCompletion</span> <span class="o">=</span> <span class="p">(</span><span class="k">as</span><span class="nv">set</span><span class="p">:</span><span class="kt">UsergridAsset</span><span class="p">?,</span> <span class="nv">response</span><span class="p">:</span> <span class="kt">UsergridResponse</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
 
                         </div>
                       </div>
@@ -279,9 +372,9 @@
                 <li class="item">
                   <div>
                     <code>
-                    <a name="/s:11UsergridSDK28UsergridAssetRequestProgress"></a>
-                    <a name="//apple_ref/swift/Alias/UsergridAssetRequestProgress" class="dashAnchor"></a>
-                    <a class="token" href="#/s:11UsergridSDK28UsergridAssetRequestProgress">UsergridAssetRequestProgress</a>
+                    <a name="/s:11UsergridSDK31UsergridAssetDownloadCompletion"></a>
+                    <a name="//apple_ref/swift/Alias/UsergridAssetDownloadCompletion" class="dashAnchor"></a>
+                    <a class="token" href="#/s:11UsergridSDK31UsergridAssetDownloadCompletion">UsergridAssetDownloadCompletion</a>
                     </code>
                   </div>
                   <div class="height-container">
@@ -289,14 +382,14 @@
                     <section class="section">
                       <div class="pointer"></div>
                       <div class="abstract">
-                        <p>The progress block used in <code>UsergridAsset</code> are being uploaded or downloaded.</p>
+                        <p>The completion block used in <code><a href="Classes/UsergridAsset.html">UsergridAsset</a></code> are finished downloading.</p>
 
                       </div>
                       <div class="declaration">
                         <h4>Declaration</h4>
-                        <div class="Swift">
+                        <div class="language">
                           <p class="aside-title">Swift</p>
-                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridAssetRequestProgress</span> <span class="o">=</span> <span class="p">(</span><span class="nv">bytesFinished</span><span class="p">:</span><span class="kt">Int64</span><span class="p">,</span> <span class="nv">bytesExpected</span><span class="p">:</span> <span class="kt">Int64</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
+                          <pre class="highlight"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">UsergridAssetDownloadCompletion</span> <span class="o">=</span> <span class="p">(</span><span class="k">as</span><span class="nv">set</span><span class="p">:</span><span class="kt">UsergridAsset</span><span class="p">?,</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">UsergridResponseError</span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
 
                         </div>
                       </div>
@@ -308,8 +401,8 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/css/highlight.css b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/css/highlight.css
index 18c292e..d0db0e1 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/css/highlight.css
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/css/highlight.css
@@ -126,8 +126,7 @@
     color: #000000;
     font-weight: bold; }
   .highlight .kt {
-    color: #445588;
-    font-weight: bold; }
+    color: #445588; }
   .highlight .m {
     color: #009999; }
   .highlight .s {
@@ -147,8 +146,7 @@
     color: #990000;
     font-weight: bold; }
   .highlight .nf {
-    color: #990000;
-    font-weight: bold; }
+    color: #990000; }
   .highlight .nn {
     color: #555555; }
   .highlight .nt {
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/css/jazzy.css b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/css/jazzy.css
index a42da72..2a7da3a 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/css/jazzy.css
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/css/jazzy.css
@@ -13,7 +13,7 @@
   -webkit-font-smoothing: subpixel-antialiased;
   word-wrap: break-word; }
 
-h1, h2, h3, h4, h5, h6 {
+h1, h2, h3 {
   margin-top: 0.8em;
   margin-bottom: 0.3em;
   font-weight: 100;
@@ -26,11 +26,10 @@
   font-size: 2em;
   border-bottom: 1px solid #e2e2e2; }
 
-h3 {
-  font-size: 1.5em; }
-
 h4 {
-  font-size: 1.25em; }
+  font-size: 13px;
+  line-height: 1.5;
+  margin-top: 21px; }
 
 h5 {
   font-size: 1.1em; }
@@ -39,6 +38,14 @@
   font-size: 1.1em;
   color: #777; }
 
+.section-name {
+  color: gray;
+  display: block;
+  font-family: Helvetica;
+  font-size: 22px;
+  font-weight: 100;
+  margin-bottom: 15px; }
+
 pre, code {
   font: 0.95em Menlo, monospace;
   color: #777;
@@ -167,12 +174,6 @@
   border-radius: 4px;
   overflow-x: auto; }
 
-.aside-title {
-  font-size: 9px;
-  letter-spacing: 2px;
-  text-transform: uppercase;
-  padding-bottom: 0; }
-
 .declaration .highlight {
   overflow-x: initial;
   padding: 0 40px 40px 0;
@@ -191,6 +192,12 @@
 .task-group {
   padding-top: 0px; }
 
+.task-name-container a[name]:before {
+  content: "";
+  display: block;
+  padding-top: 70px;
+  margin: -70px 0 0; }
+
 .item {
   padding-top: 8px;
   width: 100%;
@@ -205,7 +212,12 @@
     padding: 0; }
   .item .token {
     padding-left: 3px;
-    margin-left: 15px; }
+    margin-left: 15px;
+    font-size: 11.9px; }
+  .item .declaration-note {
+    font-size: .85em;
+    color: gray;
+    font-style: italic; }
 
 .pointer-container {
   border-bottom: 1px solid #e2e2e2;
@@ -244,14 +256,31 @@
     padding-top: 10px;
     padding-bottom: 5px; }
 
-div.Swift {
-  padding: 4px 0 2px 10px;
-  margin-bottom: 1em;
-  border-left: 5px solid #cde9f4;
+.aside, .language {
+  padding: 6px 12px;
+  margin: 12px 0;
+  border-left: 5px solid #dddddd;
   overflow-y: hidden; }
-  div.Swift .aside-title {
-    color: #4b8afb;
+  .aside .aside-title, .language .aside-title {
+    font-size: 9px;
+    letter-spacing: 2px;
+    text-transform: uppercase;
+    padding-bottom: 0;
+    margin: 0;
+    color: #aaa;
     -webkit-user-select: none; }
+  .aside p:last-child, .language p:last-child {
+    margin-bottom: 0; }
+
+.language {
+  border-left: 5px solid #cde9f4; }
+  .language .aside-title {
+    color: #4b8afb; }
+
+.aside-warning {
+  border-left: 5px solid #ff6666; }
+  .aside-warning .aside-title {
+    color: #ff0000; }
 
 .graybox {
   border-collapse: collapse;
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/index.html b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/index.html
index c84240d..b49cde5 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/index.html
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/index.html
@@ -7,12 +7,13 @@
     <meta charset='utf-8'>
     <script src="js/jquery.min.js" defer></script>
     <script src="js/jazzy.js" defer></script>
+    
   </head>
   <body>
     <a title="  Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="index.html"> Docs</a> (97% documented)</p>
+        <p><a href="index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
@@ -26,7 +27,7 @@
       <nav class="sidebar">
         <ul class="nav-groups">
           <li class="nav-group-name">
-          <a href="Classes.html">Classes</a>
+            <a href="Classes.html">Classes</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="Classes/Usergrid.html">Usergrid</a>
@@ -38,6 +39,9 @@
                 <a href="Classes/UsergridAsset.html">UsergridAsset</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridAssetUploadRequest.html">UsergridAssetUploadRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridAuth.html">UsergridAuth</a>
               </li>
               <li class="nav-group-task">
@@ -59,9 +63,15 @@
                 <a href="Classes/UsergridQuery.html">UsergridQuery</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridRequest.html">UsergridRequest</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridResponse.html">UsergridResponse</a>
               </li>
               <li class="nav-group-task">
+                <a href="Classes/UsergridResponseError.html">UsergridResponseError</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Classes/UsergridUser.html">UsergridUser</a>
               </li>
               <li class="nav-group-task">
@@ -70,10 +80,18 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="Enums.html">Enums</a>
+            <a href="Global Variables.html">Global Variables</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="Global Variables.html#/s:v11UsergridSDK18UsergridSDKVersionSS">UsergridSDKVersion</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="Enums.html">Enums</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -85,6 +103,9 @@
                 <a href="Enums/UsergridEntityProperties.html">UsergridEntityProperties</a>
               </li>
               <li class="nav-group-task">
+                <a href="Enums/UsergridHttpMethod.html">UsergridHttpMethod</a>
+              </li>
+              <li class="nav-group-task">
                 <a href="Enums/UsergridImageContentType.html">UsergridImageContentType</a>
               </li>
               <li class="nav-group-task">
@@ -99,7 +120,15 @@
             </ul>
           </li>
           <li class="nav-group-name">
-          <a href="Typealiases.html">Typealiases</a>
+            <a href="Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
+            <a href="Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
                 <a href="Typealiases.html#/s:11UsergridSDK30UsergridAppAuthCompletionBlock">UsergridAppAuthCompletionBlock</a>
@@ -119,6 +148,12 @@
               <li class="nav-group-task">
                 <a href="Typealiases.html#/s:11UsergridSDK31UsergridUserAuthCompletionBlock">UsergridUserAuthCompletionBlock</a>
               </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK34UsergridUserAvailabilityCompletion">UsergridUserAvailabilityCompletion</a>
+              </li>
+              <li class="nav-group-task">
+                <a href="Typealiases.html#/s:11UsergridSDK35UsergridUserResetPasswordCompletion">UsergridUserResetPasswordCompletion</a>
+              </li>
             </ul>
           </li>
         </ul>
@@ -129,22 +164,27 @@
             
             <a href='#usergridsdk' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h1 id='usergridsdk'>UsergridSDK</h1>
 
-<p><a href="https://travis-ci.org/RobertWalsh/UsergridSDK"><img src="https://travis-ci.org/RobertWalsh/UsergridSDK.svg" alt="Build Status"></a>
-<a href="http://cocoadocs.org/docsets/UsergridSDK"><img src="https://img.shields.io/cocoapods/p/UsergridSDK.svg?style=flat" alt="Platform"></a>
-<a href="https://img.shields.io/cocoapods/v/UsergridSDK.svg"><img src="https://img.shields.io/cocoapods/v/UsergridSDK.svg" alt="Cocoapods Compatible"></a></p>
+<p><a href="http://cocoadocs.org/docsets/UsergridSDK"><img src="https://img.shields.io/cocoapods/p/UsergridSDK.svg?style=flat" alt="Platform"></a>
+<a href="https://cocoapods.org/pods/UsergridSDK"><img src="https://img.shields.io/cocoapods/v/UsergridSDK.svg" alt="CocoaPods Compatible"></a></p>
 
 <p>Usergrid SDK written in Swift </p>
 <a href='#requirements' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='requirements'>Requirements</h2>
 
 <blockquote>
-<p><strong>Embedded frameworks require a minimum deployment target of iOS 8.</strong></p>
+<p><strong>While the Usergrid SDK is written in Swift, the functionality remains compatible with Objective-C.</strong></p>
+
+<p><strong>Use <code>#import &lt;UsergridSDK/UsergridSDK-Swift.h&gt;</code> in your Objective-C files to enable the use of the SDK.</strong></p>
 </blockquote>
 
 <ul>
-<li>iOS 8.0+</li>
+<li>iOS 8.0+ / Mac OS X 10.11+ / tvOS 9.1+ / watchOS 2.1+</li>
 <li>Xcode 7.1+</li>
 </ul>
 <a href='#installation' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='installation'>Installation</h2>
+
+<blockquote>
+<p><strong>Embedded frameworks require a minimum deployment target of iOS 8 or OS X Mavericks (10.9).</strong></p>
+</blockquote>
 <a href='#cocoapods' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='cocoapods'>CocoaPods</h3>
 
 <blockquote>
@@ -172,11 +212,11 @@
 <ul>
 <li>Add UsergridSDK as a git submodule by running the following command:</li>
 </ul>
-<pre class="highlight shell"><code><span class="gp">$ </span>git submodule add https://github.com/RobertWalsh/UsergridSDK.git
+<pre class="highlight shell"><code><span class="gp">$ </span>git submodule add https://github.com/apache/usergrid
 </code></pre>
 
 <ul>
-<li>Open the new <code>UsergridSDK</code> folder, and drag the <code>UsergridSDK.xcodeproj</code> into the Project Navigator of your application&rsquo;s Xcode project.</li>
+<li>Open the <code>sdks/swift</code> folder, and drag the <code>UsergridSDK.xcodeproj</code> into the Project Navigator of your application&rsquo;s Xcode project.</li>
 </ul>
 
 <blockquote>
@@ -199,33 +239,686 @@
 <p>The documentation for this library is available <a href="http://cocoadocs.org/docsets/UsergridSDK">here</a>.</p>
 <a href='#initialization' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='initialization'>Initialization</h2>
 
-<p>The <code>Usergrid</code> class acts as a static shared instance manager for the <code>UsergridClient</code> class.</p>
+<p>There are two different ways of initializing the Usergrid Swift SDK: </p>
+
+<ol>
+<li>The singleton pattern is both convenient and enables the developer to use a globally available and always-initialized instance of Usergrid.</li>
+</ol>
+<pre class="highlight swift"><code><span class="kt">Usergrid</span><span class="o">.</span><span class="nf">initSharedInstance</span><span class="p">(</span><span class="nv">orgId</span><span class="p">:</span> <span class="s">"orgId"</span><span class="p">,</span> <span class="nv">appId</span><span class="p">:</span> <span class="s">"appId"</span><span class="p">)</span>
+</code></pre>
+
+<ol>
+<li>The Instance pattern enables the developer to manage instances of the Usergrid client independently and in an isolated fashion. The primary use-case for this is when an application connects to multiple Usergrid targets.</li>
+</ol>
+<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">client</span> <span class="o">=</span> <span class="kt">UsergridClient</span><span class="p">(</span><span class="nv">orgId</span><span class="p">:</span> <span class="s">"orgId"</span><span class="p">,</span> <span class="nv">appId</span><span class="p">:</span> <span class="s">"appId"</span><span class="p">)</span>
+</code></pre>
+
+<p><em>Note: Examples in this readme assume you are using the <code>Usergrid</code> shared instance. If you&rsquo;ve implemented the instance pattern instead, simply replace <code>Usergrid</code> with your client instance variable.</em></p>
+<a href='#push_notifications' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='push_notifications'>Push Notifications</h2>
+
+<p><em>Note: You must have an Apple Developer account along with valid provisioning profiles set in order to receive push notifications.</em></p>
+
+<p>In order to utilize Usergrid push notifications, you must register the device with an Usergrid push notifier identifier.</p>
 
 <blockquote>
-<p>While it is possible to create mutliple instances of the <code>UsergridClient</code> class, we recomend using the shared instance where possible.</p>
+<p>For a more thorough example of recieving push notifications and sending push notifications (from the device) refer to the Push sample app located in the <code>/Samples</code> folder.</p>
 </blockquote>
 
-<p>To initialize the shared instance of you will want to call the following code.  This code usually goes best in the AppDelegate&rsquo;s life cycle functions.</p>
+<p>The following code snippet shows how you would register for push notifications and apply the push token within the application delegate.</p>
 <pre class="highlight swift"><code><span class="kd">import</span> <span class="kt">UsergridSDK</span>
 
-<span class="kd">func</span> <span class="nf">application</span><span class="p">(</span><span class="nv">application</span><span class="p">:</span> <span class="kt">UIApplication</span><span class="p">,</span> <span class="n">didFinishLaunchingWithOptions</span> <span class="nv">launchOptions</span><span class="p">:</span> <span class="p">[</span><span class="kt">NSObject</span><span class="p">:</span> <span class="kt">AnyObject</span><span class="p">]?)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span>
-    <span class="kt">Usergrid</span><span class="o">.</span><span class="nf">initSharedInstance</span><span class="p">(</span><span class="nv">orgID</span><span class="p">:</span> <span class="s">"orgID"</span><span class="p">,</span> <span class="nv">appID</span><span class="p">:</span> <span class="s">"appID"</span><span class="p">)</span>
-    <span class="k">return</span> <span class="kc">true</span>
+<span class="kd">@UIApplicationMain</span> <span class="kd">class</span> <span class="kt">AppDelegate</span><span class="p">:</span> <span class="kt">UIResponder</span><span class="p">,</span> <span class="kt">UIApplicationDelegate</span> <span class="p">{</span>
+
+    <span class="kd">func</span> <span class="nf">application</span><span class="p">(</span><span class="nv">application</span><span class="p">:</span> <span class="kt">UIApplication</span><span class="p">,</span> <span class="n">didFinishLaunchingWithOptions</span> <span class="nv">launchOptions</span><span class="p">:</span> <span class="p">[</span><span class="kt">NSObject</span><span class="p">:</span> <span class="kt">AnyObject</span><span class="p">]?)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span> <span class="p">{</span>
+
+        <span class="c1">// Initialize the shared instance of Usergrid.</span>
+        <span class="kt">Usergrid</span><span class="o">.</span><span class="nf">initSharedInstance</span><span class="p">(</span><span class="nv">orgId</span><span class="p">:</span><span class="s">"orgId"</span><span class="p">,</span> <span class="nv">appId</span><span class="p">:</span> <span class="s">"appId"</span><span class="p">)</span>
+
+        <span class="c1">// Register for APN</span>
+        <span class="n">application</span><span class="o">.</span><span class="nf">registerUserNotificationSettings</span><span class="p">(</span><span class="kt">UIUserNotificationSettings</span><span class="p">(</span> <span class="nv">forTypes</span><span class="p">:</span> <span class="p">[</span><span class="o">.</span><span class="kt">Alert</span><span class="p">,</span> <span class="o">.</span><span class="kt">Badge</span><span class="p">,</span> <span class="o">.</span><span class="kt">Sound</span><span class="p">],</span> <span class="nv">categories</span><span class="p">:</span> <span class="kc">nil</span><span class="p">))</span>
+        <span class="n">application</span><span class="o">.</span><span class="nf">registerForRemoteNotifications</span><span class="p">()</span>
+
+        <span class="k">return</span> <span class="kc">true</span>
+    <span class="p">}</span>
+
+    <span class="kd">func</span> <span class="nf">application</span><span class="p">(</span><span class="nv">application</span><span class="p">:</span> <span class="kt">UIApplication</span><span class="p">,</span> <span class="n">didRegisterForRemoteNotificationsWithDeviceToken</span> <span class="nv">deviceToken</span><span class="p">:</span> <span class="kt">NSData</span><span class="p">)</span> <span class="p">{</span>
+        <span class="kt">Usergrid</span><span class="o">.</span><span class="nf">applyPushToken</span><span class="p">(</span><span class="n">deviceToken</span><span class="p">,</span> <span class="nv">notifierID</span><span class="p">:</span> <span class="s">"notifierId"</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+            <span class="c1">// The push notification is now added to Usergrid for this device and this device will now be able to recieve notifications.</span>
+        <span class="p">}</span>
+    <span class="p">}</span>
 <span class="p">}</span>
 </code></pre>
-<a href='#communication' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='communication'>Communication</h2>
+<a href='#restful_operations' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='restful_operations'>RESTful operations</h2>
+
+<p>When making any RESTful call, a <code>type</code> parameter (or <code>path</code>) is always required. Whether you specify this as an argument or in an object as a parameter is up to you.</p>
+<a href='#get' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='get'>GET</h3>
 
 <ul>
-<li>If you <strong>found a bug</strong>, open an issue.</li>
-<li>If you <strong>have a feature request</strong>, open an issue.</li>
-<li>If you <strong>want to contribute</strong>, submit a pull request.</li>
+<li>To get entities in a collection:</li>
 </ul>
+<pre class="highlight swift"><code><span class="kt">Usergrid</span><span class="o">.</span><span class="kt">GET</span><span class="p">(</span><span class="s">"collection"</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="k">var</span> <span class="nv">entities</span><span class="p">:</span> <span class="p">[</span><span class="kt">UsergridEntity</span><span class="p">]?</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">entities</span>
+<span class="p">}</span>
+</code></pre>
+
+<ul>
+<li>To get a specific entity in a collection by uuid or name:</li>
+</ul>
+<pre class="highlight swift"><code><span class="kt">Usergrid</span><span class="o">.</span><span class="kt">GET</span><span class="p">(</span><span class="s">"collection"</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span><span class="s">"&lt;uuid-or-name&gt;"</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="k">var</span> <span class="nv">entity</span><span class="p">:</span> <span class="kt">UsergridEntity</span><span class="p">?</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">entity</span><span class="p">?</span>
+<span class="p">}</span>
+</code></pre>
+
+<ul>
+<li>To get specific entities in a collection by passing a <code>UsergridQuery</code> object:</li>
+</ul>
+<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">query</span> <span class="o">=</span> <span class="kt">UsergridQuery</span><span class="p">(</span><span class="s">"cats"</span><span class="p">)</span><span class="o">.</span><span class="nf">gt</span><span class="p">(</span><span class="s">"weight"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="mf">2.4</span><span class="p">)</span>
+                                 <span class="o">.</span><span class="nf">contains</span><span class="p">(</span><span class="s">"color"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span><span class="s">"bl*"</span><span class="p">)</span>
+                                 <span class="o">.</span><span class="nf">not</span><span class="p">()</span>
+                                 <span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"color"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span><span class="s">"blue"</span><span class="p">)</span>
+                                 <span class="o">.</span><span class="nf">or</span><span class="p">()</span>
+                                 <span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"color"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span><span class="s">"orange"</span><span class="p">)</span>
+
+<span class="c1">// this will build out the following query:</span>
+<span class="c1">// select * where weight &gt; 2.4 and color contains 'bl*' and not color = 'blue' or color = 'orange'</span>
+
+<span class="kt">Usergrid</span><span class="o">.</span><span class="kt">GET</span><span class="p">(</span><span class="n">query</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="k">var</span> <span class="nv">entities</span><span class="p">:</span> <span class="p">[</span><span class="kt">UsergridEntity</span><span class="p">]?</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">entities</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#post_and_put' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='post_and_put'>POST and PUT</h3>
+
+<p>POST and PUT requests both require a JSON body payload. You can pass either a Swift object or a <code>UsergridEntity</code> instance. While the former works in principle, best practise is to use a <code>UsergridEntity</code> wherever practical. When an entity has a uuid or name property and already exists on the server, use a PUT request to update it. If it does not, use POST to create it.</p>
+
+<ul>
+<li>To create a new entity in a collection (<strong>POST</strong>):</li>
+</ul>
+<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">entity</span> <span class="o">=</span> <span class="kt">UsergridEntity</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="s">"restaurant"</span><span class="p">,</span> <span class="nv">propertyDict</span><span class="p">:</span> <span class="p">[</span><span class="s">"restaurant"</span><span class="p">:</span> <span class="s">"Dino's Deep Dish"</span><span class="p">,</span><span class="s">"cuisine"</span><span class="p">:</span> <span class="s">"pizza"</span><span class="p">])</span>
+
+<span class="kt">Usergrid</span><span class="o">.</span><span class="kt">POST</span><span class="p">(</span><span class="n">entity</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// entity should now have a uuid property and be created</span>
+<span class="p">}</span>
+
+<span class="c1">// you can also POST an array of entities:</span>
+
+<span class="k">var</span> <span class="nv">entities</span> <span class="o">=</span> <span class="p">[</span><span class="kt">UsergridEntity</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="s">"restaurant"</span><span class="p">,</span> <span class="nv">propertyDict</span><span class="p">:[</span><span class="s">"restaurant"</span><span class="p">:</span> <span class="s">"Dino's Deep Dish"</span><span class="p">,</span><span class="s">"cuisine"</span><span class="p">:</span> <span class="s">"pizza"</span><span class="p">]),</span> 
+                <span class="kt">UsergridEntity</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="s">"restaurant"</span><span class="p">,</span> <span class="nv">propertyDict</span><span class="p">:[</span><span class="s">"restaurant"</span><span class="p">:</span> <span class="s">"Pizza da Napoli"</span><span class="p">,</span><span class="s">"cuisine"</span><span class="p">:</span> <span class="s">"pizza"</span><span class="p">])]</span>
+
+<span class="kt">Usergrid</span><span class="o">.</span><span class="kt">POST</span><span class="p">(</span><span class="n">entities</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// response.entities should now contain now valid posted entities.</span>
+<span class="p">}</span>
+</code></pre>
+
+<ul>
+<li>To update an entity in a collection (<strong>PUT</strong>):</li>
+</ul>
+<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">entity</span> <span class="o">=</span> <span class="kt">UsergridEntity</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="s">"restaurant"</span><span class="p">,</span> <span class="nv">propertyDict</span><span class="p">:[</span><span class="s">"restaurant"</span><span class="p">:</span> <span class="s">"Dino's Deep Dish"</span><span class="p">,</span> <span class="s">"cuisine"</span><span class="p">:</span> <span class="s">"pizza"</span><span class="p">])</span>
+
+<span class="kt">Usergrid</span><span class="o">.</span><span class="kt">POST</span><span class="p">(</span><span class="n">entity</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="k">if</span> <span class="k">let</span> <span class="nv">responseEntity</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">entity</span> <span class="p">{</span>
+        <span class="n">responseEntity</span><span class="p">[</span><span class="s">"owner"</span><span class="p">]</span> <span class="o">=</span> <span class="s">"Mia Carrara"</span>
+        <span class="kt">Usergrid</span><span class="o">.</span><span class="kt">PUT</span><span class="p">(</span><span class="n">responseEntity</span><span class="p">)</span> <span class="p">{</span> <span class="p">(</span><span class="n">response</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span> <span class="k">in</span>
+            <span class="c1">// entity now has the property 'owner'</span>
+        <span class="p">}</span>
+    <span class="p">}</span>
+<span class="p">}</span>
+
+<span class="c1">// or update a set of entities by passing a UsergridQuery object</span>
+
+<span class="k">var</span> <span class="nv">query</span> <span class="o">=</span> <span class="kt">UsergridQuery</span><span class="p">(</span><span class="s">"restaurants"</span><span class="p">)</span><span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"cuisine"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span><span class="s">"italian"</span><span class="p">)</span>
+
+<span class="kt">Usergrid</span><span class="o">.</span><span class="kt">PUT</span><span class="p">(</span><span class="n">query</span><span class="p">,</span> <span class="nv">jsonBody</span><span class="p">:</span> <span class="p">[</span><span class="s">"keywords"</span><span class="p">:[</span><span class="s">"pasta"</span><span class="p">]])</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+
+    <span class="cm">/* the first 10 entities matching this query criteria will be updated:
+    e.g.:
+        [
+            {
+                "type": "restaurant",
+                "restaurant": "Il Tarazzo",
+                "cuisine": "italian",
+                "keywords": ["pasta"]
+            },
+            {
+                "type": "restaurant",
+                "restaurant": "Cono Sur Pizza &amp; Pasta",
+                "cuisine": "italian",
+                "keywords": ["pasta"]
+            }
+        ]
+    */</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#delete' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='delete'>DELETE</h3>
+
+<p>DELETE requests require either a specific entity or a <code>UsergridQuery</code> object to be passed as an argument.</p>
+
+<ul>
+<li>To delete a specific entity in a collection by uuid or name:</li>
+</ul>
+<pre class="highlight swift"><code><span class="kt">Usergrid</span><span class="o">.</span><span class="kt">DELETE</span><span class="p">(</span><span class="s">"collection"</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span> <span class="s">"&lt;uuid-or-name&gt;"</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// if successful, entity will now be deleted</span>
+<span class="p">})</span>
+</code></pre>
+
+<ul>
+<li>To specific entities in a collection to delete by passing a <code>UsergridQuery</code> object:</li>
+</ul>
+<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">query</span> <span class="o">=</span> <span class="kt">UsergridQuery</span><span class="p">(</span><span class="s">"cats"</span><span class="p">)</span><span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"color"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span><span class="s">"black"</span><span class="p">)</span>
+                                 <span class="o">.</span><span class="nf">or</span><span class="p">()</span>
+                                 <span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"color"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span><span class="s">"white"</span><span class="p">)</span>
+
+<span class="c1">// this will build out the following query:</span>
+<span class="c1">// select * where color = 'black' or color = 'white'</span>
+
+<span class="kt">Usergrid</span><span class="o">.</span><span class="kt">DELETE</span><span class="p">(</span><span class="n">query</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// the first 10 entities matching this query criteria will be deleted</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#entity_operations_and_convenience_methods' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='entity_operations_and_convenience_methods'>Entity operations and convenience methods</h2>
+
+<p><code>UsergridEntity</code> has a number of helper/convenience methods to make working with entities more convenient.</p>
+<a href='#reload' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='reload'>reload()</h3>
+
+<p>Reloads the entity from the server:</p>
+<pre class="highlight swift"><code><span class="n">entity</span><span class="o">.</span><span class="nf">reload</span><span class="p">()</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// entity is now reloaded from the server</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#save' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='save'>save()</h3>
+
+<p>Saves (or creates) the entity on the server:</p>
+<pre class="highlight swift"><code><span class="n">entity</span><span class="p">[</span><span class="s">"aNewProperty"</span><span class="p">]</span> <span class="o">=</span> <span class="s">"A new value"</span>
+<span class="n">entity</span><span class="o">.</span><span class="nf">save</span><span class="p">()</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// entity is now updated on the server</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#remove' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='remove'>remove()</h3>
+
+<p>Deletes the entity from the server:</p>
+<pre class="highlight swift"><code><span class="n">entity</span><span class="o">.</span><span class="nf">remove</span><span class="p">()</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// entity is now deleted on the server and the local instance should be destroyed</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#authentication_current_user_and_auth_fallback' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='authentication_current_user_and_auth_fallback'>Authentication, current user, and auth-fallback</h2>
+<a href='#appauth_and_authenticateapp' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='appauth_and_authenticateapp'>appAuth and authenticateApp()</h3>
+
+<p><code>Usergrid</code> can use the app client ID and secret that were passed upon initialization and automatically retrieve an app-level token for these credentials.</p>
+<pre class="highlight swift"><code><span class="kt">Usergrid</span><span class="o">.</span><span class="nf">setAppAuth</span><span class="p">(</span><span class="s">"&lt;client-id&gt;"</span><span class="p">,</span> <span class="s">"&lt;client-secret&gt;"</span><span class="p">)</span>
+<span class="kt">Usergrid</span><span class="o">.</span><span class="nf">authenticateApp</span><span class="p">()</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// Usergrid.appAuth is authenticated automatically when this call is successful</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#currentuser_userauth_and_authenticateuser' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='currentuser_userauth_and_authenticateuser'>currentUser, userAuth,  and authenticateUser()</h3>
+
+<p><code>Usergrid</code> has a special <code>currentUser</code> property. </p>
+
+<blockquote>
+<p>The current user is stored within the keychain so app relaunches will persist the user&rsquo;s login and token information.  To adjust this feature edit the <code>Usergrid.persistCurrentUserInKeychain</code> property upon initialization.</p>
+</blockquote>
+
+<p>By default, when calling <code>authenticateUser()</code>, <code>.currentUser</code> will be set to this user if the authentication flow is successful.</p>
+<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">userAuth</span> <span class="o">=</span> <span class="kt">UsergridUserAuth</span><span class="p">(</span><span class="nv">username</span><span class="p">:</span> <span class="s">"&lt;username&gt;"</span><span class="p">,</span> <span class="nv">password</span><span class="p">:</span> <span class="s">"&lt;password&gt;"</span><span class="p">)</span>
+<span class="kt">Usergrid</span><span class="o">.</span><span class="nf">authenticateUser</span><span class="p">(</span><span class="n">userAuth</span><span class="p">)</span> <span class="p">{</span> <span class="n">auth</span><span class="p">,</span> <span class="n">user</span><span class="p">,</span> <span class="n">error</span> <span class="k">in</span>
+    <span class="c1">// Usergrid.currentUser is set to the authenticated user and the token is stored within that context</span>
+<span class="p">}</span>
+</code></pre>
+
+<p>If you want to utilize authenticateUser without setting as the current user, simply pass a <code>false</code> boolean value as the second parameter:</p>
+<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">userAuth</span> <span class="o">=</span> <span class="kt">UsergridUserAuth</span><span class="p">(</span><span class="nv">username</span><span class="p">:</span> <span class="s">"&lt;username&gt;"</span><span class="p">,</span> <span class="nv">password</span><span class="p">:</span> <span class="s">"&lt;password&gt;"</span><span class="p">)</span>
+<span class="kt">Usergrid</span><span class="o">.</span><span class="nf">authenticateUser</span><span class="p">(</span><span class="n">userAuth</span><span class="p">,</span><span class="nv">setAsCurrentUser</span><span class="p">:</span> <span class="kc">false</span><span class="p">)</span> <span class="p">{</span> <span class="n">auth</span><span class="p">,</span> <span class="n">user</span><span class="p">,</span> <span class="n">error</span> <span class="k">in</span>
+    <span class="c1">// user is authenticated but Usergrid.currentUser is not set.</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#authfallback' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='authfallback'>authFallback</h3>
+
+<p>Auth-fallback defines what the client should do when a user token is not present. </p>
+
+<p>By default, <code>Usergrid.authFallback</code> is set to <code>.None</code>, whereby when a token is <em>not</em> present, an API call will be performed unauthenticated. </p>
+
+<p>If instead <code>Usergrid.authFallback</code> is set to <code>.App</code>, the API call will instead be performed using client credentials, <em>if</em> they&rsquo;re available (i.e. <code>authenticateApp()</code> was performed at some point). </p>
+<a href='#usingauth' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='usingauth'>usingAuth()</h3>
+
+<p>At times it is desireable to have complete, granular control over the authentication context of an API call. </p>
+
+<p>To facilitate this, the passthrough function <code>.usingAuth()</code> allows you to pre-define the auth context of the next API call.</p>
+<pre class="highlight swift"><code><span class="c1">// assume Usergrid.authFallback = .None</span>
+
+<span class="kt">Usergrid</span><span class="o">.</span><span class="nf">usingAuth</span><span class="p">(</span><span class="kt">Usergrid</span><span class="o">.</span><span class="n">appAuth</span><span class="o">!</span><span class="p">)</span><span class="o">.</span><span class="kt">POST</span><span class="p">(</span><span class="s">"roles/guest/permissions"</span><span class="p">,</span> <span class="nv">jsonBody</span><span class="p">:</span> <span class="p">[</span><span class="s">"permission"</span> <span class="p">:</span> <span class="s">"get,post,put,delete:/**"</span><span class="p">]</span> <span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// here we've temporarily used the client credentials to modify permissions</span>
+    <span class="c1">// subsequent calls will not use this auth context</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#user_operations_and_convenience_methods' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='user_operations_and_convenience_methods'>User operations and convenience methods</h2>
+
+<p><code>UsergridUser</code> has a number of helper/convenience methods to make working with user entities more convenient. If you are <em>not</em> utilizing the <code>Usergrid</code> shared instance, you must pass an instance of <code>UsergridClient</code> as the first argument to any of these helper methods.</p>
+<a href='#create' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='create'>create()</h3>
+
+<p>Creating a new user:</p>
+<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">user</span> <span class="o">=</span> <span class="kt">UsergridUser</span><span class="p">(</span><span class="nv">username</span><span class="p">:</span> <span class="s">"username"</span><span class="p">,</span> <span class="nv">password</span><span class="p">:</span> <span class="s">"password"</span><span class="p">)</span>
+<span class="n">user</span><span class="o">.</span><span class="nf">create</span><span class="p">()</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// user has now been created and should have a valid uuid</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#login' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='login'>login()</h3>
+
+<p>A simpler means of retrieving a user-level token:</p>
+<pre class="highlight swift"><code><span class="n">user</span><span class="o">.</span><span class="nf">login</span><span class="p">(</span><span class="s">"username"</span><span class="p">,</span> <span class="nv">password</span><span class="p">:</span> <span class="s">"password"</span><span class="p">)</span> <span class="p">{</span> <span class="n">auth</span><span class="p">,</span> <span class="n">user</span><span class="p">,</span> <span class="n">error</span> <span class="k">in</span>
+    <span class="c1">// user is now logged in</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#logout' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='logout'>logout()</h3>
+
+<p>Logs out the selected user. You can also use this convenience method on <code>Usergrid.currentUser</code>.</p>
+<pre class="highlight swift"><code><span class="n">user</span><span class="o">.</span><span class="nf">logout</span><span class="p">()</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// user is now logged out</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#resetpassword' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='resetpassword'>resetPassword()</h3>
+
+<p>Resets the password for the selected user.</p>
+<pre class="highlight swift"><code><span class="n">user</span><span class="o">.</span><span class="nf">resetPassword</span><span class="p">(</span><span class="s">"oldPassword"</span><span class="p">,</span> <span class="nv">new</span><span class="p">:</span> <span class="s">"newPassword"</span><span class="p">)</span> <span class="p">{</span> <span class="n">error</span><span class="p">,</span> <span class="n">didSucceed</span> <span class="k">in</span>
+    <span class="c1">// if it was done correctly, the new password will be changed</span>
+    <span class="c1">// 'didSucceed' is a boolean value that indicates whether it was changed successfully</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#usergriduser_checkavailable' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='usergriduser_checkavailable'>UsergridUser.CheckAvailable()</h3>
+
+<p>This is a class (static) method that allows you to check whether a username or email address is available or not.</p>
+<pre class="highlight swift"><code><span class="kt">UsergridUser</span><span class="o">.</span><span class="nf">checkAvailable</span><span class="p">(</span><span class="s">"email"</span><span class="p">,</span> <span class="nv">username</span><span class="p">:</span> <span class="kc">nil</span><span class="p">)</span> <span class="p">{</span> <span class="n">error</span><span class="p">,</span> <span class="n">available</span> <span class="k">in</span>
+    <span class="c1">// 'available' == whether an email already exists for a user</span>
+<span class="p">}</span>
+
+<span class="kt">UsergridUser</span><span class="o">.</span><span class="nf">checkAvailable</span><span class="p">(</span><span class="kc">nil</span><span class="p">,</span> <span class="nv">username</span><span class="p">:</span> <span class="s">"username"</span><span class="p">)</span> <span class="p">{</span> <span class="n">error</span><span class="p">,</span> <span class="n">available</span> <span class="k">in</span>
+    <span class="c1">// 'available' == whether an username already exists for a user</span>
+<span class="p">}</span>
+
+<span class="kt">UsergridUser</span><span class="o">.</span><span class="nf">checkAvailable</span><span class="p">(</span><span class="s">"email"</span><span class="p">,</span> <span class="nv">username</span><span class="p">:</span> <span class="s">"username"</span><span class="p">)</span> <span class="p">{</span> <span class="n">error</span><span class="p">,</span> <span class="n">available</span> <span class="k">in</span>
+    <span class="c1">// 'available' == whether an email or username already exist for a user</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#querying_and_filtering_data' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='querying_and_filtering_data'>Querying and filtering data</h2>
+<a href='#usergridquery_initialization' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='usergridquery_initialization'>UsergridQuery initialization</h3>
+
+<p>The <code>UsergridQuery</code> class allows you to build out complex query filters using the Usergrid <a href="http://docs.apigee.com/app-services/content/querying-your-data">query syntax</a>.</p>
+
+<p>The first parameter of the <code>UsergridQuery</code> builder pattern should be the collection (or type) you intend to query. You can either pass this as an argument, or as the first builder object:</p>
+<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">query</span> <span class="o">=</span> <span class="kt">UsergridQuery</span><span class="p">(</span><span class="s">"cats"</span><span class="p">)</span>
+<span class="c1">// or</span>
+<span class="k">var</span> <span class="nv">query</span> <span class="o">=</span> <span class="kt">UsergridQuery</span><span class="p">()</span><span class="o">.</span><span class="nf">collection</span><span class="p">(</span><span class="s">"cats"</span><span class="p">)</span>
+</code></pre>
+
+<p>You then can layer on additional queries:</p>
+<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">query</span> <span class="o">=</span> <span class="kt">UsergridQuery</span><span class="p">(</span><span class="s">"cats"</span><span class="p">)</span><span class="o">.</span><span class="nf">gt</span><span class="p">(</span><span class="s">"weight"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="mf">2.4</span><span class="p">)</span>
+                                 <span class="o">.</span><span class="nf">contains</span><span class="p">(</span><span class="s">"color"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="s">"bl*"</span><span class="p">)</span>
+                                 <span class="o">.</span><span class="nf">not</span><span class="p">()</span>
+                                 <span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"color"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span><span class="s">"white"</span><span class="p">)</span>
+                                 <span class="o">.</span><span class="nf">or</span><span class="p">()</span>
+                                 <span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"color"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span><span class="s">"orange"</span><span class="p">)</span>
+</code></pre>
+
+<p>You can also adjust the number of results returned:</p>
+<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">query</span> <span class="o">=</span> <span class="kt">UsergridQuery</span><span class="p">(</span><span class="s">"cats"</span><span class="p">)</span><span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"color"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="s">"black"</span><span class="p">)</span>
+                                 <span class="o">.</span><span class="nf">limit</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span>
+
+<span class="c1">// returns a maximum of 100 entiteis</span>
+</code></pre>
+
+<p>And sort the results:</p>
+<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">query</span> <span class="o">=</span> <span class="kt">UsergridQuery</span><span class="p">(</span><span class="s">"cats"</span><span class="p">)</span><span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"color"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="s">"black"</span><span class="p">)</span>
+                                 <span class="o">.</span><span class="nf">limit</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span>
+                                 <span class="o">.</span><span class="nf">asc</span><span class="p">(</span><span class="s">"name"</span><span class="p">)</span>
+
+<span class="c1">// sorts by 'name', ascending</span>
+</code></pre>
+
+<p>And you can do geo-location queries:</p>
+<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">query</span> <span class="o">=</span> <span class="kt">UsergridQuery</span><span class="p">(</span><span class="s">"devices"</span><span class="p">)</span><span class="o">.</span><span class="nf">locationWithin</span><span class="p">(</span><span class="o">&lt;</span><span class="n">distance</span><span class="o">&gt;</span><span class="p">,</span> <span class="nv">latitude</span><span class="p">:</span> <span class="o">&lt;</span><span class="n">lat</span><span class="o">&gt;</span><span class="p">,</span> <span class="nv">longitude</span><span class="p">:</span> <span class="o">&lt;</span><span class="n">long</span><span class="o">&gt;</span><span class="p">)</span>
+</code></pre>
+<a href='#using_a_query_in_a_request' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='using_a_query_in_a_request'>Using a query in a request</h3>
+
+<p>Queries can be passed as parameters to GET, PUT, and DELETE requests:</p>
+<pre class="highlight swift"><code><span class="kt">Usergrid</span><span class="o">.</span><span class="kt">GET</span><span class="p">(</span><span class="s">"type"</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span> <span class="n">query</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// Gets entities of a given type matching the query.</span>
+<span class="p">}</span>
+
+<span class="kt">Usergrid</span><span class="o">.</span><span class="kt">PUT</span><span class="p">(</span><span class="n">query</span><span class="p">,</span> <span class="nv">jsonBody</span><span class="p">:</span> <span class="p">[</span><span class="s">"aNewProperty"</span><span class="p">:</span><span class="s">"A new value"</span><span class="p">])</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// Updates the entities matching the query with the new property.</span>
+<span class="p">}</span>
+
+<span class="kt">Usergrid</span><span class="o">.</span><span class="kt">DELETE</span><span class="p">(</span><span class="n">query</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// Deletes entities of a given type matching the query.</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#list_of_query_builder_objects' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='list_of_query_builder_objects'>List of query builder objects</h3>
+
+<p><code>type(&quot;string&quot;)</code></p>
+
+<blockquote>
+<p>The collection name to query</p>
+</blockquote>
+
+<p><code>collection(&quot;string&quot;)</code></p>
+
+<blockquote>
+<p>An alias for <code>type</code></p>
+</blockquote>
+
+<p><code>eq(&quot;key&quot;, value: &quot;value&quot;)</code> or 
+<code>equals(&quot;key&quot;, value: &quot;value&quot;)</code> or 
+<code>filter(&quot;key&quot;, value: &quot;value&quot;)</code> </p>
+
+<blockquote>
+<p>Equal to (e.g. <code>where color = &#39;black&#39;</code>)</p>
+</blockquote>
+
+<p><code>contains(&quot;key&quot;, value: &quot;value&quot;)</code> or
+<code>containsString(&quot;key&quot;, value: &quot;value&quot;)</code> or
+<code>containsWord(&quot;key&quot;, value: &quot;value&quot;)</code></p>
+
+<blockquote>
+<p>Contains a string (e.g.<code>where color contains &#39;bl*&#39;</code>)</p>
+</blockquote>
+
+<p><code>gt(&quot;key&quot;, value: &quot;value&quot;)</code> or
+<code>greaterThan(&quot;key&quot;, value: &quot;value&quot;)</code></p>
+
+<blockquote>
+<p>Greater than (e.g. <code>where weight &gt; 2.4</code>)</p>
+</blockquote>
+
+<p><code>gte(&quot;key&quot;, value: &quot;value&quot;)</code> or 
+<code>greaterThanOrEqual(&quot;key&quot;, value: &quot;value&quot;)</code></p>
+
+<blockquote>
+<p>Greater than or equal to (e.g. <code>where weight &gt;= 2.4</code>)</p>
+</blockquote>
+
+<p><code>lt(&quot;key&quot;, value: &quot;value&quot;)</code> or <code>lessThan(&quot;key&quot;, value: &quot;value&quot;)</code></p>
+
+<blockquote>
+<p>Less than (e.g. <code>where weight &lt; 2.4</code>)</p>
+</blockquote>
+
+<p><code>lte(&quot;key&quot;, value: &quot;value&quot;)</code> or <code>lessThanOrEqual(&quot;key&quot;, value: &quot;value&quot;)</code></p>
+
+<blockquote>
+<p>Less than or equal to (e.g. <code>where weight &lt;= 2.4</code>)</p>
+</blockquote>
+
+<p><code>not()</code></p>
+
+<blockquote>
+<p>Negates the next block in the builder pattern, e.g.:</p>
+</blockquote>
+<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">query</span> <span class="o">=</span> <span class="kt">UsergridQuery</span><span class="p">(</span><span class="s">"cats"</span><span class="p">)</span><span class="o">.</span><span class="nf">not</span><span class="p">()</span><span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"color"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="s">"black"</span><span class="p">)</span>
+<span class="c1">// select * from cats where not color = 'black'</span>
+</code></pre>
+
+<p><code>and()</code></p>
+
+<blockquote>
+<p>Joins two queries by requiring both of them. <code>and</code> is also implied when joining two queries <em>without</em> an operator. E.g.:</p>
+</blockquote>
+<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">query</span> <span class="o">=</span> <span class="kt">UsergridQuery</span><span class="p">(</span><span class="s">"cats"</span><span class="p">)</span><span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"color"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span><span class="s">"black"</span><span class="p">)</span><span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"fur"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span><span class="s">"longHair"</span><span class="p">)</span>
+<span class="c1">// is identical to:</span>
+<span class="k">var</span> <span class="nv">query</span> <span class="o">=</span> <span class="kt">UsergridQuery</span><span class="p">(</span><span class="s">"cats"</span><span class="p">)</span><span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"color"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span><span class="s">"black"</span><span class="p">)</span><span class="o">.</span><span class="nf">and</span><span class="p">()</span><span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"fur"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span><span class="s">"longHair"</span><span class="p">)</span>  
+</code></pre>
+
+<p><code>or()</code></p>
+
+<blockquote>
+<p>Joins two queries by requiring only one of them. <code>or</code> is never implied. e.g.:</p>
+</blockquote>
+<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">query</span> <span class="o">=</span> <span class="kt">UsergridQuery</span><span class="p">(</span><span class="s">"cats"</span><span class="p">)</span><span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"color"</span><span class="p">,</span><span class="nv">value</span><span class="p">:</span> <span class="s">"black"</span><span class="p">)</span><span class="o">.</span><span class="nf">or</span><span class="p">()</span><span class="o">.</span><span class="nf">eq</span><span class="p">(</span><span class="s">"color"</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="s">"white"</span><span class="p">)</span>
+</code></pre>
+
+<blockquote>
+<p>When using <code>or()</code> and <code>and()</code> operators, <code>and()</code> joins will take precedence over <code>or()</code> joins. You can read more about query operators and precedence <a href="http://docs.apigee.com/api-baas/content/supported-query-operators-data-types">here</a>.</p>
+</blockquote>
+
+<p><code>locationWithin(distanceInMeters, latitude: latitude, longitude: longitude)</code></p>
+
+<blockquote>
+<p>Returns entities which have a location within the specified radius. Arguments can be <code>float</code> or <code>int</code>.</p>
+</blockquote>
+
+<p><code>asc(&quot;key&quot;)</code> or <code>ascending(&quot;key&quot;)</code></p>
+
+<blockquote>
+<p>Sorts the results by the specified property, ascending</p>
+</blockquote>
+
+<p><code>desc(&quot;key&quot;)</code> or <code>descending(&quot;key&quot;)</code></p>
+
+<blockquote>
+<p>Sorts the results by the specified property, descending</p>
+</blockquote>
+
+<p><code>sort(&quot;key&quot;, value: .Asc)</code></p>
+
+<blockquote>
+<p>Sorts the results by the specified property, in the specified <code>UsergridQuerySortOrder</code> (<code>.Asc</code> or <code>.Desc</code>).</p>
+</blockquote>
+
+<p><code>limit(int)</code></p>
+
+<blockquote>
+<p>The maximum number of entities to return</p>
+</blockquote>
+
+<p><code>cursor(&quot;string&quot;)</code></p>
+
+<blockquote>
+<p>A pagination cursor string</p>
+</blockquote>
+
+<p><code>fromString(&quot;query string&quot;)</code></p>
+
+<blockquote>
+<p>A special builder property that allows you to input a pre-defined query string. All builder properties will be ignored when this property is defined. For example:</p>
+</blockquote>
+<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">query</span> <span class="o">=</span> <span class="kt">UsergridQuery</span><span class="p">()</span><span class="o">.</span><span class="nf">fromString</span><span class="p">(</span><span class="s">"select * where color = 'black' order by name asc"</span><span class="p">)</span>
+</code></pre>
+<a href='#usergridresponse_object' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='usergridresponse_object'>UsergridResponse object</h2>
+
+<p><code>UsergridResponse</code> is the core class that handles both successful and unsuccessful HTTP responses from Usergrid. </p>
+
+<p>If a request is successful, any entities returned in the response will be automatically parsed into <code>UsergridEntity</code> objects and pushed to the <code>entities</code> property.</p>
+
+<p>If a request fails, the <code>error</code> property will contain information about the problem encountered.</p>
+<a href='#ok' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='ok'>ok</h3>
+
+<p>You can check <code>UsergridResponse.ok</code>, a <code>Bool</code> value, to see if the response was successful. Any status code <code>&lt; 400</code> returns true.</p>
+<pre class="highlight swift"><code><span class="kt">Usergrid</span><span class="o">.</span><span class="kt">GET</span><span class="p">(</span><span class="s">"collection"</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">ok</span> <span class="p">{</span>
+        <span class="c1">// woo!</span>
+    <span class="p">}</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#entity_entities_user_users_first_last' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='entity_entities_user_users_first_last'>entity, entities, user, users, first, last</h3>
+
+<p>Depending on the call you make, any entities returned in the response will be automatically parsed into <code>UsergridEntity</code> objects and pushed to the <code>entities</code> property. If you&rsquo;re querying the <code>users</code> collection, these will also be <code>UsergridUser</code> objects, a subclass of <code>UsergridEntity</code>.</p>
+
+<ul>
+<li><p><code>.first</code> returns the first entity in an array of entities; <code>.entity</code> is an alias to <code>.first</code>. If there are no entities, both of these will be undefined.</p></li>
+<li><p><code>.last</code> returns the last entity in an array of entities; if there is only one entity in the array, this will be the same as <code>.first</code> <em>and</em> <code>.entity</code>, and will be undefined if there are no entities in the response.</p></li>
+<li><p><code>.entities</code> will either be an array of entities in the response, or an empty array.</p></li>
+<li><p><code>.user</code> is a special alias for <code>.entity</code> for when querying the <code>users</code> collection. Instead of being a <code>UsergridEntity</code>, it will be its subclass, <code>UsergridUser</code>.</p></li>
+<li><p><code>.users</code> is the same as <code>.user</code>, though behaves as <code>.entities</code> does by returning either an array of UsergridUser objects or an empty array.</p></li>
+</ul>
+
+<p>Examples:</p>
+<pre class="highlight swift"><code><span class="kt">Usergrid</span><span class="o">.</span><span class="kt">GET</span><span class="p">(</span><span class="s">"collection"</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// you can access:</span>
+    <span class="c1">//     response.entities (the returned entities)</span>
+    <span class="c1">//     response.first (the first entity)</span>
+    <span class="c1">//     response.entity (same as response.first)</span>
+    <span class="c1">//     response.last (the last entity returned)</span>
+<span class="p">}</span>
+
+<span class="kt">Usergrid</span><span class="o">.</span><span class="kt">GET</span><span class="p">(</span><span class="s">"collection"</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span><span class="s">"&lt;uuid-or-name&gt;"</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// you can access:</span>
+    <span class="c1">//     response.entity (the returned entity) </span>
+    <span class="c1">//     response.entities (containing only the returned entity)</span>
+    <span class="c1">//     response.first (same as response.entity)</span>
+    <span class="c1">//     response.last (same as response.entity)</span>
+<span class="p">}</span>
+
+<span class="kt">Usergrid</span><span class="o">.</span><span class="kt">GET</span><span class="p">(</span><span class="s">"users"</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// you can access:</span>
+    <span class="c1">//     response.users (the returned users)</span>
+    <span class="c1">//     response.entities (same as response.users)</span>
+    <span class="c1">//     response.user (the first user)    </span>
+    <span class="c1">//     response.entity (same as response.user)   </span>
+    <span class="c1">//     response.first (same as response.user)  </span>
+    <span class="c1">//     response.last (the last user)</span>
+<span class="p">}</span>
+
+<span class="kt">Usergrid</span><span class="o">.</span><span class="kt">GET</span><span class="p">(</span><span class="s">"users"</span><span class="p">,</span> <span class="nv">uuidOrName</span><span class="p">:</span><span class="s">"&lt;uuid-or-name&gt;"</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// you can access;</span>
+    <span class="c1">//     response.users (containing only the one user)</span>
+    <span class="c1">//     response.entities (same as response.users)</span>
+    <span class="c1">//     response.user (the returned user)    </span>
+    <span class="c1">//     response.entity (same as response.user)   </span>
+    <span class="c1">//     response.first (same as response.user)  </span>
+    <span class="c1">//     response.last (same as response.user)  </span>
+<span class="p">}</span>
+</code></pre>
+<a href='#connections' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='connections'>Connections</h2>
+
+<p>Connections can be managed using <code>Usergrid.connect()</code>, <code>Usergrid.disconnect()</code>, and <code>Usergrid.getConnections()</code>, or entity convenience methods of the same name. </p>
+
+<p>When retrieving connections via <code>Usergrid.getConnections()</code>, you can pass in a optional <code>UsergridQuery</code> object in order to filter the connectioned entities returned.</p>
+<a href='#connect' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='connect'>Connect</h3>
+
+<p>Create a connection between two entities:</p>
+<pre class="highlight swift"><code><span class="kt">Usergrid</span><span class="o">.</span><span class="nf">connect</span><span class="p">(</span><span class="n">entity1</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span> <span class="s">"relationship"</span><span class="p">,</span> <span class="nv">to</span><span class="p">:</span> <span class="n">entity2</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// entity1 now has an outbound connection to entity2</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#retrieve_connections' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='retrieve_connections'>Retrieve Connections</h3>
+
+<p>Retrieve outbound connections:</p>
+<pre class="highlight swift"><code><span class="kt">Usergrid</span><span class="o">.</span><span class="nf">getConnections</span><span class="p">(</span><span class="o">.</span><span class="kt">Out</span><span class="p">,</span> <span class="nv">entity</span><span class="p">:</span> <span class="n">entity1</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span> <span class="s">"relationship"</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span> <span class="kc">nil</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// entities is an array of entities that entity1 is connected to via 'relationship'</span>
+    <span class="c1">// in this case, we'll see entity2 in the array</span>
+<span class="p">}</span>
+</code></pre>
+
+<p>Retrieve inbound connections:</p>
+<pre class="highlight swift"><code><span class="kt">Usergrid</span><span class="o">.</span><span class="nf">getConnections</span><span class="p">(</span><span class="o">.</span><span class="kt">In</span><span class="p">,</span> <span class="nv">entity</span><span class="p">:</span> <span class="n">entity2</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span> <span class="s">"relationship"</span><span class="p">,</span> <span class="nv">query</span><span class="p">:</span> <span class="kc">nil</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// entities is an array of entities that connect to entity2 via 'relationship'</span>
+    <span class="c1">// in this case, we'll see entity1 in the array</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#disconnect' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='disconnect'>Disconnect</h3>
+
+<p>Delete a connection between two entities:</p>
+<pre class="highlight swift"><code><span class="kt">Usergrid</span><span class="o">.</span><span class="nf">disconnect</span><span class="p">(</span><span class="n">entity1</span><span class="p">,</span> <span class="nv">relationship</span><span class="p">:</span> <span class="s">"relationship"</span><span class="p">,</span> <span class="nv">from</span><span class="p">:</span> <span class="n">entity2</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="c1">// entity1's outbound connection to entity2 has been destroyed</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#assets' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='assets'>Assets</h2>
+
+<p>Assets can be uploaded and downloaded either directly using <code>Usergrid.uploadAsset()</code> or <code>Usergrid.downloadAsset()</code>, or via <code>UsergridEntity</code> convenience methods with the same names. Before uploading an asset, you will need to initialize a <code>UsergridAsset</code> instance.</p>
+<a href='#initialization' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='initialization'>Initialization</h3>
+
+<p><em>Note: When initializing a <code>UsergridAsset</code> object specifying a file name is optional.</em></p>
+
+<ul>
+<li>Using NSData:</li>
+</ul>
+<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">image</span> <span class="o">=</span> <span class="kt">UIImage</span><span class="p">(</span><span class="nv">contentsOfFile</span><span class="p">:</span> <span class="s">"path/to/image"</span><span class="p">)</span>
+<span class="k">let</span> <span class="nv">data</span> <span class="o">=</span> <span class="kt">UIImagePNGRepresentation</span><span class="p">(</span><span class="n">image</span><span class="p">)</span>
+<span class="k">let</span> <span class="nv">asset</span> <span class="o">=</span> <span class="kt">UsergridAsset</span><span class="p">(</span><span class="nv">fileName</span><span class="p">:</span><span class="s">"&lt;file-name-or-nil&gt;"</span><span class="p">,</span> <span class="nv">data</span><span class="p">:</span> <span class="n">data</span><span class="o">!</span><span class="p">,</span> <span class="nv">contentType</span><span class="p">:</span><span class="s">"image/png"</span><span class="p">)</span>
+</code></pre>
+
+<ul>
+<li>Using an UIImage object:</li>
+</ul>
+<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">image</span> <span class="o">=</span> <span class="kt">UIImage</span><span class="p">(</span><span class="nv">contentsOfFile</span><span class="p">:</span> <span class="s">"path/to/image"</span><span class="p">)</span>
+<span class="k">let</span> <span class="nv">asset</span> <span class="o">=</span> <span class="kt">UsergridAsset</span><span class="p">(</span><span class="nv">fileName</span><span class="p">:</span><span class="s">"&lt;file-name-or-nil&gt;"</span><span class="p">,</span> <span class="nv">image</span><span class="p">:</span> <span class="n">image</span><span class="o">!</span><span class="p">,</span> <span class="nv">imageContentType</span><span class="p">:</span> <span class="o">.</span><span class="kt">Png</span><span class="p">)</span>
+</code></pre>
+
+<ul>
+<li>Using a file URL:</li>
+</ul>
+<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">fileUrl</span> <span class="o">=</span> <span class="kt">NSURL</span><span class="p">(</span><span class="nv">string</span><span class="p">:</span> <span class="s">"local/path/to/file"</span><span class="p">)</span>
+<span class="k">if</span> <span class="n">fileUrl</span><span class="o">.</span><span class="nf">isFileReferenceURL</span><span class="p">()</span> <span class="p">{</span>  <span class="c1">// This must be a file reference url.</span>
+    <span class="k">let</span> <span class="nv">asset</span> <span class="o">=</span> <span class="kt">UsergridAsset</span><span class="p">(</span><span class="nv">fileName</span><span class="p">:</span><span class="s">"&lt;file-name-or-nil&gt;"</span><span class="p">,</span> <span class="nv">fileUrl</span><span class="p">:</span> <span class="n">fileUrl</span><span class="o">!</span><span class="p">,</span> <span class="nv">contentType</span><span class="p">:</span><span class="s">"&lt;content-type&gt;"</span><span class="p">)</span>
+<span class="p">}</span>
+</code></pre>
+<a href='#uploading' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='uploading'>Uploading</h3>
+
+<p>Upload an image and connect it to an entity:</p>
+<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">image</span> <span class="o">=</span> <span class="kt">UIImage</span><span class="p">(</span><span class="nv">contentsOfFile</span><span class="p">:</span> <span class="s">"path/to/image"</span><span class="p">)</span>
+<span class="k">let</span> <span class="nv">asset</span> <span class="o">=</span> <span class="kt">UsergridAsset</span><span class="p">(</span><span class="nv">fileName</span><span class="p">:</span><span class="s">"&lt;file-name-or-nil&gt;"</span><span class="p">,</span> <span class="nv">image</span><span class="p">:</span> <span class="n">image</span><span class="o">!</span><span class="p">,</span> <span class="nv">imageContentType</span><span class="p">:</span> <span class="o">.</span><span class="kt">Png</span><span class="p">)</span><span class="o">!</span>
+<span class="kt">Usergrid</span><span class="o">.</span><span class="nf">uploadAsset</span><span class="p">(</span><span class="n">entity</span><span class="p">,</span>
+                     <span class="k">as</span><span class="nv">set</span><span class="p">:</span> <span class="k">asset</span><span class="p">,</span>
+                     <span class="nv">progress</span><span class="p">:</span> <span class="p">{</span> <span class="n">bytesFinished</span><span class="p">,</span> <span class="n">bytesExpected</span> <span class="k">in</span>
+                        <span class="c1">// Monitor the upload progress</span>
+                     <span class="p">},</span>
+                     <span class="nv">completion</span><span class="p">:</span> <span class="p">{</span> <span class="k">asset</span><span class="p">,</span> <span class="n">response</span> <span class="k">in</span>
+                        <span class="c1">// The asset is now uploaded to Usergrid and entity.asset == asset</span>
+<span class="p">})</span>
+</code></pre>
+<a href='#downloading' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h3 id='downloading'>Downloading</h3>
+
+<p>Download an image which is connected to an entity:</p>
+<pre class="highlight swift"><code><span class="kt">Usergrid</span><span class="o">.</span><span class="nf">downloadAsset</span><span class="p">(</span><span class="n">entity</span><span class="p">,</span>
+                       <span class="nv">contentType</span><span class="p">:</span> <span class="s">"&lt;expected-content-type&gt;"</span><span class="p">,</span>
+                       <span class="nv">progress</span><span class="p">:</span> <span class="p">{</span> <span class="n">bytesFinished</span><span class="p">,</span> <span class="n">bytesExpected</span> <span class="k">in</span>
+                            <span class="c1">// Monitor the download progress</span>
+                       <span class="p">},</span>
+                       <span class="nv">completion</span><span class="p">:{</span> <span class="k">asset</span><span class="p">,</span> <span class="n">error</span> <span class="k">in</span>
+                            <span class="c1">// The asset is now downloaded from Usergrid and entity.asset == asset</span>
+<span class="p">})</span>
+</code></pre>
+<a href='#custom_usergridentity_subclasses' class='anchor' aria-hidden=true><span class="header-anchor"></span></a><h2 id='custom_usergridentity_subclasses'>Custom UsergridEntity Subclasses</h2>
+
+<p>Creating custom subclasses of the base <code>UsergridEntity</code> class (just like <code>UsergridUser</code> and <code>UsergridDevice</code>) is possible.</p>
+
+<blockquote>
+<p>For a working example of creating a custom subclass refer to the ActivityFeed sample app located in the <code>/Samples</code> folder.  The custom subclass there is named <code>ActivityEntity</code>.</p>
+</blockquote>
+
+<ul>
+<li>To do so, subclass <code>UsergridEntity</code> and implement the required methods:</li>
+</ul>
+<pre class="highlight swift"><code><span class="kd">import</span> <span class="kt">UsergridSDK</span>
+
+<span class="kd">public</span> <span class="kd">class</span> <span class="kt">ActivityEntity</span><span class="p">:</span> <span class="kt">UsergridEntity</span> <span class="p">{</span>
+
+    <span class="kd">required</span> <span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">name</span><span class="p">:</span> <span class="kt">String</span><span class="p">?,</span> <span class="nv">propertyDict</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span> <span class="p">:</span> <span class="kt">AnyObject</span><span class="p">]?)</span> <span class="p">{</span>
+        <span class="k">super</span><span class="o">.</span><span class="nf">init</span><span class="p">(</span><span class="nv">type</span><span class="p">:</span> <span class="n">type</span><span class="p">,</span> <span class="nv">name</span><span class="p">:</span> <span class="n">name</span><span class="p">,</span> <span class="nv">propertyDict</span><span class="p">:</span> <span class="n">propertyDict</span><span class="p">)</span>
+    <span class="p">}</span>
+
+    <span class="kd">required</span> <span class="kd">public</span> <span class="nf">init</span><span class="p">?(</span><span class="n">coder</span> <span class="nv">aDecoder</span><span class="p">:</span> <span class="kt">NSCoder</span><span class="p">)</span> <span class="p">{</span>
+        <span class="k">super</span><span class="o">.</span><span class="nf">init</span><span class="p">(</span><span class="nv">coder</span><span class="p">:</span> <span class="n">aDecoder</span><span class="p">)</span>
+    <span class="p">}</span>
+<span class="p">}</span>
+</code></pre>
+
+<ul>
+<li>You will also need to register the custom subclass:</li>
+</ul>
+<pre class="highlight swift"><code><span class="kt">Usergrid</span><span class="o">.</span><span class="nf">initSharedInstance</span><span class="p">(</span><span class="nv">orgId</span><span class="p">:</span> <span class="s">"orgId"</span><span class="p">,</span> <span class="nv">appId</span><span class="p">:</span> <span class="s">"appId"</span><span class="p">)</span>
+<span class="kt">UsergridEntity</span><span class="o">.</span><span class="nf">mapCustomType</span><span class="p">(</span><span class="s">"activity"</span><span class="p">,</span> <span class="nv">toSubclass</span><span class="p">:</span> <span class="kt">ActivityEntity</span><span class="o">.</span><span class="k">self</span><span class="p">)</span>
+</code></pre>
+
+<p>By registering your custom subclass, the <code>UsergridEntity</code> and <code>UsergridResponse</code> classes are able to generate instances of these classes based on the an entities <code>type</code>.</p>
+
+<p>In the above example, entities which have a <code>type</code> value of <code>activity</code> can now be cast as <code>ActivityEntity</code> objects. e.g.:</p>
+<pre class="highlight swift"><code><span class="kt">Usergrid</span><span class="o">.</span><span class="kt">GET</span><span class="p">(</span><span class="s">"activity"</span><span class="p">)</span> <span class="p">{</span> <span class="n">response</span> <span class="k">in</span>
+    <span class="k">var</span> <span class="nv">activityEntities</span><span class="p">:</span> <span class="p">[</span><span class="kt">ActivityEntity</span><span class="p">]?</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">entities</span> <span class="k">as?</span> <span class="p">[</span><span class="kt">ActivityEntity</span><span class="p">]</span>
+<span class="p">}</span>
+</code></pre>
 
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2015 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2015-12-18)</p>
-          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.3.2</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
+          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
     </div>
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/js/jazzy.js b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/js/jazzy.js
index a32d400..4ff9455 100755
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/js/jazzy.js
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/js/jazzy.js
@@ -17,7 +17,7 @@
 });
 
 // On token click, toggle its discussion and animate token.marginLeft
-$(".token").click(function() {
+$(".token").click(function(event) {
   if (window.jazzy.docset) {
     return;
   }
@@ -28,4 +28,13 @@
   link.animate({'margin-left':original ? "0px" : tokenOffset}, animationDuration);
   $content = link.parent().parent().next();
   $content.slideToggle(animationDuration);
+
+  // Keeps the document from jumping to the hash.
+  var href = $(this).attr('href');
+  if (history.pushState) {
+    history.pushState({}, '', href);
+  } else {
+    location.hash = href;
+  }
+  event.preventDefault();
 });
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/undocumented.txt b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/undocumented.txt
index f671946..e69de29 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/undocumented.txt
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/Documents/undocumented.txt
@@ -1,11 +0,0 @@
-UsergridAuth.swift
-	override public init() { }
-	required public init?(coder aDecoder: NSCoder)
-	public func encodeWithCoder(aCoder: NSCoder)
-	required public init?(coder aDecoder: NSCoder)
-	override public func encodeWithCoder(aCoder: NSCoder)
-	required public init?(coder aDecoder: NSCoder)
-	override public func encodeWithCoder(aCoder: NSCoder)
-UsergridEntity.swift
-	public init(type:String, name:String? = nil, propertyDict:[String:AnyObject]? = nil)
-	public class func entity(jsonDict jsonDict: [String:AnyObject]) -> UsergridEntity?
diff --git a/sdks/swift/docs/docsets/.docset/Contents/Resources/docSet.dsidx b/sdks/swift/docs/docsets/.docset/Contents/Resources/docSet.dsidx
index a87c29b..15754e6 100644
--- a/sdks/swift/docs/docsets/.docset/Contents/Resources/docSet.dsidx
+++ b/sdks/swift/docs/docsets/.docset/Contents/Resources/docSet.dsidx
Binary files differ
diff --git a/sdks/swift/docs/docsets/.tgz b/sdks/swift/docs/docsets/.tgz
index 045daf9..453a706 100644
--- a/sdks/swift/docs/docsets/.tgz
+++ b/sdks/swift/docs/docsets/.tgz
Binary files differ
diff --git a/sdks/swift/docs/index.html b/sdks/swift/docs/index.html
index 91cbf58..b49cde5 100644
--- a/sdks/swift/docs/index.html
+++ b/sdks/swift/docs/index.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html lang="en">
   <head>
-    <title>UsergridSDK  Reference</title>
+    <title>  Reference</title>
     <link rel="stylesheet" type="text/css" href="css/jazzy.css" />
     <link rel="stylesheet" type="text/css" href="css/highlight.css" />
     <meta charset='utf-8'>
@@ -10,17 +10,17 @@
     
   </head>
   <body>
-    <a title="UsergridSDK  Reference"></a>
+    <a title="  Reference"></a>
     <header>
       <div class="content-wrapper">
-        <p><a href="index.html">UsergridSDK Docs</a> (100% documented)</p>
+        <p><a href="index.html"> Docs</a> (100% documented)</p>
       </div>
     </header>
     <div class="content-wrapper">
       <p id="breadcrumbs">
-        <a href="index.html">UsergridSDK Reference</a>
+        <a href="index.html"> Reference</a>
         <img id="carat" src="img/carat.png" />
-        UsergridSDK  Reference
+          Reference
       </p>
     </div>
     <div class="content-wrapper">
@@ -91,7 +91,7 @@
             <a href="Enums.html">Enums</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
-                <a href="Enums/UsergridAuthFallback.html">UsergridAuthFallback</a>
+                <a href="Enums/UsergridAuthMode.html">UsergridAuthMode</a>
               </li>
               <li class="nav-group-task">
                 <a href="Enums/UsergridDeviceProperties.html">UsergridDeviceProperties</a>
@@ -120,6 +120,14 @@
             </ul>
           </li>
           <li class="nav-group-name">
+            <a href="Extensions.html">Extensions</a>
+            <ul class="nav-group-tasks">
+              <li class="nav-group-task">
+                <a href="Extensions/NSDate.html">NSDate</a>
+              </li>
+            </ul>
+          </li>
+          <li class="nav-group-name">
             <a href="Typealiases.html">Typealiases</a>
             <ul class="nav-group-tasks">
               <li class="nav-group-task">
@@ -850,7 +858,7 @@
                      <span class="nv">progress</span><span class="p">:</span> <span class="p">{</span> <span class="n">bytesFinished</span><span class="p">,</span> <span class="n">bytesExpected</span> <span class="k">in</span>
                         <span class="c1">// Monitor the upload progress</span>
                      <span class="p">},</span>
-                     <span class="nv">completion</span><span class="p">:</span> <span class="p">{</span> <span class="n">response</span><span class="p">,</span> <span class="k">asset</span><span class="p">,</span> <span class="n">error</span> <span class="k">in</span>
+                     <span class="nv">completion</span><span class="p">:</span> <span class="p">{</span> <span class="k">asset</span><span class="p">,</span> <span class="n">response</span> <span class="k">in</span>
                         <span class="c1">// The asset is now uploaded to Usergrid and entity.asset == asset</span>
 <span class="p">})</span>
 </code></pre>
@@ -909,7 +917,7 @@
           </section>
         </section>
         <section id="footer">
-          <p>&copy; 2016 <a class="link" href="https://github.com/apache/usergrid/tree/master/sdks/swift" target="_blank" rel="external">Robert Walsh</a>. All rights reserved. (Last updated: 2016-02-15)</p>
+          <p>&copy; 2016 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2016-04-14)</p>
           <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.5.0</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
         </section>
       </article>
diff --git a/stack/config/src/main/resources/usergrid-default.properties b/stack/config/src/main/resources/usergrid-default.properties
index 5cd7c7a..4f57cdd 100644
--- a/stack/config/src/main/resources/usergrid-default.properties
+++ b/stack/config/src/main/resources/usergrid-default.properties
@@ -455,12 +455,20 @@
 
 # Set the number of queue consumers to read from the in-region push notification queue.
 #
-usergrid.push.worker_count=8
+usergrid.push.worker_count=2
 
 # Set the sleep time between queue polling ( in milliseconds)
 #
 usergrid.push.sleep=100
 
+# This setting determines the inmemory cache TTL (in minutes) for push notifications queue managers.
+#
+usergrid.push.queuemanager.cache.time-to-live=10
+
+# This setting determines the inmemory cache size (# elements) for push notifications queue managers.
+#
+usergrid.push.queuemanager.cache.size=200
+
 
 
 ###############################  Usergrid Central SSO  #############################
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/ApplicationIdCacheImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/ApplicationIdCacheImpl.java
index 7745359..d327607 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/ApplicationIdCacheImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/ApplicationIdCacheImpl.java
@@ -27,6 +27,7 @@
 import org.apache.usergrid.persistence.Schema;
 import org.apache.usergrid.persistence.collection.EntityCollectionManager;
 import org.apache.usergrid.persistence.core.scope.ApplicationScopeImpl;
+import org.apache.usergrid.persistence.exceptions.PersistenceException;
 import org.apache.usergrid.persistence.model.entity.Id;
 import org.apache.usergrid.persistence.model.entity.SimpleId;
 import org.apache.usergrid.persistence.model.field.StringField;
@@ -65,7 +66,11 @@
             .build(new CacheLoader<String, UUID>() {
                 @Override
                 public UUID load(final String key) throws Exception {
-                    return fetchApplicationId(key);
+                    UUID appId = fetchApplicationId(key);
+                    if ( appId == null ) {
+                        throw new PersistenceException("Error getting applicationId");
+                    }
+                    return appId;
                 }
             });
     }
@@ -76,7 +81,7 @@
             return appCache.get( applicationName.toLowerCase() );
         } catch (Exception e) {
             if (logger.isDebugEnabled()) {
-                logger.debug("Returning for key {} value null", applicationName);
+                logger.debug("Returning for key {} value null due to exception: {}", applicationName, e);
             }
             return null;
         }
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
index b74995a..68f5d71 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
@@ -651,15 +651,15 @@
      */
     @Override
     public void delete( EntityRef entityRef ) throws Exception {
-        //TODO: since we want the user to mark it and we sweep it later. It should be marked by the graph manager here.
         //Step 1 & 2 Currently to block so we ensure that marking is done immediately
         //If this returns null then nothing was marked null so the entity doesn't exist
         markEntity( entityRef ).toBlocking().lastOrDefault( null );
 
-        //TODO: figure out how to return async call to service tier? Do I not need to?
         //Step 3
         deleteAsync( entityRef );
 
+        decrementEntityCollection( Schema.defaultCollectionName( entityRef.getType() ));
+
     }
 
 
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexSchemaCacheFig.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexSchemaCacheFig.java
index 0953abd..a99b48e 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexSchemaCacheFig.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexSchemaCacheFig.java
@@ -33,7 +33,7 @@
     int getCacheSize();
 
     @Key( "usergrid.index_schema_cache_timeout_ms" )
-    @Default( "60000" )
+    @Default( "15000" )
     int getCacheTimeout();
 
 }
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexSchemaCacheImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexSchemaCacheImpl.java
index fd0b676..d4bade4 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexSchemaCacheImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexSchemaCacheImpl.java
@@ -19,6 +19,7 @@
 
 
 import java.util.Map;
+import java.util.concurrent.TimeUnit;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -49,7 +50,7 @@
         this.mapManager = mapManager;
         indexSchemaCache = CacheBuilder.newBuilder()
             .maximumSize( indexSchemaCacheFig.getCacheSize() )
-            //.expireAfterWrite( indexSchemaCacheFig.getCacheTimeout(), TimeUnit.MILLISECONDS ) <-- I don't think we want this to expire that quickly.
+            .expireAfterWrite( indexSchemaCacheFig.getCacheTimeout(), TimeUnit.MILLISECONDS )
             .build( new CacheLoader<String, Optional<Map>>() {
                 @Override
                 public Optional<Map> load( final String collectionName ) throws Exception {
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java
index a33453e..9509626 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java
@@ -226,6 +226,7 @@
                 return Optional.absent();
             }
 
+            // never add "none" because it has special meaning, "none" disables indexing for a type
             fieldsToKeep.remove("none");
 
             defaultProperties.addAll( fieldsToKeep );
diff --git a/stack/core/src/main/java/org/apache/usergrid/utils/StringUtils.java b/stack/core/src/main/java/org/apache/usergrid/utils/StringUtils.java
index b91b866..6bb44d8 100644
--- a/stack/core/src/main/java/org/apache/usergrid/utils/StringUtils.java
+++ b/stack/core/src/main/java/org/apache/usergrid/utils/StringUtils.java
@@ -17,6 +17,7 @@
 package org.apache.usergrid.utils;
 
 
+import java.text.DecimalFormat;
 import java.util.Arrays;
 
 import org.apache.commons.io.IOUtils;
@@ -169,4 +170,11 @@
         }
         return null;
     }
+
+    public static String readableByteSize(long size) {
+        if(size <= 0) return "0";
+        final String[] units = new String[] { "B", "kB", "MB", "GB", "TB" };
+        int digitGroups = (int) (Math.log10(size)/Math.log10(1024));
+        return new DecimalFormat("#,##0.#").format(size/Math.pow(1024, digitGroups)) + " " + units[digitGroups];
+    }
 }
diff --git a/stack/core/src/main/resources/usergrid-core-context.xml b/stack/core/src/main/resources/usergrid-core-context.xml
index 4b216e3..ea1cdf6 100644
--- a/stack/core/src/main/resources/usergrid-core-context.xml
+++ b/stack/core/src/main/resources/usergrid-core-context.xml
@@ -60,9 +60,15 @@
         <property name="loadBalancingPolicy" ref="loadBalancingPolicy"/>
 	</bean>
 
+    <util:map id="cassandraCredentials" map-class="java.util.HashMap">
+        <entry key="username" value="${cassandra.username}" />
+        <entry key="password" value="${cassandra.password}" />
+    </util:map>
+
 	<bean id="cassandraCluster" class="me.prettyprint.cassandra.service.ThriftCluster">
 		<constructor-arg value="${cassandra.cluster}" />
 		<constructor-arg ref="cassandraHostConfigurator" />
+        <constructor-arg ref="cassandraCredentials" />
 	</bean>
 
     <bean id="loadBalancingPolicy" class="me.prettyprint.cassandra.connection.DynamicLoadBalancingPolicy"/>
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardAllocationImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardAllocationImpl.java
index 0c65912..47b630f 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardAllocationImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardAllocationImpl.java
@@ -94,7 +94,6 @@
 
         else {
             existingShards = edgeShardSerialization.getShardMetaData( scope, maxShardId, directedEdgeMeta );
-            //logger.info("existing shards has something: {}", existingShards.hasNext());
 
             /**
              * We didn't get anything out of cassandra, so we need to create the minimum shard
@@ -113,8 +112,6 @@
             }
         }
 
-        //logger.info("getShards existing shards: {}", existingShards);
-
         return new ShardEntryGroupIterator( existingShards, graphFig.getShardMinDelta(), shardGroupCompaction, scope,
             directedEdgeMeta );
     }
@@ -240,7 +237,9 @@
 
         final Shard newShard = new Shard( marked.getTimestamp(), createTimestamp, false );
 
-        logger.info( "Allocating new shard {} for edge meta {}", newShard, directedEdgeMeta );
+        if(logger.isTraceEnabled()) {
+            logger.trace("Allocating new shard {} for edge meta {}", newShard, directedEdgeMeta);
+        }
 
         final MutationBatch batch = this.edgeShardSerialization.writeShardMeta( scope, newShard, directedEdgeMeta );
 
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupCompactionImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupCompactionImpl.java
index b26ee46..0853adb 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupCompactionImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupCompactionImpl.java
@@ -303,9 +303,6 @@
             logger.trace("Finished compacting {} shards and moved {} edges", sourceShards, totalEdgeCount);
         }
 
-        logger.info("Finished compacting {} shards and moved {} edges", sourceShards, totalEdgeCount);
-
-
         resultBuilder.withCopiedEdges( totalEdgeCount ).withSourceShards( sourceShards ).withTargetShard( targetShard );
 
         /**
@@ -351,8 +348,9 @@
             Shard compactedShard = new Shard( targetShard.getShardIndex(), timeService.getCurrentTime(), true );
             compactedShard.setShardEnd(targetShard.getShardEnd());
 
-            logger.info( "Shard has been fully compacted.  Marking shard {} as compacted in Cassandra", compactedShard );
-
+            if(logger.isTraceEnabled()) {
+                logger.trace("Shard has been fully compacted.  Marking shard {} as compacted in Cassandra", compactedShard);
+            }
 
             final MutationBatch updateMark = edgeShardSerialization.writeShardMeta( scope, compactedShard, edgeMeta );
             try {
@@ -402,7 +400,7 @@
         }
         catch ( RejectedExecutionException ree ) {
 
-            //ignore, if this happens we don't care, we're saturated, we can check later
+            // ignore, if this happens we don't care, we're saturated, we can check later
             logger.info( "Rejected audit for shard of scope {} edge, meta {} and group {}", scope, edgeMeta, group );
 
             return Futures.immediateFuture( AuditResult.NOT_CHECKED );
@@ -503,8 +501,10 @@
                  */
                 try {
                     CompactionResult result = compact( scope, edgeMeta, group );
-                    logger.info( "Compaction result for compaction of scope {} with edge meta data of {} and shard group {} is {}",
-                            scope, edgeMeta, group, result );
+                    if(logger.isTraceEnabled()) {
+                        logger.trace("Compaction result for compaction of scope {} with edge meta data of {} and shard group {} is {}",
+                            scope, edgeMeta, group, result);
+                    }
                 }
                 finally {
                     shardCompactionTaskTracker.complete( scope, edgeMeta, group );
@@ -535,8 +535,6 @@
                                      ShardEntryGroup group ) {
             final Long hash = doHash( scope, edgeMeta, group ).hash().asLong();
             final Boolean returned = runningTasks.putIfAbsent( hash, TRUE );
-            //logger.info("hash components are app: {}, edgeMeta: {}, group: {}", scope.getApplication(), edgeMeta, group);
-            //logger.info("checking hash value of: {}, already started: {}", hash, returned );
 
             /**
              * Someone already put the value
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java
index 533314b..6265a33 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueFig.java
@@ -88,11 +88,11 @@
     int getLocalQuorumTimeout();
 
     @Key( "usergrid.queue.client.connection.timeout")
-    @Default( "1000" ) // 1 second
+    @Default( "5000" ) // 5 seconds
     int getQueueClientConnectionTimeout();
 
     @Key( "usergrid.queue.client.socket.timeout")
-    @Default( "10000" ) // 10 seconds
+    @Default( "20000" ) // 20 seconds
     int getQueueClientSocketTimeout();
 
     @Key( "usergrid.queue.poll.timeshift")
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QueueManagerFactoryImpl.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QueueManagerFactoryImpl.java
index de9cac5..93b2fb2 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QueueManagerFactoryImpl.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QueueManagerFactoryImpl.java
@@ -1,21 +1,18 @@
 /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- *  * Licensed to the Apache Software Foundation (ASF) under one or more
- *  *  contributor license agreements.  The ASF licenses this file to You
- *  * under the Apache License, Version 2.0 (the "License"); you may not
- *  * use this file except in compliance with the License.
- *  * You may obtain a copy of the License at
- *  *
- *  *     http://www.apache.org/licenses/LICENSE-2.0
- *  *
- *  * Unless required by applicable law or agreed to in writing, software
- *  * distributed under the License is distributed on an "AS IS" BASIS,
- *  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  * See the License for the specific language governing permissions and
- *  * limitations under the License.  For additional information regarding
- *  * copyright in this work, please see the NOTICE file in the top level
- *  * directory of this distribution.
+ *      http://www.apache.org/licenses/LICENSE-2.0
  *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 package org.apache.usergrid.persistence.queue.impl;
 
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/RootResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/RootResource.java
index 75ed567..b8abe54 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/RootResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/RootResource.java
@@ -248,6 +248,31 @@
 
     }
 
+    @GET
+    @Path("/status/heap")
+    @JSONP
+    @Produces({MediaType.APPLICATION_JSON, "application/javascript"})
+    public ApiResponse getHeapStats(){
+
+        ApiResponse response = createApiResponse();
+
+        ObjectNode node = JsonNodeFactory.instance.objectNode();
+
+        long heapAllocatedSize = Runtime.getRuntime().totalMemory();
+        long heapMaxSize = Runtime.getRuntime().maxMemory();
+        long heapFreeSize = Runtime.getRuntime().freeMemory();
+        long heapUsedSize = heapAllocatedSize - heapFreeSize;
+
+        node.put( "used", org.apache.usergrid.utils.StringUtils.readableByteSize(heapUsedSize) );
+        node.put( "free", org.apache.usergrid.utils.StringUtils.readableByteSize(heapFreeSize) );
+        node.put( "allocated", org.apache.usergrid.utils.StringUtils.readableByteSize(heapAllocatedSize) );
+        node.put( "max", org.apache.usergrid.utils.StringUtils.readableByteSize(heapMaxSize) );
+
+        response.setProperty( "status", node );
+        return response;
+
+    }
+
 
 
     private void dumpMetrics( ObjectNode node ) {
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/CollectionResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/CollectionResource.java
index 5bd895c..1e94832 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/CollectionResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/CollectionResource.java
@@ -91,7 +91,7 @@
      * @throws Exception
      */
     @POST
-    @Path( "{itemName}/_indexes" )
+    @Path( "{itemName}/_index" )
     @Produces({ MediaType.APPLICATION_JSON,"application/javascript"})
     @RequireApplicationAccess
     @JSONP
@@ -153,7 +153,7 @@
     }
 
     @DELETE
-    @Path( "{itemName}/_indexes" )
+    @Path( "{itemName}/_index" )
     @Produces({ MediaType.APPLICATION_JSON,"application/javascript"})
     @RequireApplicationAccess
     @JSONP
@@ -222,10 +222,6 @@
 
         addItemToServiceContext( ui, itemName );
 
-//        final ReIndexRequestBuilder request =
-//            createRequest().withApplicationId( services.getApplicationId() ).withCollection(
-//                String.valueOf( getServiceParameters().get( 0 ) ) ).withDelay( 50, TimeUnit.MILLISECONDS );
-//
         IndexResource indexResource = new IndexResource(injector);
         return indexResource.rebuildIndexesPost( services.getApplicationId().toString(),itemName.getPath(),false,callback );
     }
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/NotificationsIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/NotificationsIT.java
index 61dc419..1655846 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/NotificationsIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/NotificationsIT.java
@@ -78,6 +78,17 @@
 
     @Test
     public void testPaging() throws Exception {
+
+        // this test should work even with indexing turned off for notificaitons collection
+        ArrayList<String> indexingArray = new ArrayList<>(  );
+        indexingArray.add( "none" );
+        Entity payload = new Entity();
+        payload.put( "fields", indexingArray);
+
+        String unIndexedCollectionName = "notifications";
+        app().collection( unIndexedCollectionName ).collection( "_indexes" ).post( payload );
+        refreshIndex();
+
         // create notifier
         Entity notifier = new Entity().chainPut("name", "mynotifier").chainPut("provider", "noop");
 
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/CollectionsResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/CollectionsResourceIT.java
index 8ed2154..db07c3f 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/CollectionsResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/CollectionsResourceIT.java
@@ -136,7 +136,7 @@
 
         try {
 
-            this.pathResource( getOrgAppPath( "testcollections/_indexes" ) ).post( false, payload,
+            this.pathResource( getOrgAppPath( "testcollections/_index" ) ).post( false, payload,
                 new QueryParameters().addParam( "grant_type", "client_credentials" ).addParam( "client_id",
                     String.valueOf( ( ( Map ) appCredentials.get( "credentials" ) ).get( "client_id" ) ) )
                                      .addParam( "client_secret", String.valueOf(
@@ -167,7 +167,7 @@
         payload.put( "fields", indexingArray);
 
         //Post index to the collection metadata
-        Entity thing = this.app().collection( "testCollections" ).collection( "_indexes" ).post( payload );
+        Entity thing = this.app().collection( "testCollections" ).collection( "_index" ).post( payload );
         refreshIndex();
 
 
@@ -206,10 +206,11 @@
         //to prove that the entity exists
 
         //next part is to delete the schema then reindex it and it should work.
-        this.app().collection( "testCollections" ).collection( "_indexes" ).delete();
+        this.app().collection( "testCollections" ).collection( "_index" ).delete();
         refreshIndex();
 
-        this.app().collection( "testCollections" ).collection( "_reindex" ).post(true,clientSetup.getSuperuserToken(),ApiResponse.class,null,null,false);
+        this.app().collection( "testCollections" ).collection( "_reindex" )
+            .post(true,clientSetup.getSuperuserToken(),ApiResponse.class,null,null,false);
         refreshIndex();
 
 
@@ -244,7 +245,7 @@
 
         //Post index to the collection metadata
         try {
-            this.app().collection( "testCollections" ).collection( "_indexes" ).post( payload );
+            this.app().collection( "testCollections" ).collection( "_index" ).post( payload );
             fail();
         }catch(BadRequestException bre){
             //this is expected.
@@ -258,7 +259,7 @@
         payload.put( "fields", indexingMap);
 
         try {
-            this.app().collection( "testCollections" ).collection( "_indexes" ).post( payload );
+            this.app().collection( "testCollections" ).collection( "_index" ).post( payload );
             fail();
         }catch(BadRequestException bre){
             //this is expected.
@@ -268,7 +269,7 @@
         payload.put( "fields", indexingArray);
 
         try {
-            this.app().collection( "testCollections" ).collection( "_indexes" ).post( payload );
+            this.app().collection( "testCollections" ).collection( "_index" ).post( payload );
         }catch(BadRequestException bre){
             fail( "This shouldn't fail" );
         }
@@ -291,7 +292,7 @@
         payload.put( "fields", indexingArray);
 
         //Post index to the collection metadata
-        Entity thing = this.app().collection( "testCollection" ).collection( "_indexes" ).post( payload );
+        Entity thing = this.app().collection( "testCollection" ).collection( "_index" ).post( payload );
         refreshIndex();
 
 
@@ -365,12 +366,13 @@
         payload.put( "fields", indexingArray);
 
         //Post index to the collection metadata
-        Entity thing = this.app().collection( "testCollection" ).collection( "_indexes" ).post( payload );
+        Entity thing = this.app().collection( "testCollection" ).collection( "_index" ).post( payload );
         refreshIndex();
 
 
         //Reindex and verify that the entity only has field one index.
-        this.app().collection( "testCollection" ).collection( "_reindex" ).post(true,clientSetup.getSuperuserToken(),ApiResponse.class,null,null,false);
+        this.app().collection( "testCollection" ).collection( "_reindex" )
+            .post(true,clientSetup.getSuperuserToken(),ApiResponse.class,null,null,false);
 
         for(int i = 0; i < 10; i++) {
             String query = "one ='value"+ i + "'";
@@ -415,7 +417,7 @@
         payload.put( "fields", indexingArray);
 
         //Post index to the collection metadata
-        Entity thing = this.app().collection( "testCollection" ).collection( "_indexes" ).post( payload );
+        Entity thing = this.app().collection( "testCollection" ).collection( "_index" ).post( payload );
         refreshIndex();
 
         Collection collection = this.app().collection( "testCollection" ).collection( "_index" ).get();
@@ -430,7 +432,8 @@
 
 
         //Reindex and verify that the entity only has field one index.
-        this.app().collection( "testCollection" ).collection( "_reindex" ).post(true,clientSetup.getSuperuserToken(),ApiResponse.class,null,null,false);
+        this.app().collection( "testCollection" ).collection( "_reindex" )
+            .post(true,clientSetup.getSuperuserToken(),ApiResponse.class,null,null,false);
 
 
         indexingArray.add( "one" );
@@ -442,7 +445,7 @@
         payload.put( "fields", indexingArray);
 
         //Post index to the collection metadata
-        this.app().collection( "testCollection" ).collection( "_indexes" ).post( payload );
+        this.app().collection( "testCollection" ).collection( "_index" ).post( payload );
 
         collection = this.app().collection( "testCollection" ).collection( "_index" ).get();
 
@@ -494,7 +497,7 @@
         payload.put( "fields", indexingArray);
 
         //Post index to the collection metadata
-        this.app().collection( "testCollection" ).collection( "_indexes" ).post( payload );
+        this.app().collection( "testCollection" ).collection( "_index" ).post( payload );
         refreshIndex();
 
         //Create test collection with a test entity that is partially indexed.
@@ -536,7 +539,7 @@
         payload.put( "fields", indexingArray);
 
         //Post index to the collection metadata
-        this.app().collection( "testCollection" ).collection( "_indexes" ).post( payload );
+        this.app().collection( "testCollection" ).collection( "_index" ).post( payload );
         refreshIndex();
 
         Map<String,Object> arrayFieldsForTesting = new HashMap<>();
@@ -586,7 +589,7 @@
         payload.put( "fields", indexingArray);
 
         //Post index to the collection metadata
-        this.app().collection( "testCollection" ).collection( "_indexes" ).post( payload );
+        this.app().collection( "testCollection" ).collection( "_index" ).post( payload );
         refreshIndex();
 
         Map<String,Object> arrayFieldsForTesting = new HashMap<>();
@@ -629,7 +632,7 @@
         payload.put( "fields", indexingArray);
 
         //Post index to the collection metadata
-        this.app().collection( "testCollection" ).collection( "_indexes" ).post( payload );
+        this.app().collection( "testCollection" ).collection( "_index" ).post( payload );
         refreshIndex();
 
         Map<String,Object> arrayFieldsForTestingSelectiveIndexing = new HashMap<>();
@@ -684,7 +687,7 @@
         payload.put( "fields", indexingArray);
 
         //Post index to the collection metadata
-        this.app().collection( "testCollection" ).collection( "_indexes" ).post( payload );
+        this.app().collection( "testCollection" ).collection( "_index" ).post( payload );
         refreshIndex();
 
         Map<String,Object> arrayFieldsForTestingSelectiveIndexing = new HashMap<>();
@@ -735,7 +738,7 @@
         payload.put( "fields", indexingArray);
 
         //Post index to the collection metadata
-        this.app().collection( "testCollection" ).collection( "_indexes" ).post( payload );
+        this.app().collection( "testCollection" ).collection( "_index" ).post( payload );
         refreshIndex();
 
         //Create test collection with a test entity that is partially indexed.
@@ -958,7 +961,7 @@
 
         String randomizer = RandomStringUtils.randomAlphanumeric(10);
         String collectionName = "col_" + randomizer;
-        app().collection( collectionName ).collection( "_indexes" ).post( payload );
+        app().collection( collectionName ).collection( "_index" ).post( payload );
         refreshIndex();
 
         // was the no-index wildcard saved and others ignored?
@@ -989,4 +992,108 @@
             .get( new QueryParameters().setQuery( "select * where color='magenta'" ) ).iterator();
         assertFalse( getByQuery.hasNext() );
     }
+
+
+    /**
+     * Test that indexed entities can be connected to un-indexed Entities and connections still work.
+     */
+    @Test
+    public void testIndexedEntityToUnindexedEntityConnections() {
+
+        // create entities in an un-indexed collection
+
+        ArrayList<String> indexingArray = new ArrayList<>(  );
+        indexingArray.add( "!" );
+        Entity payload = new Entity();
+        payload.put( "fields", indexingArray);
+
+        String randomizer = RandomStringUtils.randomAlphanumeric(10);
+        String unIndexedCollectionName = "col_" + randomizer;
+        app().collection( unIndexedCollectionName ).collection( "_index" ).post( payload );
+        refreshIndex();
+
+        String entityName1 = "unindexed1";
+        Entity unindexed1 = this.app().collection( unIndexedCollectionName )
+            .post( new Entity().withProp("name", entityName1).withProp( "color", "violet" ) );
+
+        String entityName2 = "unindexed2";
+        Entity unindexed2 = this.app().collection( unIndexedCollectionName )
+            .post( new Entity().withProp("name", entityName2).withProp( "color", "violet" ) );
+
+        // create an indexed entity
+
+        String indexedCollection = "col_" + randomizer;
+        String indexedEntityName = "indexedEntity";
+        Entity indexedEntity = this.app().collection( indexedCollection )
+            .post( new Entity().withProp("name", indexedEntityName).withProp( "color", "orange" ) );
+
+        // create connections from indexed entity to un-indexed entities
+
+        app().collection(indexedCollection).entity(indexedEntity).connection("likes").entity(unindexed1).post();
+        app().collection(indexedCollection).entity(indexedEntity).connection("likes").entity(unindexed2).post();
+
+        Collection connectionsByGraph = app().collection( indexedCollection )
+            .entity(indexedEntity).connection( "likes" ).get();
+        assertEquals( 2, connectionsByGraph.getNumOfEntities() );
+
+        Collection connectionsByQuery = app().collection( indexedCollection )
+            .entity(indexedEntity).connection( "likes" )
+            .get( new QueryParameters().setQuery( "select * where color='violet'" ));
+        assertEquals( 0, connectionsByQuery.getNumOfEntities() );
+
+    }
+
+
+    /**
+     * Test that index entities can be connected to un-indexed Entities and connections still work.
+     */
+    @Test
+    public void testUnindexedEntityToIndexedEntityConnections() {
+
+        // create two entities in an indexed collection
+
+        String randomizer = RandomStringUtils.randomAlphanumeric(10);
+        String indexedCollection = "col_" + randomizer;
+        String indexedEntityName = "indexedEntity";
+
+        Entity indexedEntity1 = this.app().collection( indexedCollection )
+            .post( new Entity().withProp("name", indexedEntityName + "_1").withProp( "color", "orange" ) );
+
+        Entity indexedEntity2 = this.app().collection( indexedCollection )
+            .post( new Entity().withProp("name", indexedEntityName + "_2").withProp( "color", "orange" ) );
+
+        // create an un-indexed entity
+
+        ArrayList<String> indexingArray = new ArrayList<>(  );
+        indexingArray.add( "!" );
+        Entity payload = new Entity();
+        payload.put( "fields", indexingArray);
+
+        String unIndexedCollectionName = "col_" + randomizer;
+        app().collection( unIndexedCollectionName ).collection( "_index" ).post( payload );
+        refreshIndex();
+
+        String entityName1 = "unindexed1";
+        Entity unindexed1 = this.app().collection( unIndexedCollectionName )
+            .post( new Entity().withProp("name", entityName1).withProp( "color", "violet" ) );
+
+        // create connections from un-indexed entity to indexed entities
+
+        app().collection(unIndexedCollectionName).entity(unindexed1).connection("likes").entity(indexedEntity1).post();
+        app().collection(unIndexedCollectionName).entity(unindexed1).connection("likes").entity(indexedEntity2).post();
+
+        // should be able to get connections via graph from un-indexed to index
+
+        Collection connectionsByGraph = app().collection( indexedCollection )
+            .entity(unindexed1).connection( "likes" ).get();
+        assertEquals( 2, connectionsByGraph.getNumOfEntities() );
+
+        // should not be able to get connections via query from unindexed to indexed
+
+        Collection connectionsByQuery = app().collection( indexedCollection )
+            .entity(unindexed1).connection( "likes" )
+            .get( new QueryParameters().setQuery( "select * where color='orange'" ));
+        assertEquals( 0, connectionsByQuery.getNumOfEntities() );
+    }
+
 }
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/events/ApplicationRequestCounterIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/events/ApplicationRequestCounterIT.java
index a1c07c5..cf07dff 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/events/ApplicationRequestCounterIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/events/ApplicationRequestCounterIT.java
@@ -27,6 +27,7 @@
 import org.apache.usergrid.rest.test.resource.AbstractRestIT;
 import org.apache.usergrid.rest.test.resource.model.ApiResponse;
 import org.apache.usergrid.rest.test.resource.model.Collection;
+import org.apache.usergrid.rest.test.resource.model.Entity;
 import org.apache.usergrid.rest.test.resource.model.QueryParameters;
 
 import static org.junit.Assert.assertEquals;
@@ -62,4 +63,51 @@
         assertEquals( 2, ( ( LinkedHashMap ) ( ( ArrayList)counters.get( "values" )).get( 0 )).get( "value" ));
 
     }
+
+    @Test
+    public void testDecrementingEntityCounters() throws Exception {
+
+        //Create test collection with test entity that is full text indexed.
+        int numberOfEntitiesToCreate = 10;
+
+        Entity[] entities = new Entity[numberOfEntitiesToCreate];
+        Entity testEntity = new Entity();
+        for(int i = 0; i < numberOfEntitiesToCreate; i++){
+            testEntity.put( "one","value"+i );
+            testEntity.put( "two","valuetwo"+i );
+            entities[i]= this.app().collection( "testCollection" ).post( testEntity );
+        }
+
+        //get default application
+       // ApiResponse defaultApp = org().app( clientSetup.getAppName() ).get();
+
+        QueryParameters queryParameters = new QueryParameters();
+        queryParameters.addParam( "resolution", "all" ).addParam( "counter", "application.collection.testcollections" );
+        Collection countersResponse = org().app( clientSetup.getAppName() ).collection( "counters" ).get( queryParameters ,true );
+
+        assertNotNull( countersResponse );
+        ArrayList counterValues = ( ArrayList ) countersResponse.getResponse().getProperties().get( "counters" );
+        LinkedHashMap counters = ( LinkedHashMap ) counterValues.get( 0 );
+        assertEquals( "application.collection.testcollections", counters.get( "name" ) );
+
+        //Since it was accessed twice above.
+        assertEquals( 10, ( ( LinkedHashMap ) ( ( ArrayList)counters.get( "values" )).get( 0 )).get( "value" ));
+
+        for(int i = 0; i < numberOfEntitiesToCreate; i++){
+            this.app().collection( "testCollection" ).entity( entities[i] ).delete( );
+        }
+        
+        queryParameters.addParam( "resolution", "all" ).addParam( "counter", "application.collection.testcollections" );
+        countersResponse = org().app( clientSetup.getAppName() ).collection( "counters" ).get( queryParameters ,true );
+
+        assertNotNull( countersResponse );
+        counterValues = ( ArrayList ) countersResponse.getResponse().getProperties().get( "counters" );
+        counters = ( LinkedHashMap ) counterValues.get( 0 );
+        assertEquals( "application.collection.testcollections", counters.get( "name" ) );
+
+        //Since it was accessed twice above.
+        assertEquals( 0, ( ( LinkedHashMap ) ( ( ArrayList)counters.get( "values" )).get( 0 )).get( "value" ));
+
+
+    }
 }
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
index a586c26..73a56c8 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
@@ -17,7 +17,6 @@
 package org.apache.usergrid.management.cassandra;
 
 
-import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
 import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
@@ -88,6 +87,8 @@
 import static org.apache.commons.lang.StringUtils.isBlank;
 import static org.apache.usergrid.locking.LockHelper.getUniqueUpdateLock;
 import static org.apache.usergrid.management.AccountCreationProps.*;
+import static org.apache.usergrid.management.OrganizationConfigProps.ORGPROPERTIES_ADMIN_SYSADMIN_EMAIL;
+import static org.apache.usergrid.management.OrganizationConfigProps.WorkflowUrl;
 import static org.apache.usergrid.persistence.CredentialsInfo.getCredentialsSecret;
 import static org.apache.usergrid.persistence.Schema.*;
 import static org.apache.usergrid.persistence.Schema.PROPERTY_UUID;
@@ -107,7 +108,6 @@
 import static org.apache.usergrid.utils.ListUtils.anyNull;
 import static org.apache.usergrid.utils.MapUtils.hashMap;
 import static org.apache.usergrid.utils.PasswordUtils.mongoPassword;
-import static org.apache.usergrid.management.OrganizationConfigProps.*;
 
 
 public class ManagementServiceImpl implements ManagementService {
@@ -173,6 +173,37 @@
     protected LocalShiroCache localShiroCache;
 
 
+    private LoadingCache<UUID, OrganizationConfig> orgConfigByAppCache = CacheBuilder.newBuilder().maximumSize( 1000 )
+        .expireAfterWrite( Long.valueOf( System.getProperty(ORG_CONFIG_CACHE_PROP, "30000") ) , TimeUnit.MILLISECONDS)
+        .build( new CacheLoader<UUID, OrganizationConfig>() {
+            public OrganizationConfig load( UUID applicationInfoId ) {
+
+                try {
+
+                    if (applicationInfoId != null && applicationInfoId != CpNamingUtils.MANAGEMENT_APPLICATION_ID) {
+
+                        final EntityManager em = emf.getEntityManager(smf.getManagementAppId());
+
+                        Results r = em.getSourceEntities(
+                            new SimpleEntityRef(CpNamingUtils.APPLICATION_INFO, applicationInfoId),
+                            ORG_APP_RELATIONSHIP, Group.ENTITY_TYPE, Level.ALL_PROPERTIES);
+
+                        Group org = (Group) r.getEntity();
+                        if (org != null) {
+                            Map<Object, Object> entityProperties = em.getDictionaryAsMap(org, ORGANIZATION_CONFIG_DICTIONARY);
+                            return new OrganizationConfig(orgConfigProperties, org.getUuid(), org.getPath(), entityProperties, false);
+                        }
+                    }
+
+                    return new OrganizationConfig(orgConfigProperties);
+
+                } catch (Exception e) {
+                    return new OrganizationConfig(orgConfigProperties);
+                }
+            }}
+        );
+
+
 
     /** Must be constructed with a CassandraClientPool. */
     public ManagementServiceImpl(Injector injector) {
@@ -1678,6 +1709,8 @@
         em.addToCollection(new SimpleEntityRef(Group.ENTITY_TYPE, organization.getUuid()), "users",
             new SimpleEntityRef(User.ENTITY_TYPE, user.getUuid()));
 
+        invalidateManagementAppAuthCache();
+
         if ( email ) {
             sendAdminUserInvitedEmail( user, organization );
         }
@@ -1713,6 +1746,8 @@
 
         em.removeFromCollection(new SimpleEntityRef(Group.ENTITY_TYPE, organizationId), "users",
             new SimpleEntityRef(User.ENTITY_TYPE, userId));
+
+        invalidateManagementAppAuthCache();
     }
 
 
@@ -1773,15 +1808,13 @@
                     + ")</a> created a new application named " + applicationName, null );
         }
 
-        ScopedCache scopedCache = cacheFactory.getScopedCache(
-            new CacheScope( new SimpleId( CpNamingUtils.MANAGEMENT_APPLICATION_ID, "application" )));
-        scopedCache.invalidate();
-        localShiroCache.invalidateAll();
+        invalidateManagementAppAuthCache();
 
         return new ApplicationInfo( applicationId, appInfo.getName() );
     }
 
 
+
     @Override
     public void deleteApplication(UUID applicationId) throws Exception {
         emf.deleteApplication( applicationId );
@@ -1835,10 +1868,7 @@
                     + ")</a> restored an application named " + appInfo.getName(), null );
         }
 
-        ScopedCache scopedCache = cacheFactory.getScopedCache(
-            new CacheScope( new SimpleId( CpNamingUtils.MANAGEMENT_APPLICATION_ID, "application" )));
-        scopedCache.invalidate();
-        localShiroCache.invalidateAll();
+        invalidateManagementAppAuthCache();
 
         return new ApplicationInfo( applicationId, appInfo.getName() );
     }
@@ -2274,6 +2304,8 @@
     public void activateAdminUser( UUID userId ) throws Exception {
         EntityManager em = emf.getEntityManager( smf.getManagementAppId() );
         em.setProperty( new SimpleEntityRef( User.ENTITY_TYPE, userId ), "activated", true );
+
+        invalidateManagementAppAuthCache();
     }
 
 
@@ -3424,39 +3456,10 @@
     }
 
 
-    private LoadingCache<UUID, OrganizationConfig> orgConfigByAppCache =
-        CacheBuilder.newBuilder().maximumSize( 1000 )
-            .expireAfterWrite( Long.valueOf( System.getProperty(ORG_CONFIG_CACHE_PROP, "30000") ) , TimeUnit.MILLISECONDS)
-            .build( new CacheLoader<UUID, OrganizationConfig>() {
-                public OrganizationConfig load( UUID applicationInfoId ) {
-
-                    try {
-
-                        if (applicationInfoId != null && applicationInfoId != CpNamingUtils.MANAGEMENT_APPLICATION_ID) {
-
-                            final EntityManager em = emf.getEntityManager(smf.getManagementAppId());
-
-                            Results r = em.getSourceEntities(
-                                new SimpleEntityRef(CpNamingUtils.APPLICATION_INFO, applicationInfoId),
-                                ORG_APP_RELATIONSHIP, Group.ENTITY_TYPE, Level.ALL_PROPERTIES);
-
-                            Group org = (Group) r.getEntity();
-
-                            if (org != null) {
-                                Map<Object, Object> entityProperties = em.getDictionaryAsMap(org, ORGANIZATION_CONFIG_DICTIONARY);
-                                return new OrganizationConfig(orgConfigProperties, org.getUuid(), org.getPath(), entityProperties, false);
-                            }
-
-                        }
-
-                        return new OrganizationConfig(orgConfigProperties);
-
-                    }catch (Exception e){
-
-                        return new OrganizationConfig(orgConfigProperties);
-
-                    }
-                }}
-            );
-
+    private void invalidateManagementAppAuthCache() {
+        ScopedCache scopedCache = cacheFactory.getScopedCache(
+            new CacheScope( new SimpleId( CpNamingUtils.MANAGEMENT_APPLICATION_ID, "application" )));
+        scopedCache.invalidate();
+        localShiroCache.invalidateAll();
+    }
 }
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/ApplicationQueueManagerCache.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/ApplicationQueueManagerCache.java
new file mode 100644
index 0000000..555e495
--- /dev/null
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/ApplicationQueueManagerCache.java
@@ -0,0 +1,143 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.usergrid.services.notifications;
+
+import com.google.common.cache.*;
+import com.google.inject.Singleton;
+import org.apache.usergrid.persistence.EntityManager;
+import org.apache.usergrid.persistence.core.metrics.MetricsFactory;
+import org.apache.usergrid.persistence.queue.QueueManager;
+import org.apache.usergrid.services.notifications.impl.ApplicationQueueManagerImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Properties;
+import java.util.UUID;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.TimeUnit;
+
+
+@Singleton
+public class ApplicationQueueManagerCache{
+
+    private static final Logger logger = LoggerFactory.getLogger( ApplicationQueueManagerCache.class );
+
+
+    private final Cache<UUID, ApplicationQueueManager> cache;
+
+    private static final String CACHE_TTL_PROP = "usergrid.push.queuemanager.cache.time-to-live";
+    private static final String CACHE_MAX_SIZE_PROP = "usergrid.push.queuemanager.cache.size";
+
+    public ApplicationQueueManagerCache(){
+
+        // set a smaller ttl
+        long ttl = 10;
+        int configuredMaxSize;
+
+        try{
+            ttl = Integer.parseInt(System.getProperty(CACHE_TTL_PROP));
+        } catch (NumberFormatException e){
+            // already defaulted to 1 above
+        }
+
+        try{
+            configuredMaxSize = Integer.parseInt(System.getProperty(CACHE_MAX_SIZE_PROP));
+        } catch (NumberFormatException e){
+            configuredMaxSize = 200;
+        }
+
+        this.cache = CacheBuilder.newBuilder()
+            .maximumSize(Math.max(1000,configuredMaxSize))
+            .expireAfterWrite(ttl, TimeUnit.MINUTES)
+            .removalListener(new RemovalListener<UUID, ApplicationQueueManager>() {
+                @Override
+                public void onRemoval(
+                    RemovalNotification<UUID, ApplicationQueueManager> queueManagerNotifiication) {
+                    try {
+                        if ( queueManagerNotifiication.getValue() != null) {
+                            queueManagerNotifiication.getValue().stop();
+                        }
+                    } catch (Exception ie) {
+                        logger.error("Failed to shutdown push queue manager from cache", ie.getMessage());
+                    }
+                }
+            }).build();
+
+    }
+
+    public void put(UUID key, ApplicationQueueManager value){
+
+        cache.put(key, value);
+    }
+
+    public ConcurrentMap<UUID, ApplicationQueueManager> asMap(){
+
+        return cache.asMap();
+    }
+
+    public ApplicationQueueManager get(UUID key){
+        return cache.getIfPresent(key);
+    }
+
+    public void invalidate(UUID key){
+        cache.invalidate(key);
+    }
+
+    public void invalidateAll(){
+        cache.invalidateAll();
+    }
+
+
+    public ApplicationQueueManager getApplicationQueueManager( final EntityManager entityManager,
+                                                               final QueueManager queueManager,
+                                                               final JobScheduler jobScheduler,
+                                                               final MetricsFactory metricsService,
+                                                               final Properties properties ) {
+
+
+        ApplicationQueueManager manager = cache.getIfPresent(entityManager.getApplicationId());
+
+        if(manager != null){
+            if(logger.isTraceEnabled()){
+                logger.trace("Returning push queue manager from cache for application: {}", entityManager.getApplicationId());
+            }
+            return manager;
+
+        }else {
+            if(logger.isTraceEnabled()) {
+                logger.trace("Push queue manager not found in cache, loading for application: {}", entityManager.getApplicationId());
+            }
+            manager = new ApplicationQueueManagerImpl(
+                jobScheduler,
+                entityManager,
+                queueManager,
+                metricsService,
+                properties
+            );
+
+            cache.put(entityManager.getApplicationId(), manager);
+
+            return manager;
+
+
+        }
+
+
+    }
+
+
+}
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
index f4fdb65..907638e 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
@@ -77,6 +77,7 @@
     private ServiceManagerFactory smf;
     private EntityManagerFactory emf;
     private QueueManagerFactory queueManagerFactory;
+    private ApplicationQueueManagerCache applicationQueueManagerCache;
 
     public NotificationsService() {
         if (logger.isTraceEnabled()) {
@@ -99,7 +100,10 @@
         QueueScope queueScope = new QueueScopeImpl( name, QueueScope.RegionImplementation.LOCAL);
         queueManagerFactory = getApplicationContext().getBean( Injector.class ).getInstance(QueueManagerFactory.class);
         QueueManager queueManager = queueManagerFactory.getQueueManager(queueScope);
-        notificationQueueManager = new ApplicationQueueManagerImpl(jobScheduler,em,queueManager,metricsService,props);
+        applicationQueueManagerCache = getApplicationContext().getBean(Injector.class).getInstance(ApplicationQueueManagerCache.class);
+        notificationQueueManager = applicationQueueManagerCache
+            .getApplicationQueueManager(em,queueManager, jobScheduler, metricsService ,props);
+
         gracePeriod = JobScheduler.SCHEDULER_GRACE_PERIOD;
     }
 
@@ -136,7 +140,10 @@
             // perform some input validates on useGraph payload property vs. ql= path query
             final List<ServiceParameter> parameters = context.getRequest().getOriginalParameters();
             for (ServiceParameter parameter : parameters){
-                if( parameter instanceof ServiceParameter.QueryParameter && context.getProperties().get("useGraph").equals(true)){
+                if( parameter instanceof ServiceParameter.QueryParameter
+                    && context.getProperties().get("useGraph") != null
+                      && context.getProperties().get("useGraph").equals(true)){
+
                     throw new IllegalArgumentException("Query ql parameter cannot be used with useGraph:true property value");
                 }
             }
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
index 55d1491..478d5ed 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
@@ -57,6 +57,7 @@
     private ServiceManagerFactory smf;
 
     private EntityManagerFactory emf;
+    private ApplicationQueueManagerCache applicationQueueManagerCache;
 
 
     private Properties properties;
@@ -79,6 +80,8 @@
         this.emf = emf;
         this.metricsService = smf.getApplicationContext().getBean( Injector.class ).getInstance(MetricsFactory.class);
         this.properties = props;
+        this.applicationQueueManagerCache = smf.getApplicationContext().getBean(Injector.class).getInstance(ApplicationQueueManagerCache.class);
+
     }
 
     /**
@@ -86,8 +89,6 @@
      */
     public void start(){
         //TODO refactor this into a central component that will start/stop services
-//        boolean shouldRun = new Boolean(properties.getProperty("usergrid.notifications.listener.run", "false"));
-
 
             if (logger.isDebugEnabled()) {
                 logger.debug("QueueListener: starting.");
@@ -166,9 +167,6 @@
         // run until there are no more active jobs
         final AtomicLong runCount = new AtomicLong(0);
 
-        //cache to retrieve push manager, cached per notifier, so many notifications will get same push manager
-        LoadingCache<UUID, ApplicationQueueManager> queueManagerMap = getQueueManagerCache(queueManager);
-
         while ( true ) {
 
                 Timer.Context timerContext = timer.time();
@@ -207,7 +205,16 @@
                                 //send each set of app ids together
                                 for (Map.Entry<UUID, List<QueueMessage>> entry : messageMap.entrySet()) {
                                     UUID applicationId = entry.getKey();
-                                    ApplicationQueueManager manager = queueManagerMap.get(applicationId);
+
+                                    ApplicationQueueManager manager = applicationQueueManagerCache
+                                        .getApplicationQueueManager(
+                                            emf.getEntityManager(applicationId),
+                                            queueManager,
+                                            new JobScheduler(smf.getServiceManager(applicationId), emf.getEntityManager(applicationId)),
+                                            metricsService,
+                                            properties
+                                        );
+
                                     if (logger.isTraceEnabled()) {
                                         logger.trace("send batch for app {} of {} messages", entry.getKey(), entry.getValue().size());
                                     }
@@ -238,7 +245,7 @@
                                 }
 
                                 if(runCount.incrementAndGet() % consecutiveCallsToRemoveDevices == 0){
-                                    for(ApplicationQueueManager applicationQueueManager : queueManagerMap.asMap().values()){
+                                    for(ApplicationQueueManager applicationQueueManager : applicationQueueManagerCache.asMap().values()){
                                         try {
                                             applicationQueueManager.asyncCheckForInactiveDevices();
                                         }catch (Exception inactiveDeviceException){
@@ -280,43 +287,6 @@
         }
     }
 
-    private LoadingCache<UUID, ApplicationQueueManager> getQueueManagerCache(final QueueManager queueManager) {
-        return CacheBuilder
-                    .newBuilder()
-                    .expireAfterAccess(10, TimeUnit.MINUTES)
-                    .removalListener(new RemovalListener<UUID, ApplicationQueueManager>() {
-                        @Override
-                        public void onRemoval(
-                                RemovalNotification<UUID, ApplicationQueueManager> queueManagerNotifiication) {
-                            try {
-                                queueManagerNotifiication.getValue().stop();
-                            } catch (Exception ie) {
-                                logger.error("Failed to shutdown from cache", ie);
-                            }
-                        }
-                    }).build(new CacheLoader<UUID, ApplicationQueueManager>() {
-                         @Override
-                         public ApplicationQueueManager load(final UUID applicationId) {
-                             try {
-                                 EntityManager entityManager = emf.getEntityManager(applicationId);
-                                 ServiceManager serviceManager = smf.getServiceManager(applicationId);
-
-                                 ApplicationQueueManagerImpl manager = new ApplicationQueueManagerImpl(
-                                         new JobScheduler(serviceManager, entityManager),
-                                         entityManager,
-                                         queueManager,
-                                         metricsService,
-                                         properties
-                                 );
-                                 return manager;
-                             } catch (Exception e) {
-                                 logger.error("Could not instantiate queue manager", e);
-                                 return null;
-                             }
-                         }
-                     });
-    }
-
     public void stop(){
         if (logger.isDebugEnabled()) {
             logger.debug("stop processes");
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/TaskManager.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/TaskManager.java
index ce2b82c..870cae9 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/TaskManager.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/TaskManager.java
@@ -26,6 +26,8 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.time.Instant;
+import java.time.LocalDateTime;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicLong;
 
@@ -37,12 +39,10 @@
     private AtomicLong successes = new AtomicLong();
     private AtomicLong failures = new AtomicLong();
     private EntityManager em;
-    private boolean hasFinished;
 
     public TaskManager(EntityManager em, Notification notification) {
         this.em = em;
         this.notification = notification;
-        hasFinished = false;
     }
 
     public long getSuccesses(){return successes.get();}
@@ -53,77 +53,78 @@
         completed(notifier,null,deviceUUID,null);
     }
     public void completed(Notifier notifier, Receipt receipt, UUID deviceUUID, String newProviderId) throws Exception {
-        if (logger.isTraceEnabled()) {
-            logger.trace("REMOVED {}", deviceUUID);
-        }
+
+        successes.incrementAndGet();
+
+
         try {
-            if (logger.isTraceEnabled()) {
-                logger.trace("notification {} removing device {} from remaining", notification.getUuid(), deviceUUID);
-            }
+            //.{year}.{month}.{day}.{HH24} possibly minute.
+            //random date and time for format
+
+
+            //incrementNotificationCounter( "completed" );
 
             EntityRef deviceRef = new SimpleEntityRef(Device.ENTITY_TYPE, deviceUUID);
+
             if (receipt != null) {
-                if (logger.isTraceEnabled()) {
-                    logger.trace("notification {} sent to device {}. saving receipt.", notification.getUuid(), deviceUUID);
-                }
+
                 receipt.setSent(System.currentTimeMillis());
                 this.saveReceipt(notification, deviceRef, receipt,false);
                 if (logger.isTraceEnabled()) {
-                    logger.trace("notification {} receipt saved for device {}", notification.getUuid(), deviceUUID);
+                    logger.trace("Notification {} receipt saved for device {}", notification.getUuid(), deviceUUID);
                 }
-                successes.incrementAndGet();
+
             }
 
             if (newProviderId != null) {
                 if (logger.isTraceEnabled()) {
-                    logger.trace("notification {} replacing device {} notifierId", notification.getUuid(), deviceUUID);
+                    logger.trace("Notification {} replacing notifier id for device {} ", notification.getUuid(), deviceUUID);
                 }
                 replaceProviderId(deviceRef, notifier, newProviderId);
             }
 
             if (logger.isTraceEnabled()) {
-                logger.trace("notification {} completed device {}", notification.getUuid(), deviceUUID);
+                logger.trace("Notification {} sending completed for device {}", notification.getUuid(), deviceUUID);
             }
 
-        } finally {
-            if (logger.isTraceEnabled()) {
-                logger.trace("COUNT is: {}", successes.get());
-            }
-//            if (hasFinished) { //process has finished but notifications are still coming in
-//                finishedBatch();
-//
-//            }
+        } catch(Exception e) {
+
+            logger.error("Unable to mark notification {} as completed due to: {}", notification.getUuid(), e);
+
         }
     }
 
     public void failed(Notifier notifier, Receipt receipt, UUID deviceUUID, Object code, String message) throws Exception {
 
+        failures.incrementAndGet();
+
         try {
+
+            //incrementNotificationCounter( "failed" );
+
             if (logger.isDebugEnabled()) {
-                logger.debug("notification {} for device {} got error {}", notification.getUuid(), deviceUUID, code);
+                logger.debug("Notification {} for device {} got error {}", notification.getUuid(), deviceUUID, code);
             }
 
-            failures.incrementAndGet();
-            if(receipt!=null) {
-                if ( receipt.getUuid() != null ) {
-                    successes.decrementAndGet();
-                }
+            if(receipt != null) {
                 receipt.setErrorCode( code );
                 receipt.setErrorMessage( message );
                 this.saveReceipt( notification, new SimpleEntityRef( Device.ENTITY_TYPE, deviceUUID ), receipt, true );
-                if ( logger.isDebugEnabled() ) {
-                    logger.debug( "notification {} receipt saved for device {}", notification.getUuid(), deviceUUID );
-                }
             }
-        } finally {
+
             completed(notifier, deviceUUID);
             finishedBatch();
+
+        } catch (Exception e){
+
+            logger.error("Unable to finish marking notification {} as failed due to error: ", notification.getUuid(), e);
+
         }
     }
 
-    /*
-    * called from TaskManager - creates a persistent receipt and updates the
-    * passed one w/ the UUID
+    /**
+    * Called from TaskManager - Creates a persistent receipt
+    *
     */
     private void saveReceipt(EntityRef notification, EntityRef device, Receipt receipt, boolean hasError) throws Exception {
 
@@ -142,11 +143,16 @@
             } else {
                 em.addToCollections(entities, Notification.RECEIPTS_COLLECTION, receipt);
             }
+
+            if ( logger.isDebugEnabled() ) {
+                logger.debug( "Notification {} receipt saved for device {}", notification.getUuid(), device.getUuid() );
+            }
+
         }
 
     }
 
-    protected void replaceProviderId(EntityRef device, Notifier notifier,
+    private void replaceProviderId(EntityRef device, Notifier notifier,
                                      String newProviderId) throws Exception {
         Object value = em.getProperty(device, notifier.getName()
                 + ApplicationQueueManager.NOTIFIER_ID_POSTFIX);
@@ -161,33 +167,38 @@
         }
     }
 
-    public void finishedBatch() throws Exception {
-        finishedBatch(true);
+    public void incrementNotificationCounter(String status){
+        em.incrementAggregateCounters( null,null,null,"counters.notifications."+notification.getUuid()+"."+status,1 );
+
+        LocalDateTime localDateTime = LocalDateTime.now();
+        StringBuilder currentDate = new StringBuilder(  );
+        currentDate.append( "counters.notifications.aggregate."+status+"." );
+        currentDate.append( localDateTime.getYear()+"." );
+        currentDate.append( localDateTime.getMonth()+"." );
+        currentDate.append( localDateTime.getDayOfMonth()+"." );
+        currentDate.append( localDateTime.getMinute() );
+        em.incrementAggregateCounters( null,null,null,currentDate.toString(),1 );
+
     }
 
-    public void finishedBatch(boolean refreshNotification) throws Exception {
 
-        long successes = this.successes.get(); //reset counters
-        long failures = this.failures.get(); //reset counters
+    public void finishedBatch() throws Exception {
 
-        for (int i = 0; i < successes; i++) {
-            this.successes.decrementAndGet();
-        }
-        for (int i = 0; i < failures; i++) {
-            this.failures.decrementAndGet();
-        }
+        long successes = this.successes.get();
+        long failures = this.failures.get();
 
-        this.hasFinished = true;
+        // reset the counters
+        this.successes.set(0);
+        this.failures.set(0);
 
-        // force refresh notification by fetching it
-        if (refreshNotification) {
-            notification = em.get(this.notification.getUuid(), Notification.class);
-        }
+        // get the latest notification info
+        notification = em.get(this.notification.getUuid(), Notification.class);
 
         notification.updateStatistics(successes, failures);
         notification.setModified(System.currentTimeMillis());
         notification.setFinished(notification.getModified());
 
         em.update(notification);
+
     }
 }
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
index 2f39ae4..eb5d794 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
@@ -19,15 +19,18 @@
 import com.codahale.metrics.Meter;
 import org.apache.usergrid.batch.JobExecution;
 import org.apache.usergrid.persistence.*;
+import org.apache.usergrid.persistence.core.executor.TaskExecutorFactory;
 import org.apache.usergrid.persistence.core.metrics.MetricsFactory;
 import org.apache.usergrid.persistence.entities.*;
 import org.apache.usergrid.persistence.Query;
+import org.apache.usergrid.persistence.index.utils.UUIDUtils;
 import org.apache.usergrid.persistence.queue.QueueManager;
 import org.apache.usergrid.persistence.queue.QueueMessage;
 import org.apache.usergrid.services.notifications.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import rx.Observable;
+import rx.Scheduler;
 import rx.Subscriber;
 import rx.functions.Func1;
 import rx.schedulers.Schedulers;
@@ -42,8 +45,6 @@
 
     private static final Logger logger = LoggerFactory.getLogger(ApplicationQueueManagerImpl.class);
 
-    //this is for tests, will not mark initial post complete, set to false for tests
-
     private final EntityManager em;
     private final QueueManager qm;
     private final JobScheduler jobScheduler;
@@ -51,12 +52,21 @@
     private final String queueName;
     private final Meter queueMeter;
     private final Meter sendMeter;
+    private int concurrencyFactor;
 
+    private final static String PUSH_PROCESSING_MAXTHREADS_PROP = "usergrid.push.async.processing.threads";
+    private final static String PUSH_PROCESSING_QUEUESIZE_PROP = "usergrid.push.async.processing.queue.size";
     private final static String PUSH_PROCESSING_CONCURRENCY_PROP = "usergrid.push.async.processing.concurrency";
 
     HashMap<Object, ProviderAdapter> notifierHashMap; // only retrieve notifiers once
 
 
+
+    //private final Scheduler scheduler;
+
+
+
+
     public ApplicationQueueManagerImpl( JobScheduler jobScheduler, EntityManager entityManager,
                                         QueueManager queueManager, MetricsFactory metricsFactory,
                                         Properties properties) {
@@ -65,8 +75,35 @@
         this.jobScheduler = jobScheduler;
         this.metricsFactory = metricsFactory;
         this.queueName = getQueueNames(properties);
-        queueMeter = metricsFactory.getMeter(ApplicationQueueManagerImpl.class, "notification.queue");
-        sendMeter = metricsFactory.getMeter(NotificationsService.class, "queue.send");
+        this.queueMeter = metricsFactory.getMeter(ApplicationQueueManagerImpl.class, "notification.queue");
+        this.sendMeter = metricsFactory.getMeter(NotificationsService.class, "queue.send");
+        this.concurrencyFactor = Integer.valueOf(System.getProperty(PUSH_PROCESSING_CONCURRENCY_PROP, "50"));
+
+
+        /**
+        int maxAsyncThreads;
+        int workerQueueSize;
+
+        try {
+
+            maxAsyncThreads = Integer.valueOf(System.getProperty(PUSH_PROCESSING_MAXTHREADS_PROP, "200"));
+            workerQueueSize = Integer.valueOf(System.getProperty(PUSH_PROCESSING_QUEUESIZE_PROP, "2000"));
+
+        } catch (Exception e){
+
+            // if junk is passed into the property, just default the values
+            maxAsyncThreads = 200;
+            workerQueueSize = 2000;
+            this.concurrencyFactor = 50;
+
+        }
+
+
+        // create our own executor which has a bounded queue w/ caller runs policy for rejected tasks
+        this.scheduler = Schedulers.from(TaskExecutorFactory
+            .createTaskExecutor( "push-device-io", maxAsyncThreads, workerQueueSize,
+                TaskExecutorFactory.RejectionAction.CALLERRUNS ));
+         **/
 
     }
 
@@ -104,7 +141,9 @@
                 logger.trace("notification {} start query", notification.getUuid());
             }
 
-            logger.info("Notification {} started processing", notification.getUuid());
+            if(logger.isTraceEnabled()) {
+                logger.trace("Notification {} started processing", notification.getUuid());
+            }
 
 
 
@@ -206,6 +245,7 @@
                                 Query devicesQuery = new Query();
                                 devicesQuery.setCollection("devices");
                                 devicesQuery.setResultsLevel(Query.Level.CORE_PROPERTIES);
+                                devicesQuery.setLimit(50); // for now, assume a user has no more than 50 devices
 
                                 try {
 
@@ -234,7 +274,6 @@
                         return Observable.from(entities);
 
                         })
-                        .distinct( deviceRef -> deviceRef.getUuid())
                         .filter( device -> {
 
                             if(logger.isTraceEnabled()) {
@@ -271,37 +310,47 @@
 
                         })
                         .map(sendMessageFunction)
-                        .doOnNext( message -> {
-                            try {
+                        .subscribeOn(Schedulers.io());
 
-                                if(message.isPresent()){
+                }, concurrencyFactor)
+                .distinct( queueMessage -> {
 
-                                    if(logger.isTraceEnabled()) {
-                                        logger.trace("Queueing notification message for device: {}", message.get().getDeviceId());
-                                    }
-                                    qm.sendMessage( message.get() );
-                                    queueMeter.mark();
-                                }
+                    if(queueMessage.isPresent()) {
+                        return queueMessage.get().getDeviceId();
+                    }
 
-                            } catch (IOException e) {
+                    return UUIDUtils.newTimeUUID(); // this should be distinct, default handling for the Optional.empty() case
 
-                                if(message.isPresent()){
-                                    logger.error("Unable to queue notification for notification UUID {} and device UUID {} ",
-                                        message.get().getNotificationId(), message.get().getDeviceId());
-                                }
-                                else{
-                                    logger.error("Unable to queue notification as it's not present when trying to send to queue");
-                                }
+                } )
+                .doOnNext( message -> {
+                    try {
 
+                        if(message.isPresent()){
+
+                            if(logger.isTraceEnabled()) {
+                                logger.trace("Queueing notification message for device: {}", message.get().getDeviceId());
                             }
+                            qm.sendMessage( message.get() );
+                            queueMeter.mark();
+                        }
+
+                    } catch (IOException e) {
+
+                        if(message.isPresent()){
+                            logger.error("Unable to queue notification for notification UUID {} and device UUID {} ",
+                                message.get().getNotificationId(), message.get().getDeviceId());
+                        }
+                        else{
+                            logger.error("Unable to queue notification as it's not present when trying to send to queue");
+                        }
+
+                    }
 
 
-                        }).subscribeOn(Schedulers.io());
-
-                }, Integer.valueOf(System.getProperty(PUSH_PROCESSING_CONCURRENCY_PROP, "50")))
+                })
                 .doOnError(throwable -> {
 
-                    logger.error("Error while processing devices for notification : {}", notification.getUuid());
+                    logger.error("Error while processing devices for notification : {}, error: {}", notification.getUuid(), throwable.getMessage());
                     notification.setProcessingFinished(-1L);
                     notification.setDeviceProcessedCount(deviceCount.get());
                     logger.warn("Partial notification. Only {} devices processed for notification {}",
@@ -319,7 +368,9 @@
                         notification.setProcessingFinished(System.currentTimeMillis());
                         notification.setDeviceProcessedCount(deviceCount.get());
                         em.update(notification);
-                        logger.info("Notification {} finished processing {} device(s)", notification.getUuid(), deviceCount.get());
+                        if(logger.isTraceEnabled()) {
+                            logger.trace("Notification {} finished processing {} device(s)", notification.getUuid(), deviceCount.get());
+                        }
 
                     } catch (Exception e) {
                         logger.error("Unable to set processing finished timestamp for notification");
@@ -348,7 +399,7 @@
         // if no devices, go ahead and mark the batch finished
         if (deviceCount.get() <= 0 ) {
             TaskManager taskManager = new TaskManager(em, notification);
-            taskManager.finishedBatch(true);
+            taskManager.finishedBatch();
         }
 
 
@@ -540,32 +591,43 @@
 
 
     /**
-     * Validates that a notifier and adapter exists to send notifications to;
-     * {"winphone":"mymessage","apple":"mymessage"}
-     * TODO: document this method better
+     *  Validates that a notifier and adapter exists to send notifications to. For the example payload
+     *
+     *  { "payloads" : {"winphone":"mymessage","apple":"mymessage"} }
+     *
+     *  Notifiers with name "winphone" and "apple" must exist.
      */
-    private Map<String, Object> translatePayloads(Map<String, Object> payloads, Map<Object, ProviderAdapter>
-        notifierMap) throws Exception {
-        Map<String, Object> translatedPayloads = new HashMap<String, Object>(payloads.size());
+    private Map<String, Object> translatePayloads(Map<String, Object> payloads,
+                                                  Map<Object, ProviderAdapter> notifierMap) throws Exception {
+
+        final Map<String, Object> translatedPayloads = new HashMap<String, Object>(payloads.size());
+
         for (Map.Entry<String, Object> entry : payloads.entrySet()) {
+
             String payloadKey = entry.getKey().toLowerCase();
             Object payloadValue = entry.getValue();
+
             //look for adapter from payload map
             ProviderAdapter providerAdapter = notifierMap.get(payloadKey);
             if (providerAdapter != null) {
+
                 //translate payload to usable information
                 Object translatedPayload = payloadValue != null ? providerAdapter.translatePayload(payloadValue) : null;
                 if (translatedPayload != null) {
                     translatedPayloads.put(payloadKey, translatedPayload);
                 }
+
             }
         }
         return translatedPayloads;
     }
 
     public static String getQueueNames(Properties properties) {
-        String name = properties.getProperty(ApplicationQueueManagerImpl.DEFAULT_QUEUE_PROPERTY, ApplicationQueueManagerImpl.DEFAULT_QUEUE_NAME);
+
+        String name = properties.getProperty(ApplicationQueueManagerImpl.DEFAULT_QUEUE_PROPERTY,
+            ApplicationQueueManagerImpl.DEFAULT_QUEUE_NAME);
         return name;
+
     }
 
     private static final class IteratorObservable<T> implements rx.Observable.OnSubscribe<T> {
@@ -585,15 +647,15 @@
 
             try {
                 while (!subscriber.isUnsubscribed() && input.hasNext()) {
+
                     //send our input to the next
-                    //logger.debug("calling next on iterator: {}", input.getClass().getSimpleName());
                     subscriber.onNext((T) input.next());
+
                 }
 
                 //tell the subscriber we don't have any more data
-                //logger.debug("finished iterator: {}", input.getClass().getSimpleName());
-
                 subscriber.onCompleted();
+
             } catch (Throwable t) {
                 logger.error("failed on subscriber", t);
                 subscriber.onError(t);
@@ -617,10 +679,9 @@
                     }
                 }
             } catch (Exception e) {
-                logger.error("checkForInactiveDevices", e); // not
-                // essential so
-                // don't fail,
-                // but log
+                // not essential so don't fail, but log
+                logger.error("checkForInactiveDevices", e);
+
             }
         }
     }
@@ -630,14 +691,14 @@
 
         if (notification.getCanceled() == Boolean.TRUE) {
             if (logger.isDebugEnabled()) {
-                logger.debug("notification {} canceled. not sending.",
+                logger.debug("Notification {} canceled. Not sending.",
                     notification.getUuid());
             }
             return false;
         }
         if (notification.isExpired()) {
             if (logger.isDebugEnabled()) {
-                logger.debug("notification {} expired. not sending.",
+                logger.debug("Notification {} expired. Not sending.",
                     notification.getUuid());
             }
             return false;
@@ -654,7 +715,7 @@
             }
             return value != null ? value.toString() : null;
         } catch (Exception e) {
-            logger.error("Error getting provider ID, proceeding with rest of batch", e);
+            logger.error("Error getting notifier for device {}, proceeding with rest of batch", device, e);
             return null;
         }
     }
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifiers/NotifiersService.java b/stack/services/src/main/java/org/apache/usergrid/services/notifiers/NotifiersService.java
index 54a9dc4..cd5ca20 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifiers/NotifiersService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifiers/NotifiersService.java
@@ -16,7 +16,9 @@
  */
 package org.apache.usergrid.services.notifiers;
 
+import com.google.inject.Injector;
 import org.apache.usergrid.persistence.entities.Notifier;
+import org.apache.usergrid.services.notifications.ApplicationQueueManagerCache;
 import org.apache.usergrid.services.notifications.ProviderAdapterFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -54,6 +56,10 @@
                 providerAdapter.validateCreateNotifier(payload);
                 NotificationsService ns = (NotificationsService) sm.getService("notifications");
                 ns.testConnection(notifier);
+
+                // clear the app's push manager cache when notifiers are added
+                ns.getApplicationContext().getBean(Injector.class)
+                    .getInstance(ApplicationQueueManagerCache.class).invalidate(em.getApplicationId());
             } catch (Exception e) {
                 logger.info("notifier testConnection() failed", e);
                 em.delete(notifier);
diff --git a/stack/services/src/test/java/org/apache/usergrid/services/notifications/gcm/NotificationsServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/services/notifications/gcm/NotificationsServiceIT.java
index 77abb56..1a9f4f7 100644
--- a/stack/services/src/test/java/org/apache/usergrid/services/notifications/gcm/NotificationsServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/services/notifications/gcm/NotificationsServiceIT.java
@@ -19,14 +19,19 @@
 import com.google.android.gcm.server.Constants;
 import com.google.android.gcm.server.InvalidRequestException;
 import net.jcip.annotations.NotThreadSafe;
+
+import org.apache.usergrid.ServiceApplication;
 import org.apache.usergrid.persistence.*;
 import org.apache.usergrid.persistence.entities.*;
+import org.apache.usergrid.persistence.index.query.CounterResolution;
+import org.apache.usergrid.services.ServiceResults;
 import org.apache.usergrid.services.notifications.*;
 import org.junit.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.lang.reflect.Field;
+import java.time.LocalDateTime;
 import java.util.*;
 
 import org.apache.usergrid.services.ServiceAction;
@@ -304,6 +309,78 @@
         checkReceipts(notification, 1);
     }
 
+    @Ignore("turn this on and run individually when you want to verify. there is an issue with the aggregate counter, because of all the other tests"
+        + "AND, there is an issue with the batcher where we have to turn it up/down to see the results in time. ")
+    @Test
+    public void singlePushNotificationWithCounters() throws Exception {
+
+        long ts = System.currentTimeMillis() - ( 24 * 60 * 60 * 1000 );
+        app.clear();
+        String payload = "Hello, World!";
+        Map<String, String> payloads = new HashMap<String, String>(1);
+        payloads.put(notifier.getUuid().toString(), payload);
+        app.put("payloads", payloads);
+        app.put("queued", System.currentTimeMillis());
+        app.put("debug", false);
+        app.put("expire", System.currentTimeMillis() + 300000); // add 5 minutes to current time
+
+        Entity e = app.testRequest(ServiceAction.POST, 1, "devices", device1.getUuid(), "notifications").getEntity();
+        app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
+
+        Notification notification = app.getEntityManager().get(e.getUuid(), Notification.class);
+        assertEquals(
+            notification.getPayloads().get(notifier.getUuid().toString()),
+            payload);
+
+        // perform push //
+        notification = notificationWaitForComplete(notification);
+        //        checkReceipts(notification, 1);
+
+
+        verifyNotificationCounter( notification,"completed",ts,1 );
+        verifyNotificationCounter( notification,"failed",ts, 0 );
+
+
+
+
+    }
+
+    public void verifyNotificationCounter(Notification notification,String status,Long timestamp, int expected){
+
+        Results countersResults = app.getEntityManager().getAggregateCounters( null,null,null,"counters.notifications."+notification.getUuid()+"."+status,
+            CounterResolution.ALL,timestamp,System.currentTimeMillis(),false ) ;
+
+        assertEquals( 1, countersResults.getCounters().size() );
+        if(expected > 0) {
+            assertEquals( expected, countersResults.getCounters().get( 0 ).getValues().get( 0 ).getValue() );
+        }else if (expected == 0){
+            assertEquals( 0,countersResults.getCounters().get( 0 ).getValues().size());
+        }
+
+        LocalDateTime localDateTime = LocalDateTime.now();
+        StringBuilder currentDate = new StringBuilder(  );
+        currentDate.append( "counters.notifications.aggregate."+status+"." );
+        currentDate.append( localDateTime.getYear()+"." );
+        currentDate.append( localDateTime.getMonth()+"." );
+        currentDate.append( localDateTime.getDayOfMonth()); //+"." );
+
+        countersResults = app.getEntityManager().getAggregateCounters( null,null,null,currentDate.toString(),
+            CounterResolution.ALL,timestamp,System.currentTimeMillis(),false ) ;
+
+        //checks to see that it exists
+        assertEquals( 1, countersResults.getCounters().size() );
+        if(expected > 0) {
+            assertEquals( expected, countersResults.getCounters().get( 0 ).getValues().get( 0 ).getValue() );
+
+        }
+        else if (expected == 0){
+            assertEquals( 0,countersResults.getCounters().get( 0 ).getValues().size());
+        }
+
+    }
+
+
+
     @Test
     public void singlePushNotificationMultipleDevices() throws Exception {
 
diff --git a/website/README.md b/website/README.md
index 2271ee0..735ad16 100644
--- a/website/README.md
+++ b/website/README.md
@@ -42,7 +42,7 @@
     
 ## 3. Publish your changes to the site    
 
-Run the nanoc compiler to generate the . It is configured via the ``nanoc.yaml`` to place website files into the ``content`` directory at the top 
+Run the nanoc compiler to generate the HTML for the website. It is configured via the ``nanoc.yaml`` to place website files into the ``content`` directory at the top 
 
     $ nanoc compile
 
diff --git a/website/layouts/footer.html b/website/layouts/footer.html
index 6101e04..ab21605 100644
--- a/website/layouts/footer.html
+++ b/website/layouts/footer.html
@@ -67,8 +67,7 @@
         </div> 
         <div class="row">
             <div id="copyright">
-                <img src="/img/egg-logo.png" /><br/><br/>
-                <p>Copyright © 2013 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.<br>
+                <p>Copyright © The Apache Software Foundation, Licensed under the Apache License, Version 2.0.<br>
                 Apache and the Apache feather logos are trademarks of The Apache Software Foundation.</p>
                 <p class="credits">Site designed & assembled with love by <a href="https://github.com/ryuneeee">@ryuneeee</a> + <a href="https://github.com/realbeast">@realbeast</a> + <a href="https://twitter.com/timanglade">@timanglade</a> + <a href="https://twitter.com/snoopdave">@snoopdave</a> .</p>
             </div>