4 <title>Secret Management Service</title>
5 <style type="text/css">
7 font-family: Trebuchet MS, sans-serif;
27 background-color: #ddd;
54 margin: 10px 0 20px 0;
65 text-transform: uppercase;
69 background-color: #0f6ab4;
73 background-color: #10a54a;
77 background-color: #c5862b;
81 background-color: #a41e22;
89 background-color: #f3f3f3;
91 border: 1px solid #ddd;
104 background-color: #0f6ab4;
117 padding: 10px 0 0 20px;
158 padding-bottom: 10px;
170 background: none repeat scroll 0% 0% #24A600;
175 display: inline-block;
176 text-decoration: none;
182 <h1>Secret Management Service</h1>
183 <div class="app-desc">This is a service that provides secret management facilities</div>
184 <div class="app-desc">More information: <a href=""></a></div>
185 <div class="app-desc">Contact Info: <a href="kiran.k.kamineni@intel.com">kiran.k.kamineni@intel.com</a></div>
186 <div class="app-desc">Version: 1.0.0</div>
187 <div class="app-desc">BasePath:/v1/sms/</div>
188 <div class="license-info">Apache 2.0</div>
189 <div class="license-url">http://www.apache.org/licenses/LICENSE-2.0.html</div>
192 <li>APIKey KeyParamName:token KeyInQuery:false KeyInHeader:true</li>
195 <h2><a name="__Methods">Methods</a></h2>
196 [ Jump to <a href="#__Models">Models</a> ]
198 <h3>Table of Contents </h3>
199 <div class="method-summary"></div>
200 <h4><a href="#Domain">Domain</a></h4>
202 <li><a href="#domainDomainNameDelete"><code><span class="http-method">delete</span> /domain/{domainName}</code></a></li>
203 <li><a href="#domainPost"><code><span class="http-method">post</span> /domain</code></a></li>
205 <h4><a href="#Login">Login</a></h4>
207 <li><a href="#loginPost"><code><span class="http-method">post</span> /login</code></a></li>
209 <h4><a href="#Secret">Secret</a></h4>
211 <li><a href="#domainDomainNameSecretGet"><code><span class="http-method">get</span> /domain/{domainName}/secret</code></a></li>
212 <li><a href="#domainDomainNameSecretPost"><code><span class="http-method">post</span> /domain/{domainName}/secret</code></a></li>
213 <li><a href="#domainDomainNameSecretSecretNameDelete"><code><span class="http-method">delete</span> /domain/{domainName}/secret/{secretName}</code></a></li>
214 <li><a href="#domainDomainNameSecretSecretNameGet"><code><span class="http-method">get</span> /domain/{domainName}/secret/{secretName}</code></a></li>
216 <h4><a href="#System">System</a></h4>
218 <li><a href="#statusGet"><code><span class="http-method">get</span> /status</code></a></li>
219 <li><a href="#unsealPost"><code><span class="http-method">post</span> /unseal</code></a></li>
222 <h1><a name="Domain">Domain</a></h1>
223 <div class="method"><a name="domainDomainNameDelete"/>
224 <div class="method-path">
225 <a class="up" href="#__Methods">Up</a>
226 <pre class="delete"><code class="huge"><span class="http-method">delete</span> /domain/{domainName}</code></pre></div>
227 <div class="method-summary">Deletes a domain by name (<span class="nickname">domainDomainNameDelete</span>)</div>
228 <div class="method-notes">Deletes a domain with provided name</div>
230 <h3 class="field-label">Path parameters</h3>
231 <div class="field-items">
232 <div class="param">domainName (required)</div>
234 <div class="param-desc"><span class="param-type">Path Parameter</span> — Name of the domain </div>
235 </div> <!-- field-items -->
243 <!--Todo: process Response Object and its headers, schema, examples -->
246 <h3 class="field-label">Produces</h3>
247 This API call produces the following media types according to the <span class="header">Accept</span> request header;
248 the media type will be conveyed by the <span class="heaader">Content-Type</span> response header.
250 <li><code>application/json</code></li>
253 <h3 class="field-label">Responses</h3>
254 <h4 class="field-label">204</h4>
257 <h4 class="field-label">404</h4>
258 Invalid Path or Path not found
260 </div> <!-- method -->
262 <div class="method"><a name="domainPost"/>
263 <div class="method-path">
264 <a class="up" href="#__Methods">Up</a>
265 <pre class="post"><code class="huge"><span class="http-method">post</span> /domain</code></pre></div>
266 <div class="method-summary">Add a new domain (<span class="nickname">domainPost</span>)</div>
267 <div class="method-notes"></div>
270 <h3 class="field-label">Consumes</h3>
271 This API call consumes the following media types via the <span class="heaader">Content-Type</span> request header:
273 <li><code>application/json</code></li>
276 <h3 class="field-label">Request body</h3>
277 <div class="field-items">
278 <div class="param">body <a href="#Domain">Domain</a> (required)</div>
280 <div class="param-desc"><span class="param-type">Body Parameter</span> — </div>
282 </div> <!-- field-items -->
287 <h3 class="field-label">Return type</h3>
288 <div class="return-type">
289 <a href="#Domain">Domain</a>
293 <!--Todo: process Response Object and its headers, schema, examples -->
295 <h3 class="field-label">Example data</h3>
296 <div class="example-data-content-type">Content-Type: application/json</div>
297 <pre class="example"><code>{
302 <h3 class="field-label">Produces</h3>
303 This API call produces the following media types according to the <span class="header">Accept</span> request header;
304 the media type will be conveyed by the <span class="heaader">Content-Type</span> response header.
306 <li><code>application/json</code></li>
309 <h3 class="field-label">Responses</h3>
310 <h4 class="field-label">201</h4>
312 <a href="#Domain">Domain</a>
313 <h4 class="field-label">400</h4>
316 <h4 class="field-label">500</h4>
317 Internal Server Error
319 </div> <!-- method -->
321 <h1><a name="Login">Login</a></h1>
322 <div class="method"><a name="loginPost"/>
323 <div class="method-path">
324 <a class="up" href="#__Methods">Up</a>
325 <pre class="post"><code class="huge"><span class="http-method">post</span> /login</code></pre></div>
326 <div class="method-summary">Login with username and password (<span class="nickname">loginPost</span>)</div>
327 <div class="method-notes">Operations related to logging in via username and Password</div>
330 <h3 class="field-label">Consumes</h3>
331 This API call consumes the following media types via the <span class="heaader">Content-Type</span> request header:
333 <li><code>application/json</code></li>
336 <h3 class="field-label">Request body</h3>
337 <div class="field-items">
338 <div class="param">body <a href="#Credential">Credential</a> (required)</div>
340 <div class="param-desc"><span class="param-type">Body Parameter</span> — </div>
342 </div> <!-- field-items -->
347 <h3 class="field-label">Return type</h3>
348 <div class="return-type">
349 <a href="#inline_response_200">inline_response_200</a>
353 <!--Todo: process Response Object and its headers, schema, examples -->
355 <h3 class="field-label">Example data</h3>
356 <div class="example-data-content-type">Content-Type: application/json</div>
357 <pre class="example"><code>{
362 <h3 class="field-label">Produces</h3>
363 This API call produces the following media types according to the <span class="header">Accept</span> request header;
364 the media type will be conveyed by the <span class="heaader">Content-Type</span> response header.
366 <li><code>application/json</code></li>
369 <h3 class="field-label">Responses</h3>
370 <h4 class="field-label">200</h4>
371 Successful Login returns a token
372 <a href="#inline_response_200">inline_response_200</a>
373 <h4 class="field-label">404</h4>
374 Invalid Username or Password
376 </div> <!-- method -->
378 <h1><a name="Secret">Secret</a></h1>
379 <div class="method"><a name="domainDomainNameSecretGet"/>
380 <div class="method-path">
381 <a class="up" href="#__Methods">Up</a>
382 <pre class="get"><code class="huge"><span class="http-method">get</span> /domain/{domainName}/secret</code></pre></div>
383 <div class="method-summary">List secret Names in this domain (<span class="nickname">domainDomainNameSecretGet</span>)</div>
384 <div class="method-notes">Gets all secret names in this domain</div>
386 <h3 class="field-label">Path parameters</h3>
387 <div class="field-items">
388 <div class="param">domainName (required)</div>
390 <div class="param-desc"><span class="param-type">Path Parameter</span> — Name of the domain in which to look at </div>
391 </div> <!-- field-items -->
398 <h3 class="field-label">Return type</h3>
399 <div class="return-type">
404 <!--Todo: process Response Object and its headers, schema, examples -->
406 <h3 class="field-label">Example data</h3>
407 <div class="example-data-content-type">Content-Type: application/json</div>
408 <pre class="example"><code>[ "secret1", "secret2", "secret3" ]</code></pre>
410 <h3 class="field-label">Produces</h3>
411 This API call produces the following media types according to the <span class="header">Accept</span> request header;
412 the media type will be conveyed by the <span class="heaader">Content-Type</span> response header.
414 <li><code>application/json</code></li>
417 <h3 class="field-label">Responses</h3>
418 <h4 class="field-label">200</h4>
421 <h4 class="field-label">404</h4>
422 Invalid Path or Path not found
424 </div> <!-- method -->
426 <div class="method"><a name="domainDomainNameSecretPost"/>
427 <div class="method-path">
428 <a class="up" href="#__Methods">Up</a>
429 <pre class="post"><code class="huge"><span class="http-method">post</span> /domain/{domainName}/secret</code></pre></div>
430 <div class="method-summary">Add a new secret (<span class="nickname">domainDomainNameSecretPost</span>)</div>
431 <div class="method-notes"></div>
433 <h3 class="field-label">Path parameters</h3>
434 <div class="field-items">
435 <div class="param">domainName (required)</div>
437 <div class="param-desc"><span class="param-type">Path Parameter</span> — Name of the domain </div>
438 </div> <!-- field-items -->
440 <h3 class="field-label">Consumes</h3>
441 This API call consumes the following media types via the <span class="heaader">Content-Type</span> request header:
443 <li><code>application/json</code></li>
446 <h3 class="field-label">Request body</h3>
447 <div class="field-items">
448 <div class="param">body <a href="#Secret">Secret</a> (required)</div>
450 <div class="param-desc"><span class="param-type">Body Parameter</span> — </div>
452 </div> <!-- field-items -->
458 <!--Todo: process Response Object and its headers, schema, examples -->
461 <h3 class="field-label">Produces</h3>
462 This API call produces the following media types according to the <span class="header">Accept</span> request header;
463 the media type will be conveyed by the <span class="heaader">Content-Type</span> response header.
465 <li><code>application/json</code></li>
468 <h3 class="field-label">Responses</h3>
469 <h4 class="field-label">201</h4>
472 <h4 class="field-label">404</h4>
473 Invalid Path or Path not found
475 </div> <!-- method -->
477 <div class="method"><a name="domainDomainNameSecretSecretNameDelete"/>
478 <div class="method-path">
479 <a class="up" href="#__Methods">Up</a>
480 <pre class="delete"><code class="huge"><span class="http-method">delete</span> /domain/{domainName}/secret/{secretName}</code></pre></div>
481 <div class="method-summary">Deletes a Secret (<span class="nickname">domainDomainNameSecretSecretNameDelete</span>)</div>
482 <div class="method-notes"></div>
484 <h3 class="field-label">Path parameters</h3>
485 <div class="field-items">
486 <div class="param">secretName (required)</div>
488 <div class="param-desc"><span class="param-type">Path Parameter</span> — Name of Secret to Delete </div><div class="param">domainName (required)</div>
490 <div class="param-desc"><span class="param-type">Path Parameter</span> — Path to the SecretDomain which contains the Secret </div>
491 </div> <!-- field-items -->
499 <!--Todo: process Response Object and its headers, schema, examples -->
502 <h3 class="field-label">Produces</h3>
503 This API call produces the following media types according to the <span class="header">Accept</span> request header;
504 the media type will be conveyed by the <span class="heaader">Content-Type</span> response header.
506 <li><code>application/json</code></li>
509 <h3 class="field-label">Responses</h3>
510 <h4 class="field-label">204</h4>
513 <h4 class="field-label">404</h4>
514 Invalid Path or Path not found
516 </div> <!-- method -->
518 <div class="method"><a name="domainDomainNameSecretSecretNameGet"/>
519 <div class="method-path">
520 <a class="up" href="#__Methods">Up</a>
521 <pre class="get"><code class="huge"><span class="http-method">get</span> /domain/{domainName}/secret/{secretName}</code></pre></div>
522 <div class="method-summary">Find Secret by Name (<span class="nickname">domainDomainNameSecretSecretNameGet</span>)</div>
523 <div class="method-notes">Returns a single secret</div>
525 <h3 class="field-label">Path parameters</h3>
526 <div class="field-items">
527 <div class="param">domainName (required)</div>
529 <div class="param-desc"><span class="param-type">Path Parameter</span> — Name of the domain in which to look at </div><div class="param">secretName (required)</div>
531 <div class="param-desc"><span class="param-type">Path Parameter</span> — Name of the secret which is needed </div>
532 </div> <!-- field-items -->
539 <h3 class="field-label">Return type</h3>
540 <div class="return-type">
541 <a href="#Secret">Secret</a>
545 <!--Todo: process Response Object and its headers, schema, examples -->
547 <h3 class="field-label">Example data</h3>
548 <div class="example-data-content-type">Content-Type: application/json</div>
549 <pre class="example"><code>{
558 <h3 class="field-label">Produces</h3>
559 This API call produces the following media types according to the <span class="header">Accept</span> request header;
560 the media type will be conveyed by the <span class="heaader">Content-Type</span> response header.
562 <li><code>application/json</code></li>
565 <h3 class="field-label">Responses</h3>
566 <h4 class="field-label">200</h4>
568 <a href="#Secret">Secret</a>
569 <h4 class="field-label">404</h4>
570 Invalid Path or Path not found
572 </div> <!-- method -->
574 <h1><a name="System">System</a></h1>
575 <div class="method"><a name="statusGet"/>
576 <div class="method-path">
577 <a class="up" href="#__Methods">Up</a>
578 <pre class="get"><code class="huge"><span class="http-method">get</span> /status</code></pre></div>
579 <div class="method-summary">Get backend status (<span class="nickname">statusGet</span>)</div>
580 <div class="method-notes">Gets current backend status. This API is used only by quorum clients</div>
588 <h3 class="field-label">Return type</h3>
589 <div class="return-type">
590 <a href="#inline_response_200_1">inline_response_200_1</a>
594 <!--Todo: process Response Object and its headers, schema, examples -->
596 <h3 class="field-label">Example data</h3>
597 <div class="example-data-content-type">Content-Type: application/json</div>
598 <pre class="example"><code>{
599 "sealstatus" : "aeiou"
602 <h3 class="field-label">Produces</h3>
603 This API call produces the following media types according to the <span class="header">Accept</span> request header;
604 the media type will be conveyed by the <span class="heaader">Content-Type</span> response header.
606 <li><code>application/json</code></li>
609 <h3 class="field-label">Responses</h3>
610 <h4 class="field-label">200</h4>
612 <a href="#inline_response_200_1">inline_response_200_1</a>
613 <h4 class="field-label">404</h4>
614 Invalid Path or Path not found
616 </div> <!-- method -->
618 <div class="method"><a name="unsealPost"/>
619 <div class="method-path">
620 <a class="up" href="#__Methods">Up</a>
621 <pre class="post"><code class="huge"><span class="http-method">post</span> /unseal</code></pre></div>
622 <div class="method-summary">Unseal backend (<span class="nickname">unsealPost</span>)</div>
623 <div class="method-notes">Sends unseal shard to unseal if backend is sealed</div>
626 <h3 class="field-label">Consumes</h3>
627 This API call consumes the following media types via the <span class="heaader">Content-Type</span> request header:
629 <li><code>application/json</code></li>
632 <h3 class="field-label">Request body</h3>
633 <div class="field-items">
634 <div class="param">body <a href="#body">body</a> (required)</div>
636 <div class="param-desc"><span class="param-type">Body Parameter</span> — </div>
638 </div> <!-- field-items -->
644 <!--Todo: process Response Object and its headers, schema, examples -->
647 <h3 class="field-label">Produces</h3>
648 This API call produces the following media types according to the <span class="header">Accept</span> request header;
649 the media type will be conveyed by the <span class="heaader">Content-Type</span> response header.
651 <li><code>application/json</code></li>
654 <h3 class="field-label">Responses</h3>
655 <h4 class="field-label">201</h4>
658 <h4 class="field-label">404</h4>
659 Invalid Path or Path not found
661 </div> <!-- method -->
664 <h2><a name="__Models">Models</a></h2>
665 [ Jump to <a href="#__Methods">Methods</a> ]
667 <h3>Table of Contents</h3>
669 <li><a href="#Credential"><code>Credential</code> - </a></li>
670 <li><a href="#Domain"><code>Domain</code> - </a></li>
671 <li><a href="#Secret"><code>Secret</code> - </a></li>
672 <li><a href="#body"><code>body</code> - </a></li>
673 <li><a href="#inline_response_200"><code>inline_response_200</code> - </a></li>
674 <li><a href="#inline_response_200_1"><code>inline_response_200_1</code> - </a></li>
678 <h3><a name="Credential"><code>Credential</code> - </a> <a class="up" href="#__Models">Up</a></h3>
679 <div class='model-description'></div>
680 <div class="field-items">
681 <div class="param">username (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
682 <div class="param">password (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
683 </div> <!-- field-items -->
686 <h3><a name="Domain"><code>Domain</code> - </a> <a class="up" href="#__Models">Up</a></h3>
687 <div class='model-description'></div>
688 <div class="field-items">
689 <div class="param">uuid (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> Optional value provided by user. If user does not provide, server will auto generate </div>
690 <div class="param">name (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> Name of the secret domain under which all secrets will be stored </div>
691 </div> <!-- field-items -->
694 <h3><a name="Secret"><code>Secret</code> - </a> <a class="up" href="#__Models">Up</a></h3>
695 <div class='model-description'></div>
696 <div class="field-items">
697 <div class="param">name (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> Name of the secret </div>
698 <div class="param">values (optional)</div><div class="param-desc"><span class="param-type"><a href="#object">map[String, Object]</a></span> Map of key value pairs that constitute the secret </div>
699 </div> <!-- field-items -->
702 <h3><a name="body"><code>body</code> - </a> <a class="up" href="#__Models">Up</a></h3>
704 <div class="field-items">
705 <div class="param">unsealshard (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> Unseal shard that will be used along with other shards to unseal backend </div>
706 </div> <!-- field-items -->
709 <h3><a name="inline_response_200"><code>inline_response_200</code> - </a> <a class="up" href="#__Models">Up</a></h3>
711 <div class="field-items">
712 <div class="param">token (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
713 <div class="param">ttl (optional)</div><div class="param-desc"><span class="param-type"><a href="#integer">Integer</a></span> ttl of returned token in seconds </div>
714 </div> <!-- field-items -->
717 <h3><a name="inline_response_200_1"><code>inline_response_200_1</code> - </a> <a class="up" href="#__Models">Up</a></h3>
719 <div class="field-items">
720 <div class="param">sealstatus (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> seal status of backend </div>
721 </div> <!-- field-items -->