codejockie/document-manager

View on GitHub
public/index.html

Summary

Maintainability
Test Coverage
 
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>CJDocs API Reference</title>
 
<style>
.highlight table td { padding: 5px; }
.highlight table pre { margin: 0; }
.highlight .gh {
color: #999999;
}
.highlight .sr {
color: #f6aa11;
}
.highlight .go {
color: #888888;
}
.highlight .gp {
color: #555555;
}
.highlight .gs {
}
.highlight .gu {
color: #aaaaaa;
}
.highlight .nb {
color: #f6aa11;
}
.highlight .cm {
color: #75715e;
}
.highlight .cp {
color: #75715e;
}
.highlight .c1 {
color: #75715e;
}
.highlight .cs {
color: #75715e;
}
.highlight .c, .highlight .cd {
color: #75715e;
}
.highlight .err {
color: #960050;
}
.highlight .gr {
color: #960050;
}
.highlight .gt {
color: #960050;
}
.highlight .gd {
color: #49483e;
}
.highlight .gi {
color: #49483e;
}
.highlight .ge {
color: #49483e;
}
.highlight .kc {
color: #66d9ef;
}
.highlight .kd {
color: #66d9ef;
}
.highlight .kr {
color: #66d9ef;
}
.highlight .no {
color: #66d9ef;
}
.highlight .kt {
color: #66d9ef;
}
.highlight .mf {
color: #ae81ff;
}
.highlight .mh {
color: #ae81ff;
}
.highlight .il {
color: #ae81ff;
}
.highlight .mi {
color: #ae81ff;
}
.highlight .mo {
color: #ae81ff;
}
.highlight .m, .highlight .mb, .highlight .mx {
color: #ae81ff;
}
.highlight .sc {
color: #ae81ff;
}
.highlight .se {
color: #ae81ff;
}
.highlight .ss {
color: #ae81ff;
}
.highlight .sd {
color: #e6db74;
}
.highlight .s2 {
color: #e6db74;
}
.highlight .sb {
color: #e6db74;
}
.highlight .sh {
color: #e6db74;
}
.highlight .si {
color: #e6db74;
}
.highlight .sx {
color: #e6db74;
}
.highlight .s1 {
color: #e6db74;
}
.highlight .s {
color: #e6db74;
}
.highlight .na {
color: #a6e22e;
}
.highlight .nc {
color: #a6e22e;
}
.highlight .nd {
color: #a6e22e;
}
.highlight .ne {
color: #a6e22e;
}
.highlight .nf {
color: #a6e22e;
}
.highlight .vc {
color: #ffffff;
}
.highlight .nn {
color: #ffffff;
}
.highlight .nl {
color: #ffffff;
}
.highlight .ni {
color: #ffffff;
}
.highlight .bp {
color: #ffffff;
}
.highlight .vg {
color: #ffffff;
}
.highlight .vi {
color: #ffffff;
}
.highlight .nv {
color: #ffffff;
}
.highlight .w {
color: #ffffff;
}
.highlight {
color: #ffffff;
}
.highlight .n, .highlight .py, .highlight .nx {
color: #ffffff;
}
.highlight .ow {
color: #f92672;
}
.highlight .nt {
color: #f92672;
}
.highlight .k, .highlight .kv {
color: #f92672;
}
.highlight .kn {
color: #f92672;
}
.highlight .kp {
color: #f92672;
}
.highlight .o {
color: #f92672;
}
</style>
<link href="stylesheets/screen.css" rel="stylesheet" media="screen" />
<link href="stylesheets/print.css" rel="stylesheet" media="print" />
<script src="javascripts/all.js"></script>
</head>
 
<body class="index" data-languages="[&quot;csharp&quot;,&quot;javascript&quot;,&quot;python&quot;,&quot;shell&quot;]">
<a href="#" id="nav-button">
<span>
NAV
<img src="images/navbar.png" alt="Navbar" />
</span>
</a>
<div class="toc-wrapper">
<img src="images/logo.png" class="logo" alt="Logo" />
<div class="lang-selector">
<a href="#" data-language-name="csharp">C#</a>
<a href="#" data-language-name="javascript">JavaScript</a>
<a href="#" data-language-name="python">Python</a>
<a href="#" data-language-name="shell">cURL</a>
</div>
<div class="search">
<input type="text" class="search" id="input-search" placeholder="Search">
</div>
<ul class="search-results"></ul>
<div id="toc" class="toc-list-h1">
<li>
<a href="#introduction" class="toc-h1 toc-link" data-title="Introduction">Introduction</a>
</li>
<li>
<a href="#authentication" class="toc-h1 toc-link" data-title="Authentication">Authentication</a>
</li>
<li>
<a href="#users" class="toc-h1 toc-link" data-title="Users">Users</a>
<ul class="toc-list-h2">
<li>
<a href="#login" class="toc-h2 toc-link" data-title="Users">Login</a>
</li>
<li>
<a href="#logout" class="toc-h2 toc-link" data-title="Users">Logout</a>
</li>
<li>
<a href="#create-a-new-user" class="toc-h2 toc-link" data-title="Users">Create a New User</a>
</li>
<li>
<a href="#get-all-users" class="toc-h2 toc-link" data-title="Users">Get All Users</a>
</li>
<li>
<a href="#get-paginated-users" class="toc-h2 toc-link" data-title="Users">Get Paginated Users</a>
</li>
<li>
<a href="#get-a-specific-user" class="toc-h2 toc-link" data-title="Users">Get a Specific User</a>
</li>
<li>
<a href="#update-a-specific-user" class="toc-h2 toc-link" data-title="Users">Update a Specific User</a>
</li>
<li>
<a href="#delete-a-specific-user" class="toc-h2 toc-link" data-title="Users">Delete a Specific User</a>
</li>
<li>
<a href="#get-a-specific-user-39-s-documents" class="toc-h2 toc-link" data-title="Users">Get a Specific User's Documents</a>
</li>
</ul>
</li>
<li>
<a href="#documents" class="toc-h1 toc-link" data-title="Documents">Documents</a>
<ul class="toc-list-h2">
<li>
<a href="#create-a-new-document" class="toc-h2 toc-link" data-title="Documents">Create a New Document</a>
</li>
<li>
<a href="#get-all-documents" class="toc-h2 toc-link" data-title="Documents">Get All Documents</a>
</li>
<li>
<a href="#get-paginated-documents" class="toc-h2 toc-link" data-title="Documents">Get Paginated Documents</a>
</li>
<li>
<a href="#get-a-specific-document" class="toc-h2 toc-link" data-title="Documents">Get a Specific Document</a>
</li>
<li>
<a href="#update-a-specific-document" class="toc-h2 toc-link" data-title="Documents">Update a Specific Document</a>
</li>
<li>
<a href="#delete-a-specific-document" class="toc-h2 toc-link" data-title="Documents">Delete a Specific Document</a>
</li>
</ul>
</li>
<li>
<a href="#search" class="toc-h1 toc-link" data-title="Search">Search</a>
<ul class="toc-list-h2">
<li>
<a href="#search-documents" class="toc-h2 toc-link" data-title="Search">Search Documents</a>
</li>
<li>
<a href="#search-users" class="toc-h2 toc-link" data-title="Search">Search Users</a>
</li>
</ul>
</li>
<li>
<a href="#errors" class="toc-h1 toc-link" data-title="Errors">Errors</a>
</li>
</div>
<ul class="toc-footer">
<li><a href='https://github.com/tripit/slate'>Documentation Powered by Slate</a></li>
</ul>
</div>
<div class="page-wrapper">
<div class="dark-box"></div>
<div class="content">
<h1 id='introduction'>Introduction</h1>
<p>Welcome to the CJDocs API! You can use our API to access Document Manager API endpoints, which allows an authenticated user access to documents stored in the database.</p>
 
<p>We have language bindings in Shell, C#, JavaScript and Python! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.</p>
 
<p>This API documentation page was created with <a href="https://github.com/tripit/slate">Slate</a>. Feel free to edit it and use it as a base for your own API&#39;s documentation.</p>
<h1 id='authentication'>Authentication</h1>
<p>CJDocs uses traditional means of authentication (username and password) to allow access to the API. Kindly see the <code>Create a New User</code> section under <code>Users</code> in the API documentation. On registering or login, a token is generated.</p>
 
<p>CJDocs expects for the token to be included in all API requests to the server in a header that looks like the following:</p>
 
<p><code>X-Auth: token</code></p>
 
<aside class="notice">
You must replace <code>token</code> with your personal token.
</aside>
<h1 id='users'>Users</h1><h2 id='login'>Login</h2>
<blockquote>
<p>Request Body:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"email"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe@johndoe.com"</span><span class="p">,</span><span class="w">
</span><span class="s2">"password"</span><span class="p">:</span><span class="w"> </span><span class="s2">"password"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"user"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"firstname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John"</span><span class="p">,</span><span class="w">
</span><span class="s2">"lastname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Doe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"email"</span><span class="p">:</span><span class="w"> </span><span class="s2">"john.doe@johndoe.com"</span><span class="p">,</span><span class="w">
</span><span class="s2">"username"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"roleId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 1:39:24 pm"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="s2">"token"</span><span class="p">:</span><span class="w"> </span><span class="s2">"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>This endpoint authenticates a user.</p>
<h3 id='http-request'>HTTP Request</h3>
<p><code>POST /v1/users/login</code></p>
<h2 id='logout'>Logout</h2>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Logged out"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>This endpoint logs a user out</p>
<h3 id='http-request-2'>HTTP Request</h3>
<p><code>POST /v1/users/logout</code></p>
<h2 id='create-a-new-user'>Create a New User</h2>
<blockquote>
<p>Request Body:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"email"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe@johndoe.com"</span><span class="p">,</span><span class="w">
</span><span class="s2">"username"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"firstname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John"</span><span class="p">,</span><span class="w">
</span><span class="s2">"lastname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Doe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"password"</span><span class="p">:</span><span class="w"> </span><span class="s2">"test"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"user"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"firstname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John"</span><span class="p">,</span><span class="w">
</span><span class="s2">"lastname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Doe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"email"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe@johndoe.com"</span><span class="p">,</span><span class="w">
</span><span class="s2">"username"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"roleId"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:44:51 pm"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="s2">"token"</span><span class="p">:</span><span class="w"> </span><span class="s2">"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>This endpoint registers a new user</p>
<h3 id='http-request-3'>HTTP Request</h3>
<p><code>POST /v1/users</code></p>
<h2 id='get-all-users'>Get All Users</h2>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"metaData"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="s2">"page"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"pageCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"pageSize"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"totalCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="s2">"users"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"firstname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John"</span><span class="p">,</span><span class="w">
</span><span class="s2">"lastname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Doe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"email"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe@johndoe.com"</span><span class="p">,</span><span class="w">
</span><span class="s2">"username"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"roleId"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:44:51 pm"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
</span><span class="s2">"firstname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John"</span><span class="p">,</span><span class="w">
</span><span class="s2">"lastname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Smith"</span><span class="p">,</span><span class="w">
</span><span class="s2">"email"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johnsmith@johnsmith.com"</span><span class="p">,</span><span class="w">
</span><span class="s2">"username"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johnsmith"</span><span class="p">,</span><span class="w">
</span><span class="s2">"roleId"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:46:17 pm"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>This endpoint retrieves all users</p>
<h3 id='http-request-4'>HTTP Request</h3>
<p><code>GET /v1/users</code>
Requires: Authentication</p>
<h2 id='get-paginated-users'>Get Paginated Users</h2>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"metaData"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="s2">"page"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"pageCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"pageSize"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"totalCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="s2">"users"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"firstname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John"</span><span class="p">,</span><span class="w">
</span><span class="s2">"lastname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Doe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"email"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe@johndoe.com"</span><span class="p">,</span><span class="w">
</span><span class="s2">"username"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"roleId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:44:51 pm"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
</span><span class="s2">"firstname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John"</span><span class="p">,</span><span class="w">
</span><span class="s2">"lastname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Smith"</span><span class="p">,</span><span class="w">
</span><span class="s2">"email"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johnsmith@johnsmith.com"</span><span class="p">,</span><span class="w">
</span><span class="s2">"username"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johnsmith"</span><span class="p">,</span><span class="w">
</span><span class="s2">"roleId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:46:17 pm"</span><span class="p">,</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>This endpoint paginates users to retrieve</p>
<h3 id='http-request-5'>HTTP Request</h3>
<p><code>GET /v1/users/?limit=3&amp;offset=1</code></p>
<h2 id='get-a-specific-user'>Get a Specific User</h2>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"firstname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John"</span><span class="p">,</span><span class="w">
</span><span class="s2">"lastname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Doe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"email"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe@johndoe.com"</span><span class="p">,</span><span class="w">
</span><span class="s2">"username"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"roleId"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:44:51 pm"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>This endpoint retrieves a specific user.</p>
<h3 id='http-request-6'>HTTP Request</h3>
<p><code>GET /v1/users/&lt;ID&gt;</code>
Requires: Authentication</p>
<h3 id='url-parameters'>URL Parameters</h3>
<table><thead>
<tr>
<th>Parameter</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>ID</td>
<td>The ID of the user to retrieve</td>
</tr>
</tbody></table>
<h2 id='update-a-specific-user'>Update a Specific User</h2>
<blockquote>
<p>Request Body:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"email"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe@jd.com"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"firstname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John"</span><span class="p">,</span><span class="w">
</span><span class="s2">"lastname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Doe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"email"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe@jd.com"</span><span class="p">,</span><span class="w">
</span><span class="s2">"username"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"roleId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:44:51 pm"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>This endpoint updates a specific user</p>
<h3 id='http-request-7'>HTTP Request</h3>
<p><code>PUT /v1/users/&lt;ID&gt;</code>
Requires: Authentication</p>
<h3 id='url-parameters-2'>URL Parameters</h3>
<table><thead>
<tr>
<th>Parameter</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>ID</td>
<td>The ID of the document to update</td>
</tr>
</tbody></table>
<h2 id='delete-a-specific-user'>Delete a Specific User</h2>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"User deleted successfully"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>This endpoint deletes a specific user</p>
<h3 id='http-request-8'>HTTP Request</h3>
<p><code>DELETE /v1/users/&lt;ID&gt;</code>
Requires: Authentication</p>
<h3 id='url-parameters-3'>URL Parameters</h3>
<table><thead>
<tr>
<th>Parameter</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>ID</td>
<td>The ID of the document to delete</td>
</tr>
</tbody></table>
<h2 id='get-a-specific-user-39-s-documents'>Get a Specific User&#39;s Documents</h2>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"metaData"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="s2">"page"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"pageCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"pageSize"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"totalCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="s2">"documents"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc User 2"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the POST endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Doe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="p">,</span><span class="w">
</span><span class="s2">"userId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:22:51 pm"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Another Test Doc User 2"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the POST endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Doe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="p">,</span><span class="w">
</span><span class="s2">"userId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:28:31 pm"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>This endpoint retrieves all documents belonging to a specific user</p>
<h3 id='http-request-9'>HTTP Request</h3>
<p><code>GET /v1/users/&lt;ID&gt;/documents</code>
Requires: Authentication</p>
 
<table><thead>
<tr>
<th>Parameter</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>ID</td>
<td>The ID of the user to retrieve documents</td>
</tr>
</tbody></table>
<h1 id='documents'>Documents</h1><h2 id='create-a-new-document'>Create a New Document</h2>
<blockquote>
<p>Request Body:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc 1"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the POST endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Kennedy"</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc 1"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the POST endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Kennedy"</span><span class="p">,</span><span class="w">
</span><span class="s2">"userId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"roleId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:22:51 pm"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>This endpoint registers a new user</p>
<h3 id='http-request'>HTTP Request</h3>
<p><code>POST /v1/documents</code></p>
<h2 id='get-all-documents'>Get All Documents</h2>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"metaData"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="s2">"page"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"pageCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"pageSize"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w">
</span><span class="s2">"totalCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="s2">"documents"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc 1"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the POST endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Kennedy"</span><span class="p">,</span><span class="w">
</span><span class="s2">"userId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:22:51 pm"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc 2"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the POST endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Kennedy"</span><span class="p">,</span><span class="w">
</span><span class="s2">"userId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:28:31 pm"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc 3"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the POST endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Kennedy"</span><span class="p">,</span><span class="w">
</span><span class="s2">"userId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:29:23 pm"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc 4"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the POST endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Kennedy"</span><span class="p">,</span><span class="w">
</span><span class="s2">"userId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:29:28 pm"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>This endpoint retrieves all documents</p>
<h3 id='http-request-2'>HTTP Request</h3>
<p><code>GET /v1/documents</code>
Requires: Authentication</p>
<h2 id='get-paginated-documents'>Get Paginated Documents</h2>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"metaData"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="s2">"page"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"pageCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"pageSize"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
</span><span class="s2">"totalCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="s2">"documents"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc 3"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the POST endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Kennedy"</span><span class="p">,</span><span class="w">
</span><span class="s2">"userId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:29:23 pm"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc 4"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the POST endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Kennedy"</span><span class="p">,</span><span class="w">
</span><span class="s2">"userId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:29:28 pm"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc 5"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the POST endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Kennedy"</span><span class="p">,</span><span class="w">
</span><span class="s2">"userId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:29:48 pm"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>This endpoint paginates documents to retrieve</p>
<h3 id='http-request-3'>HTTP Request</h3>
<p><code>GET /v1/documents/?limit=3&amp;offset=2</code>
Requires: Authentication</p>
<h2 id='get-a-specific-document'>Get a Specific Document</h2>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc 6"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the POST endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Kennedy"</span><span class="p">,</span><span class="w">
</span><span class="s2">"userId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"roleId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:29:54 pm"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>This endpoint retrieves a specific document.</p>
<h3 id='http-request-4'>HTTP Request</h3>
<p><code>GET /v1/documents/&lt;ID&gt;</code>
Requires: Authentication</p>
<h3 id='url-parameters'>URL Parameters</h3>
<table><thead>
<tr>
<th>Parameter</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>ID</td>
<td>The ID of the document to retrieve</td>
</tr>
</tbody></table>
<h2 id='update-a-specific-document'>Update a Specific Document</h2>
<blockquote>
<p>Request Body:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc Update"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the PUT endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Kennedy"</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"document"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc Update"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the PUT endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"private"</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Kennedy"</span><span class="p">,</span><span class="w">
</span><span class="s2">"userId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"roleId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:29:54 pm"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>This endpoint updates a specific document</p>
<h3 id='http-request-5'>HTTP Request</h3>
<p><code>PUT /v1/documents/&lt;ID&gt;</code>
Requires: Authentication</p>
<h3 id='url-parameters-2'>URL Parameters</h3>
<table><thead>
<tr>
<th>Parameter</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>ID</td>
<td>The ID of the document to update</td>
</tr>
</tbody></table>
<h2 id='delete-a-specific-document'>Delete a Specific Document</h2>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Document deleted successfully"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>This endpoint deletes a specific document</p>
<h3 id='http-request-6'>HTTP Request</h3>
<p><code>DELETE /v1/documents/&lt;ID&gt;</code>
Requires: Authentication</p>
<h3 id='url-parameters-3'>URL Parameters</h3>
<table><thead>
<tr>
<th>Parameter</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>ID</td>
<td>The ID of the document to delete</td>
</tr>
</tbody></table>
<h1 id='search'>Search</h1><h2 id='search-documents'>Search Documents</h2>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"documents"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc 3"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the POST endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Doe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="p">,</span><span class="w">
</span><span class="s2">"userId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:29:23 pm"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc 2"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the POST endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Doe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="p">,</span><span class="w">
</span><span class="s2">"userId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:28:31 pm"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Test Doc 1"</span><span class="p">,</span><span class="w">
</span><span class="s2">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This tests the POST endpoint."</span><span class="p">,</span><span class="w">
</span><span class="s2">"author"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Doe"</span><span class="p">,</span><span class="w">
</span><span class="s2">"access"</span><span class="p">:</span><span class="w"> </span><span class="s2">"public"</span><span class="p">,</span><span class="w">
</span><span class="s2">"userId"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="s2">"createdAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Thu, Aug 3rd 2017, 4:22:51 pm"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre><h3 id='http-request'>HTTP Request</h3>
<p><code>GET /v1/search/documents?q=test</code></p>
<h3 id='query-parameters'>Query Parameters</h3>
<table><thead>
<tr>
<th>Parameter</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>q</td>
<td>&quot;&quot;</td>
<td>Search query.</td>
</tr>
</tbody></table>
<h2 id='search-users'>Search Users</h2>
<blockquote>
<p>The above command returns JSON structured like this:</p>
</blockquote>
<pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
</span><span class="s2">"users"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"email"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe@jd.com"</span><span class="p">,</span><span class="w">
</span><span class="s2">"username"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johndoe"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="s2">"email"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johnsmith@johnsmith.com"</span><span class="p">,</span><span class="w">
</span><span class="s2">"username"</span><span class="p">:</span><span class="w"> </span><span class="s2">"johnsmith"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre><h3 id='http-request-2'>HTTP Request</h3>
<p><code>GET /v1/search/users?q=j</code></p>
<h3 id='query-parameters-2'>Query Parameters</h3>
<table><thead>
<tr>
<th>Parameter</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>q</td>
<td>&quot;&quot;</td>
<td>Search query.</td>
</tr>
</tbody></table>
<h1 id='errors'>Errors</h1>
<p>The CJDocs API uses the following error codes:</p>
 
<table><thead>
<tr>
<th>Error Code</th>
<th>Meaning</th>
</tr>
</thead><tbody>
<tr>
<td>400</td>
<td>Bad Request -- Your request sucks.</td>
</tr>
<tr>
<td>401</td>
<td>Unauthorized -- User not authenticated.</td>
</tr>
<tr>
<td>403</td>
<td>Forbidden -- User not authorised to view content.</td>
</tr>
<tr>
<td>404</td>
<td>Not Found -- The specified document/user could not be found.</td>
</tr>
<tr>
<td>422</td>
<td>Unprocessable Entity -- A duplicate title/email/username.</td>
</tr>
<tr>
<td>500</td>
<td>Internal Server Error -- Invalid ID or access type violation</td>
</tr>
</tbody></table>
 
</div>
<div class="dark-box">
<div class="lang-selector">
<a href="#" data-language-name="csharp">C#</a>
<a href="#" data-language-name="javascript">JavaScript</a>
<a href="#" data-language-name="python">Python</a>
<a href="#" data-language-name="shell">cURL</a>
</div>
</div>
</div>
</body>
</html>