<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>REST API Plugin Readme</title>
<style type="text/css">
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
audio,canvas,video{display:inline-block}
audio:not([controls]){display:none;height:0}
[hidden]{display:none}
html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}
body{margin:0}
a:focus{outline:thin dotted}
a:active,a:hover{outline:0}
h1{font-size:2em;margin:0.67em 0}
abbr[title]{border-bottom:1px dotted}
b,strong{font-weight:bold}
dfn{font-style:italic}
hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
mark{background:#ff0;color:#000}
code,kbd,pre,samp{font-family:monospace, serif;font-size:1em}
pre{white-space:pre-wrap}
q{quotes:"\201C" "\201D" "\2018" "\2019"}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-0.5em}
sub{bottom:-0.25em}
img{border:0}
svg:not(:root){overflow:hidden}
figure{margin:0}
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}
legend{border:0;padding:0}
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
button,input{line-height:normal}
button,select{text-transform:none}
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
textarea{overflow:auto;vertical-align:top}
table{border-collapse:collapse;border-spacing:0}
@media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important} a,a:visited{text-decoration:underline} a[href]:after{content:" (" attr(href) ")"} abbr[title]:after{content:" (" attr(title) ")"} .ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""} pre,blockquote{border:1px solid #999;page-break-inside:avoid} thead{display:table-header-group} tr,img{page-break-inside:avoid} img{max-width:100% !important} @page {margin:2cm .5cm}p,h2,h3{orphans:3;widows:3} h2,h3{page-break-after:avoid} .navbar{display:none} .table td,.table th{background-color:#fff !important} .btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important} .label{border:1px solid #000} .table{border-collapse:collapse !important} .table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}
body{font-family:'Open Sans',"Trebuchet MS",Helvetica,sans-serif;font-size:14px;line-height:1.428571429;color:#000;background-color:#fff}
input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}
button,input,select[multiple],textarea{background-image:none}
a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}
a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
img{vertical-align:middle}
.img-responsive{display:block;max-width:100%;height:auto}
.img-rounded{border-radius:6px}
.img-thumbnail{padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}
.img-circle{border-radius:50%}
hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}
p{margin:0 0 10px}
.lead{margin-bottom:20px;font-size:16.099999999999998px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}
small{font-size:85%}
cite{font-style:normal}
.text-muted{color:#999}
.text-primary{color:#428bca}
.text-warning{color:#c09853}
.text-danger{color:#b94a48}
.text-success{color:#468847}
.text-info{color:#3a87ad}
.text-left{text-align:left}
.text-right{text-align:right}
.text-center{text-align:center}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:'Open Sans',"Trebuchet MS",Helvetica,sans-serif;font-weight:500;line-height:1.1}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small{font-weight:normal;line-height:1;color:#999}
h1,h2,h3{margin-top:20px;margin-bottom:10px}
h4,h5,h6{margin-top:10px;margin-bottom:10px}
h1,.h1{font-size:36px}
h2,.h2{font-size:30px}
h3,.h3{font-size:24px}
h4,.h4{font-size:18px}
h5,.h5{font-size:14px}
h6,.h6{font-size:12px}
h1 small,.h1 small{font-size:24px}
h2 small,.h2 small{font-size:18px}
h3 small,.h3 small,h4 small,.h4 small{font-size:14px}
.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}
ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}
.list-unstyled{padding-left:0;list-style:none}
.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}
dl{margin-bottom:20px}
dt,dd{line-height:1.428571429}
dt{font-weight:bold}
dd{margin-left:0}
@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .dl-horizontal dd{margin-left:180px}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table;} .dl-horizontal dd:after{clear:both} .dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table;} .dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}
abbr.initialism{font-size:90%;text-transform:uppercase}
blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}
blockquote p:last-child{margin-bottom:0}
blockquote small{display:block;line-height:1.428571429;color:#999}blockquote small:before{content:'\2014 \00A0'}
blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}
blockquote.pull-right small:before{content:''}
blockquote.pull-right small:after{content:'\00A0 \2014'}
q:before,q:after,blockquote:before,blockquote:after{content:""}
address{display:block;margin-bottom:20px;font-style:normal;line-height:1.428571429}
code,pre{font-family:Monaco,Menlo,Consolas,"Courier New",monospace}
code{padding:2px 4px;font-size:90%;color:#000;background-color:rgba(0,0,0,0.04);white-space:nowrap;border-radius:4px}
pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f8f8f8;border:1px solid #eee;border-radius:4px}pre.prettyprint{margin-bottom:20px}
pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border:0}
.pre-scrollable{max-height:340px;overflow-y:scroll}
.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container:before,.container:after{content:" ";display:table;}
.container:after{clear:both}
.container:before,.container:after{content:" ";display:table;}
.container:after{clear:both}
.row{margin-left:-15px;margin-right:-15px}.row:before,.row:after{content:" ";display:table;}
.row:after{clear:both}
.row:before,.row:after{content:" ";display:table;}
.row:after{clear:both}
.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}
.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11{float:left}
.col-xs-1{width:8.333333333333332%}
.col-xs-2{width:16.666666666666664%}
.col-xs-3{width:25%}
.col-xs-4{width:33.33333333333333%}
.col-xs-5{width:41.66666666666667%}
.col-xs-6{width:50%}
.col-xs-7{width:58.333333333333336%}
.col-xs-8{width:66.66666666666666%}
.col-xs-9{width:75%}
.col-xs-10{width:83.33333333333334%}
.col-xs-11{width:91.66666666666666%}
.col-xs-12{width:100%}
@media (min-width:768px){.container{max-width:750px} .col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11{float:left} .col-sm-1{width:8.333333333333332%} .col-sm-2{width:16.666666666666664%} .col-sm-3{width:25%} .col-sm-4{width:33.33333333333333%} .col-sm-5{width:41.66666666666667%} .col-sm-6{width:50%} .col-sm-7{width:58.333333333333336%} .col-sm-8{width:66.66666666666666%} .col-sm-9{width:75%} .col-sm-10{width:83.33333333333334%} .col-sm-11{width:91.66666666666666%} .col-sm-12{width:100%} .col-sm-push-1{left:8.333333333333332%} .col-sm-push-2{left:16.666666666666664%} .col-sm-push-3{left:25%} .col-sm-push-4{left:33.33333333333333%} .col-sm-push-5{left:41.66666666666667%} .col-sm-push-6{left:50%} .col-sm-push-7{left:58.333333333333336%} .col-sm-push-8{left:66.66666666666666%} .col-sm-push-9{left:75%} .col-sm-push-10{left:83.33333333333334%} .col-sm-push-11{left:91.66666666666666%} .col-sm-pull-1{right:8.333333333333332%} .col-sm-pull-2{right:16.666666666666664%} .col-sm-pull-3{right:25%} .col-sm-pull-4{right:33.33333333333333%} .col-sm-pull-5{right:41.66666666666667%} .col-sm-pull-6{right:50%} .col-sm-pull-7{right:58.333333333333336%} .col-sm-pull-8{right:66.66666666666666%} .col-sm-pull-9{right:75%} .col-sm-pull-10{right:83.33333333333334%} .col-sm-pull-11{right:91.66666666666666%} .col-sm-offset-1{margin-left:8.333333333333332%} .col-sm-offset-2{margin-left:16.666666666666664%} .col-sm-offset-3{margin-left:25%} .col-sm-offset-4{margin-left:33.33333333333333%} .col-sm-offset-5{margin-left:41.66666666666667%} .col-sm-offset-6{margin-left:50%} .col-sm-offset-7{margin-left:58.333333333333336%} .col-sm-offset-8{margin-left:66.66666666666666%} .col-sm-offset-9{margin-left:75%} .col-sm-offset-10{margin-left:83.33333333333334%} .col-sm-offset-11{margin-left:91.66666666666666%}}@media (min-width:992px){.container{max-width:970px} .col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11{float:left} .col-md-1{width:8.333333333333332%} .col-md-2{width:16.666666666666664%} .col-md-3{width:25%} .col-md-4{width:33.33333333333333%} .col-md-5{width:41.66666666666667%} .col-md-6{width:50%} .col-md-7{width:58.333333333333336%} .col-md-8{width:66.66666666666666%} .col-md-9{width:75%} .col-md-10{width:83.33333333333334%} .col-md-11{width:91.66666666666666%} .col-md-12{width:100%} .col-md-push-0{left:auto} .col-md-push-1{left:8.333333333333332%} .col-md-push-2{left:16.666666666666664%} .col-md-push-3{left:25%} .col-md-push-4{left:33.33333333333333%} .col-md-push-5{left:41.66666666666667%} .col-md-push-6{left:50%} .col-md-push-7{left:58.333333333333336%} .col-md-push-8{left:66.66666666666666%} .col-md-push-9{left:75%} .col-md-push-10{left:83.33333333333334%} .col-md-push-11{left:91.66666666666666%} .col-md-pull-0{right:auto} .col-md-pull-1{right:8.333333333333332%} .col-md-pull-2{right:16.666666666666664%} .col-md-pull-3{right:25%} .col-md-pull-4{right:33.33333333333333%} .col-md-pull-5{right:41.66666666666667%} .col-md-pull-6{right:50%} .col-md-pull-7{right:58.333333333333336%} .col-md-pull-8{right:66.66666666666666%} .col-md-pull-9{right:75%} .col-md-pull-10{right:83.33333333333334%} .col-md-pull-11{right:91.66666666666666%} .col-md-offset-0{margin-left:0} .col-md-offset-1{margin-left:8.333333333333332%} .col-md-offset-2{margin-left:16.666666666666664%} .col-md-offset-3{margin-left:25%} .col-md-offset-4{margin-left:33.33333333333333%} .col-md-offset-5{margin-left:41.66666666666667%} .col-md-offset-6{margin-left:50%} .col-md-offset-7{margin-left:58.333333333333336%} .col-md-offset-8{margin-left:66.66666666666666%} .col-md-offset-9{margin-left:75%} .col-md-offset-10{margin-left:83.33333333333334%} .col-md-offset-11{margin-left:91.66666666666666%}}@media (min-width:1200px){.container{max-width:1170px} .col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11{float:left} .col-lg-1{width:8.333333333333332%} .col-lg-2{width:16.666666666666664%} .col-lg-3{width:25%} .col-lg-4{width:33.33333333333333%} .col-lg-5{width:41.66666666666667%} .col-lg-6{width:50%} .col-lg-7{width:58.333333333333336%} .col-lg-8{width:66.66666666666666%} .col-lg-9{width:75%} .col-lg-10{width:83.33333333333334%} .col-lg-11{width:91.66666666666666%} .col-lg-12{width:100%} .col-lg-push-0{left:auto} .col-lg-push-1{left:8.333333333333332%} .col-lg-push-2{left:16.666666666666664%} .col-lg-push-3{left:25%} .col-lg-push-4{left:33.33333333333333%} .col-lg-push-5{left:41.66666666666667%} .col-lg-push-6{left:50%} .col-lg-push-7{left:58.333333333333336%} .col-lg-push-8{left:66.66666666666666%} .col-lg-push-9{left:75%} .col-lg-push-10{left:83.33333333333334%} .col-lg-push-11{left:91.66666666666666%} .col-lg-pull-0{right:auto} .col-lg-pull-1{right:8.333333333333332%} .col-lg-pull-2{right:16.666666666666664%} .col-lg-pull-3{right:25%} .col-lg-pull-4{right:33.33333333333333%} .col-lg-pull-5{right:41.66666666666667%} .col-lg-pull-6{right:50%} .col-lg-pull-7{right:58.333333333333336%} .col-lg-pull-8{right:66.66666666666666%} .col-lg-pull-9{right:75%} .col-lg-pull-10{right:83.33333333333334%} .col-lg-pull-11{right:91.66666666666666%} .col-lg-offset-0{margin-left:0} .col-lg-offset-1{margin-left:8.333333333333332%} .col-lg-offset-2{margin-left:16.666666666666664%} .col-lg-offset-3{margin-left:25%} .col-lg-offset-4{margin-left:33.33333333333333%} .col-lg-offset-5{margin-left:41.66666666666667%} .col-lg-offset-6{margin-left:50%} .col-lg-offset-7{margin-left:58.333333333333336%} .col-lg-offset-8{margin-left:66.66666666666666%} .col-lg-offset-9{margin-left:75%} .col-lg-offset-10{margin-left:83.33333333333334%} .col-lg-offset-11{margin-left:91.66666666666666%}}table{max-width:100%;background-color:transparent}
th{text-align:left}
.table{width:100%;margin-bottom:20px}.table thead>tr>th,.table tbody>tr>th,.table tfoot>tr>th,.table thead>tr>td,.table tbody>tr>td,.table tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}
.table thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}
.table caption+thead tr:first-child th,.table colgroup+thead tr:first-child th,.table thead:first-child tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child td{border-top:0}
.table tbody+tbody{border-top:2px solid #ddd}
.table .table{background-color:#fff}
.table-condensed thead>tr>th,.table-condensed tbody>tr>th,.table-condensed tfoot>tr>th,.table-condensed thead>tr>td,.table-condensed tbody>tr>td,.table-condensed tfoot>tr>td{padding:5px}
.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}
.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}
.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}
.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}
table col[class*="col-"]{float:none;display:table-column}
table td[class*="col-"],table th[class*="col-"]{float:none;display:table-cell}
.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}
.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8;border-color:#d6e9c6}
.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td{background-color:#d0e9c6;border-color:#c9e2b3}
.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede;border-color:#eed3d7}
.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td{background-color:#ebcccc;border-color:#e6c1c7}
.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3;border-color:#fbeed5}
.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td{background-color:#faf2cc;border-color:#f8e5be}
@media (max-width:768px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0;background-color:#fff}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap} .table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0} .table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0} .table-responsive>.table-bordered>thead>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>thead>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0}
legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}
label{display:inline-block;margin-bottom:5px;font-weight:bold}
input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}
input[type="file"]{display:block}
select[multiple],select[size]{height:auto}
select optgroup{font-size:inherit;font-style:inherit;font-family:inherit}
input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}
.form-control:-moz-placeholder{color:#999}
.form-control::-moz-placeholder{color:#999}
.form-control:-ms-input-placeholder{color:#999}
.form-control::-webkit-input-placeholder{color:#999}
.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6)}
.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}
textarea.form-control{height:auto}
.form-group{margin-bottom:15px}
.radio,.checkbox{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px;vertical-align:middle}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer}
.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px}
.radio+.radio,.checkbox+.checkbox{margin-top:-5px}
.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}
.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}
input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}
.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}
textarea.input-sm{height:auto}
.input-lg{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:45px;line-height:45px}
textarea.input-lg{height:auto}
.has-warning .help-block,.has-warning .control-label{color:#c09853}
.has-warning .form-control{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}
.has-warning .input-group-addon{color:#c09853;border-color:#c09853;background-color:#fcf8e3}
.has-error .help-block,.has-error .control-label{color:#b94a48}
.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}
.has-error .input-group-addon{color:#b94a48;border-color:#b94a48;background-color:#f2dede}
.has-success .help-block,.has-success .control-label{color:#468847}
.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}
.has-success .input-group-addon{color:#468847;border-color:#468847;background-color:#dff0d8}
.form-control-static{margin-bottom:0;padding-top:7px}
.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#404040}
@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle} .form-inline .form-control{display:inline-block} .form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0} .form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}}
.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}
.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table;}
.form-horizontal .form-group:after{clear:both}
.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table;}
.form-horizontal .form-group:after{clear:both}
@media (min-width:768px){.form-horizontal .control-label{text-align:right}}
.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:center;vertical-align:middle;cursor:pointer;border:1px solid transparent;border-radius:4px;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
.btn:hover,.btn:focus{color:#333;text-decoration:none}
.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}
.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}
.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}
.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}
.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}
.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}
.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}
.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}
.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}
.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}
.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}
.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}
.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}
.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}
.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}
.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}
.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}
.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}
.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}
.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}
.btn-link{color:#428bca;font-weight:normal;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}
.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}
.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}
.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}
.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}
.btn-sm,.btn-xs{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}
.btn-xs{padding:1px 5px}
.btn-block{display:block;width:100%;padding-left:0;padding-right:0}
.btn-block+.btn-block{margin-top:5px}
input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}
.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}
.collapse{display:none}.collapse.in{display:block}
.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}
@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased}
.glyphicon-asterisk:before{content:"\2a"}
.glyphicon-plus:before{content:"\2b"}
.glyphicon-euro:before{content:"\20ac"}
.glyphicon-minus:before{content:"\2212"}
.glyphicon-cloud:before{content:"\2601"}
.glyphicon-envelope:before{content:"\2709"}
.glyphicon-pencil:before{content:"\270f"}
.glyphicon-glass:before{content:"\e001"}
.glyphicon-music:before{content:"\e002"}
.glyphicon-search:before{content:"\e003"}
.glyphicon-heart:before{content:"\e005"}
.glyphicon-star:before{content:"\e006"}
.glyphicon-star-empty:before{content:"\e007"}
.glyphicon-user:before{content:"\e008"}
.glyphicon-film:before{content:"\e009"}
.glyphicon-th-large:before{content:"\e010"}
.glyphicon-th:before{content:"\e011"}
.glyphicon-th-list:before{content:"\e012"}
.glyphicon-ok:before{content:"\e013"}
.glyphicon-remove:before{content:"\e014"}
.glyphicon-zoom-in:before{content:"\e015"}
.glyphicon-zoom-out:before{content:"\e016"}
.glyphicon-off:before{content:"\e017"}
.glyphicon-signal:before{content:"\e018"}
.glyphicon-cog:before{content:"\e019"}
.glyphicon-trash:before{content:"\e020"}
.glyphicon-home:before{content:"\e021"}
.glyphicon-file:before{content:"\e022"}
.glyphicon-time:before{content:"\e023"}
.glyphicon-road:before{content:"\e024"}
.glyphicon-download-alt:before{content:"\e025"}
.glyphicon-download:before{content:"\e026"}
.glyphicon-upload:before{content:"\e027"}
.glyphicon-inbox:before{content:"\e028"}
.glyphicon-play-circle:before{content:"\e029"}
.glyphicon-repeat:before{content:"\e030"}
.glyphicon-refresh:before{content:"\e031"}
.glyphicon-list-alt:before{content:"\e032"}
.glyphicon-flag:before{content:"\e034"}
.glyphicon-headphones:before{content:"\e035"}
.glyphicon-volume-off:before{content:"\e036"}
.glyphicon-volume-down:before{content:"\e037"}
.glyphicon-volume-up:before{content:"\e038"}
.glyphicon-qrcode:before{content:"\e039"}
.glyphicon-barcode:before{content:"\e040"}
.glyphicon-tag:before{content:"\e041"}
.glyphicon-tags:before{content:"\e042"}
.glyphicon-book:before{content:"\e043"}
.glyphicon-print:before{content:"\e045"}
.glyphicon-font:before{content:"\e047"}
.glyphicon-bold:before{content:"\e048"}
.glyphicon-italic:before{content:"\e049"}
.glyphicon-text-height:before{content:"\e050"}
.glyphicon-text-width:before{content:"\e051"}
.glyphicon-align-left:before{content:"\e052"}
.glyphicon-align-center:before{content:"\e053"}
.glyphicon-align-right:before{content:"\e054"}
.glyphicon-align-justify:before{content:"\e055"}
.glyphicon-list:before{content:"\e056"}
.glyphicon-indent-left:before{content:"\e057"}
.glyphicon-indent-right:before{content:"\e058"}
.glyphicon-facetime-video:before{content:"\e059"}
.glyphicon-picture:before{content:"\e060"}
.glyphicon-map-marker:before{content:"\e062"}
.glyphicon-adjust:before{content:"\e063"}
.glyphicon-tint:before{content:"\e064"}
.glyphicon-edit:before{content:"\e065"}
.glyphicon-share:before{content:"\e066"}
.glyphicon-check:before{content:"\e067"}
.glyphicon-move:before{content:"\e068"}
.glyphicon-step-backward:before{content:"\e069"}
.glyphicon-fast-backward:before{content:"\e070"}
.glyphicon-backward:before{content:"\e071"}
.glyphicon-play:before{content:"\e072"}
.glyphicon-pause:before{content:"\e073"}
.glyphicon-stop:before{content:"\e074"}
.glyphicon-forward:before{content:"\e075"}
.glyphicon-fast-forward:before{content:"\e076"}
.glyphicon-step-forward:before{content:"\e077"}
.glyphicon-eject:before{content:"\e078"}
.glyphicon-chevron-left:before{content:"\e079"}
.glyphicon-chevron-right:before{content:"\e080"}
.glyphicon-plus-sign:before{content:"\e081"}
.glyphicon-minus-sign:before{content:"\e082"}
.glyphicon-remove-sign:before{content:"\e083"}
.glyphicon-ok-sign:before{content:"\e084"}
.glyphicon-question-sign:before{content:"\e085"}
.glyphicon-info-sign:before{content:"\e086"}
.glyphicon-screenshot:before{content:"\e087"}
.glyphicon-remove-circle:before{content:"\e088"}
.glyphicon-ok-circle:before{content:"\e089"}
.glyphicon-ban-circle:before{content:"\e090"}
.glyphicon-arrow-left:before{content:"\e091"}
.glyphicon-arrow-right:before{content:"\e092"}
.glyphicon-arrow-up:before{content:"\e093"}
.glyphicon-arrow-down:before{content:"\e094"}
.glyphicon-share-alt:before{content:"\e095"}
.glyphicon-resize-full:before{content:"\e096"}
.glyphicon-resize-small:before{content:"\e097"}
.glyphicon-exclamation-sign:before{content:"\e101"}
.glyphicon-gift:before{content:"\e102"}
.glyphicon-leaf:before{content:"\e103"}
.glyphicon-eye-open:before{content:"\e105"}
.glyphicon-eye-close:before{content:"\e106"}
.glyphicon-warning-sign:before{content:"\e107"}
.glyphicon-plane:before{content:"\e108"}
.glyphicon-random:before{content:"\e110"}
.glyphicon-comment:before{content:"\e111"}
.glyphicon-magnet:before{content:"\e112"}
.glyphicon-chevron-up:before{content:"\e113"}
.glyphicon-chevron-down:before{content:"\e114"}
.glyphicon-retweet:before{content:"\e115"}
.glyphicon-shopping-cart:before{content:"\e116"}
.glyphicon-folder-close:before{content:"\e117"}
.glyphicon-folder-open:before{content:"\e118"}
.glyphicon-resize-vertical:before{content:"\e119"}
.glyphicon-resize-horizontal:before{content:"\e120"}
.glyphicon-hdd:before{content:"\e121"}
.glyphicon-bullhorn:before{content:"\e122"}
.glyphicon-certificate:before{content:"\e124"}
.glyphicon-thumbs-up:before{content:"\e125"}
.glyphicon-thumbs-down:before{content:"\e126"}
.glyphicon-hand-right:before{content:"\e127"}
.glyphicon-hand-left:before{content:"\e128"}
.glyphicon-hand-up:before{content:"\e129"}
.glyphicon-hand-down:before{content:"\e130"}
.glyphicon-circle-arrow-right:before{content:"\e131"}
.glyphicon-circle-arrow-left:before{content:"\e132"}
.glyphicon-circle-arrow-up:before{content:"\e133"}
.glyphicon-circle-arrow-down:before{content:"\e134"}
.glyphicon-globe:before{content:"\e135"}
.glyphicon-tasks:before{content:"\e137"}
.glyphicon-filter:before{content:"\e138"}
.glyphicon-fullscreen:before{content:"\e140"}
.glyphicon-dashboard:before{content:"\e141"}
.glyphicon-heart-empty:before{content:"\e143"}
.glyphicon-link:before{content:"\e144"}
.glyphicon-phone:before{content:"\e145"}
.glyphicon-usd:before{content:"\e148"}
.glyphicon-gbp:before{content:"\e149"}
.glyphicon-sort:before{content:"\e150"}
.glyphicon-sort-by-alphabet:before{content:"\e151"}
.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}
.glyphicon-sort-by-order:before{content:"\e153"}
.glyphicon-sort-by-order-alt:before{content:"\e154"}
.glyphicon-sort-by-attributes:before{content:"\e155"}
.glyphicon-sort-by-attributes-alt:before{content:"\e156"}
.glyphicon-unchecked:before{content:"\e157"}
.glyphicon-expand:before{content:"\e158"}
.glyphicon-collapse-down:before{content:"\e159"}
.glyphicon-collapse-up:before{content:"\e160"}
.glyphicon-log-in:before{content:"\e161"}
.glyphicon-flash:before{content:"\e162"}
.glyphicon-log-out:before{content:"\e163"}
.glyphicon-new-window:before{content:"\e164"}
.glyphicon-record:before{content:"\e165"}
.glyphicon-save:before{content:"\e166"}
.glyphicon-open:before{content:"\e167"}
.glyphicon-saved:before{content:"\e168"}
.glyphicon-import:before{content:"\e169"}
.glyphicon-export:before{content:"\e170"}
.glyphicon-send:before{content:"\e171"}
.glyphicon-floppy-disk:before{content:"\e172"}
.glyphicon-floppy-saved:before{content:"\e173"}
.glyphicon-floppy-remove:before{content:"\e174"}
.glyphicon-floppy-save:before{content:"\e175"}
.glyphicon-floppy-open:before{content:"\e176"}
.glyphicon-credit-card:before{content:"\e177"}
.glyphicon-transfer:before{content:"\e178"}
.glyphicon-cutlery:before{content:"\e179"}
.glyphicon-header:before{content:"\e180"}
.glyphicon-compressed:before{content:"\e181"}
.glyphicon-earphone:before{content:"\e182"}
.glyphicon-phone-alt:before{content:"\e183"}
.glyphicon-tower:before{content:"\e184"}
.glyphicon-stats:before{content:"\e185"}
.glyphicon-sd-video:before{content:"\e186"}
.glyphicon-hd-video:before{content:"\e187"}
.glyphicon-subtitles:before{content:"\e188"}
.glyphicon-sound-stereo:before{content:"\e189"}
.glyphicon-sound-dolby:before{content:"\e190"}
.glyphicon-sound-5-1:before{content:"\e191"}
.glyphicon-sound-6-1:before{content:"\e192"}
.glyphicon-sound-7-1:before{content:"\e193"}
.glyphicon-copyright-mark:before{content:"\e194"}
.glyphicon-registration-mark:before{content:"\e195"}
.glyphicon-cloud-download:before{content:"\e197"}
.glyphicon-cloud-upload:before{content:"\e198"}
.glyphicon-tree-conifer:before{content:"\e199"}
.glyphicon-tree-deciduous:before{content:"\e200"}
.glyphicon-briefcase:before{content:"\1f4bc"}
.glyphicon-calendar:before{content:"\1f4c5"}
.glyphicon-pushpin:before{content:"\1f4cc"}
.glyphicon-paperclip:before{content:"\1f4ce"}
.glyphicon-camera:before{content:"\1f4f7"}
.glyphicon-lock:before{content:"\1f512"}
.glyphicon-bell:before{content:"\1f514"}
.glyphicon-bookmark:before{content:"\1f516"}
.glyphicon-fire:before{content:"\1f525"}
.glyphicon-wrench:before{content:"\1f527"}
.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;border-bottom:0 dotted;content:""}
.dropdown{position:relative}
.dropdown-toggle:focus{outline:0}
.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}
.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}
.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}
.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#fff;background-color:#428bca}
.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}
.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}
.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}
.open>.dropdown-menu{display:block}
.open>a{outline:0}
.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}
.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}
.pull-right>.dropdown-menu{right:0;left:auto}
.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}
.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}
@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-default .caret{border-top-color:#333}
.btn-primary .caret,.btn-success .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret{border-top-color:#fff}
.dropup .btn-default .caret{border-bottom-color:#333}
.dropup .btn-primary .caret,.dropup .btn-success .caret,.dropup .btn-warning .caret,.dropup .btn-danger .caret,.dropup .btn-info .caret{border-bottom-color:#fff}
.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}
.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:none}
.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}
.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table;}
.btn-toolbar:after{clear:both}
.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table;}
.btn-toolbar:after{clear:both}
.btn-toolbar .btn-group{float:left}
.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px}
.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}
.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}
.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}
.btn-group>.btn-group{float:left}
.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}
.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}
.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}
.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}
.btn-group-xs>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px;padding:1px 5px}
.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}
.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}
.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}
.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}
.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}
.btn .caret{margin-left:0}
.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}
.dropup .btn-lg .caret{border-width:0 5px 5px}
.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{display:block;float:none;width:100%;max-width:100%}
.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table;}
.btn-group-vertical>.btn-group:after{clear:both}
.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table;}
.btn-group-vertical>.btn-group:after{clear:both}
.btn-group-vertical>.btn-group>.btn{float:none}
.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}
.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}
.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}
.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}
.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}
.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}
.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}
.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified .btn{float:none;display:table-cell;width:1%}
[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}
.input-group{position:relative;display:table;border-collapse:separate}.input-group.col{float:none;padding-left:0;padding-right:0}
.input-group .form-control{width:100%;margin-bottom:0}
.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:45px;line-height:45px}
textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}
.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}
textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}
.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}
.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}
.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}
.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}
.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}
.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}
.input-group-addon:first-child{border-right:0}
.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}
.input-group-addon:last-child{border-left:0}
.input-group-btn{position:relative;white-space:nowrap}
.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-4px}
.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}
.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:before,.nav:after{content:" ";display:table;}
.nav:after{clear:both}
.nav:before,.nav:after{content:" ";display:table;}
.nav:after{clear:both}
.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}
.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;background-color:transparent;cursor:not-allowed}
.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}
.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}
.nav>li>a>img{max-width:none}
.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}
.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}
.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center}
@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}}.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;margin-right:0}
.nav-tabs.nav-justified>.active>a{border-bottom-color:#fff}
.nav-pills>li{float:left}.nav-pills>li>a{border-radius:5px}
.nav-pills>li+li{margin-left:2px}
.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}
.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}
.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center}
@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}}
.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;margin-right:0}
.nav-tabs-justified>.active>a{border-bottom-color:#fff}
.tabbable:before,.tabbable:after{content:" ";display:table;}
.tabbable:after{clear:both}
.tabbable:before,.tabbable:after{content:" ";display:table;}
.tabbable:after{clear:both}
.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}
.tab-content>.active,.pill-content>.active{display:block}
.nav .caret{border-top-color:#428bca;border-bottom-color:#428bca}
.nav a:hover .caret{border-top-color:#2a6496;border-bottom-color:#2a6496}
.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}
.navbar{position:relative;z-index:1000;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{content:" ";display:table;}
.navbar:after{clear:both}
.navbar:before,.navbar:after{content:" ";display:table;}
.navbar:after{clear:both}
@media (min-width:768px){.navbar{border-radius:4px}}
.navbar-header:before,.navbar-header:after{content:" ";display:table;}
.navbar-header:after{clear:both}
.navbar-header:before,.navbar-header:after{content:" ";display:table;}
.navbar-header:after{clear:both}
@media (min-width:768px){.navbar-header{float:left}}
.navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table;}
.navbar-collapse:after{clear:both}
.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table;}
.navbar-collapse:after{clear:both}
.navbar-collapse.in{overflow-y:auto}
@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important} .navbar-collapse.in{overflow-y:visible} .navbar-collapse .navbar-nav.navbar-left:first-child{margin-left:-15px} .navbar-collapse .navbar-nav.navbar-right:last-child{margin-right:-15px} .navbar-collapse .navbar-text:last-child{margin-right:0}}
.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0}}
.navbar-static-top{border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}
.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;border-width:0 0 1px}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}
.navbar-fixed-top{z-index:1030;top:0}
.navbar-fixed-bottom{bottom:0;margin-bottom:0}
.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}
@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}
.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}
.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}
@media (min-width:768px){.navbar-toggle{display:none}}
.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}
@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px} .navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}
@media (min-width:768px){.navbar-left{float:left !important} .navbar-right{float:right !important}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle} .navbar-form .form-control{display:inline-block} .navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0} .navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}
@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}
.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}
.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}
.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{left:auto;right:0}
.navbar-btn{margin-top:8px;margin-bottom:8px}
.navbar-text{float:left;margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{margin-left:15px;margin-right:15px}}
.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}
.navbar-default .navbar-text{color:#777}
.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}
.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}
.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}
.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}
.navbar-default .navbar-toggle .icon-bar{background-color:#ccc}
.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e6e6e6}
.navbar-default .navbar-nav>.dropdown>a:hover .caret,.navbar-default .navbar-nav>.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}
.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}.navbar-default .navbar-nav>.open>a .caret,.navbar-default .navbar-nav>.open>a:hover .caret,.navbar-default .navbar-nav>.open>a:focus .caret{border-top-color:#555;border-bottom-color:#555}
.navbar-default .navbar-nav>.dropdown>a .caret{border-top-color:#777;border-bottom-color:#777}
@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent} .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7} .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}
.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}
.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}
.navbar-inverse .navbar-text{color:#999}
.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}
.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}
.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}
.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}
.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}
.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}
.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}
.navbar-inverse .navbar-nav>.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}
.navbar-inverse .navbar-nav>.dropdown>a .caret{border-top-color:#999;border-bottom-color:#999}
.navbar-inverse .navbar-nav>.open>a .caret,.navbar-inverse .navbar-nav>.open>a:hover .caret,.navbar-inverse .navbar-nav>.open>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}
@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808} .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent} .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808} .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}
.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}
.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}
.breadcrumb>.active{color:#999}
.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd;margin-left:-1px}
.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}
.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}
.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eee}
.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}
.pagination>.disabled>span,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;background-color:#fff;border-color:#ddd;cursor:not-allowed}
.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}
.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}
.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}
.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}
.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}
.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}
.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager:before,.pager:after{content:" ";display:table;}
.pager:after{clear:both}
.pager:before,.pager:after{content:" ";display:table;}
.pager:after{clear:both}
.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}
.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}
.pager .next>a,.pager .next>span{float:right}
.pager .previous>a,.pager .previous>span{float:left}
.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;background-color:#fff;cursor:not-allowed}
.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}
.label:empty{display:none}
.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}
.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}
.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}
.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}
.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}
.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}
.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#999;border-radius:10px}.badge:empty{display:none}
a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}
.btn .badge{position:relative;top:-1px}
a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}
.nav-pills>li>a>.badge{margin-left:3px}
.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.jumbotron h1{line-height:1;color:inherit}
.jumbotron p{line-height:1.4}
.container .jumbotron{border-radius:6px}
@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-left:60px;padding-right:60px} .jumbotron h1{font-size:63px}}
.thumbnail{padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto;display:block}.thumbnail>img{height:auto;display:block;max-width:100%;height:auto}
a.thumbnail:hover,a.thumbnail:focus{border-color:#428bca}
.thumbnail>img{margin-left:auto;margin-right:auto}
.thumbnail .caption{padding:9px;color:#000}
.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}
.alert .alert-link{font-weight:bold}
.alert>p,.alert>ul{margin-bottom:0}
.alert>p+p{margin-top:5px}
.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}
.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847}.alert-success hr{border-top-color:#c9e2b3}
.alert-success .alert-link{color:#356635}
.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad}.alert-info hr{border-top-color:#a6e1ec}
.alert-info .alert-link{color:#2d6987}
.alert-warning{background-color:#fcf8e3;border-color:#fbeed5;color:#c09853}.alert-warning hr{border-top-color:#f8e5be}
.alert-warning .alert-link{color:#a47e3c}
.alert-danger{background-color:#f2dede;border-color:#eed3d7;color:#b94a48}.alert-danger hr{border-top-color:#e6c1c7}
.alert-danger .alert-link{color:#953b39}
@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0} to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0} to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0} to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0} to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}
.progress-bar{float:left;width:0%;height:100%;font-size:12px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;transition:width .6s ease}
.progress-striped .progress-bar{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,0.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,0.15)), color-stop(.75, rgba(255,255,255,0.15)), color-stop(.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}
.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}
.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,0.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,0.15)), color-stop(.75, rgba(255,255,255,0.15)), color-stop(.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}
.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,0.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,0.15)), color-stop(.75, rgba(255,255,255,0.15)), color-stop(.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}
.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,0.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,0.15)), color-stop(.75, rgba(255,255,255,0.15)), color-stop(.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}
.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,0.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,0.15)), color-stop(.75, rgba(255,255,255,0.15)), color-stop(.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}
.media,.media-body{overflow:hidden;zoom:1}
.media,.media .media{margin-top:15px}
.media:first-child{margin-top:0}
.media-object{display:block}
.media-heading{margin:0 0 5px}
.media>.pull-left{margin-right:10px}
.media>.pull-right{margin-left:10px}
.media-list{padding-left:0;list-style:none}
.list-group{margin-bottom:20px;padding-left:0}
.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}
.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}
.list-group-item>.badge{float:right}
.list-group-item>.badge+.badge{margin-right:5px}
a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}
a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}
.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading{color:inherit}
.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}
.list-group-item-heading{margin-top:0;margin-bottom:5px}
.list-group-item-text{margin-bottom:0;line-height:1.3}
.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}
.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table;}
.panel-body:after{clear:both}
.panel-body:before,.panel-body:after{content:" ";display:table;}
.panel-body:after{clear:both}
.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}
.panel>.list-group .list-group-item:last-child{border-bottom:0}
.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}
.panel>.table{margin-bottom:0}
.panel>.panel-body+.table{border-top:1px solid #ddd}
.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}
.panel-title{margin-top:0;margin-bottom:0;font-size:16px}.panel-title>a{color:inherit}
.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}
.panel-group .panel{margin-bottom:0;border-radius:4px;overflow:hidden}.panel-group .panel+.panel{margin-top:5px}
.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}
.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}
.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}
.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}
.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}
.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}
.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}
.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}
.panel-warning{border-color:#fbeed5}.panel-warning>.panel-heading{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#fbeed5}
.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#fbeed5}
.panel-danger{border-color:#eed3d7}.panel-danger>.panel-heading{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#eed3d7}
.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#eed3d7}
.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}
.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}
.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}
.well-lg{padding:24px;border-radius:6px}
.well-sm{padding:9px;border-radius:3px}
.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}
button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}
.modal-open{overflow:hidden}body.modal-open,.modal-open .navbar-fixed-top,.modal-open .navbar-fixed-bottom{margin-right:15px}
.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}
.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}
.modal-dialog{margin-left:auto;margin-right:auto;width:auto;padding:10px;z-index:1050}
.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:none}
.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}
.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}
.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.428571429px}
.modal-header .close{margin-top:-2px}
.modal-title{margin:0;line-height:1.428571429}
.modal-body{position:relative;padding:20px}
.modal-footer{margin-top:15px;padding:19px 20px 20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{content:" ";display:table;}
.modal-footer:after{clear:both}
.modal-footer:before,.modal-footer:after{content:" ";display:table;}
.modal-footer:after{clear:both}
.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}
.modal-footer .btn-group .btn+.btn{margin-left:-1px}
.modal-footer .btn-block+.btn-block{margin-left:0}
@media screen and (min-width:768px){.modal-dialog{left:50%;right:auto;width:600px;padding-top:30px;padding-bottom:30px} .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}
.tooltip.top{margin-top:-3px;padding:5px 0}
.tooltip.right{margin-left:3px;padding:0 5px}
.tooltip.bottom{margin-top:3px;padding:5px 0}
.tooltip.left{margin-left:-3px;padding:0 5px}
.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}
.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}
.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}
.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}
.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}
.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}
.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}
.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}
.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}
.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}
.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-10px}
.popover.right{margin-left:10px}
.popover.bottom{margin-top:10px}
.popover.left{margin-left:-10px}
.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}
.popover-content{padding:9px 14px}
.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}
.popover .arrow{border-width:11px}
.popover .arrow:after{border-width:10px;content:""}
.popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top .arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}
.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right .arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}
.popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom .arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}
.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left .arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}
.carousel{position:relative}
.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto;line-height:1}
.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}
.carousel-inner>.active{left:0}
.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}
.carousel-inner>.next{left:100%}
.carousel-inner>.prev{left:-100%}
.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}
.carousel-inner>.active.left{left:-100%}
.carousel-inner>.active.right{left:100%}
.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-gradient(linear, 0 top, 100% top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:-webkit-linear-gradient(left, color-stop(rgba(0,0,0,0.5) 0), color-stop(rgba(0,0,0,0.0001) 100%));background-image:-moz-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}
.carousel-control.right{left:auto;right:0;background-image:-webkit-gradient(linear, 0 top, 100% top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:-webkit-linear-gradient(left, color-stop(rgba(0,0,0,0.0001) 0), color-stop(rgba(0,0,0,0.5) 100%));background-image:-moz-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}
.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}
.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;left:50%;z-index:5;display:inline-block}
.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}
.carousel-control .icon-prev:before{content:'\2039'}
.carousel-control .icon-next:before{content:'\203a'}
.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer}
.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}
.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}
@media screen and (min-width:768px){.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px} .carousel-caption{left:20%;right:20%;padding-bottom:30px} .carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{content:" ";display:table;}
.clearfix:after{clear:both}
.pull-right{float:right !important}
.pull-left{float:left !important}
.hide{display:none !important}
.show{display:block !important}
.invisible{visibility:hidden}
.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}
.affix{position:fixed}
@-ms-viewport{width:device-width}@media screen and (max-width:400px){@-ms-viewport{width:320px}}.hidden{display:none !important;visibility:hidden !important}
.visible-xs{display:none !important}tr.visible-xs{display:none !important}
th.visible-xs,td.visible-xs{display:none !important}
@media (max-width:767px){.visible-xs{display:block !important}tr.visible-xs{display:table-row !important} th.visible-xs,td.visible-xs{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block !important}tr.visible-xs.visible-sm{display:table-row !important} th.visible-xs.visible-sm,td.visible-xs.visible-sm{display:table-cell !important}}
@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block !important}tr.visible-xs.visible-md{display:table-row !important} th.visible-xs.visible-md,td.visible-xs.visible-md{display:table-cell !important}}
@media (min-width:1200px){.visible-xs.visible-lg{display:block !important}tr.visible-xs.visible-lg{display:table-row !important} th.visible-xs.visible-lg,td.visible-xs.visible-lg{display:table-cell !important}}
.visible-sm{display:none !important}tr.visible-sm{display:none !important}
th.visible-sm,td.visible-sm{display:none !important}
@media (max-width:767px){.visible-sm.visible-xs{display:block !important}tr.visible-sm.visible-xs{display:table-row !important} th.visible-sm.visible-xs,td.visible-sm.visible-xs{display:table-cell !important}}
@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}tr.visible-sm{display:table-row !important} th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block !important}tr.visible-sm.visible-md{display:table-row !important} th.visible-sm.visible-md,td.visible-sm.visible-md{display:table-cell !important}}
@media (min-width:1200px){.visible-sm.visible-lg{display:block !important}tr.visible-sm.visible-lg{display:table-row !important} th.visible-sm.visible-lg,td.visible-sm.visible-lg{display:table-cell !important}}
.visible-md{display:none !important}tr.visible-md{display:none !important}
th.visible-md,td.visible-md{display:none !important}
@media (max-width:767px){.visible-md.visible-xs{display:block !important}tr.visible-md.visible-xs{display:table-row !important} th.visible-md.visible-xs,td.visible-md.visible-xs{display:table-cell !important}}
@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block !important}tr.visible-md.visible-sm{display:table-row !important} th.visible-md.visible-sm,td.visible-md.visible-sm{display:table-cell !important}}
@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}tr.visible-md{display:table-row !important} th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:1200px){.visible-md.visible-lg{display:block !important}tr.visible-md.visible-lg{display:table-row !important} th.visible-md.visible-lg,td.visible-md.visible-lg{display:table-cell !important}}
.visible-lg{display:none !important}tr.visible-lg{display:none !important}
th.visible-lg,td.visible-lg{display:none !important}
@media (max-width:767px){.visible-lg.visible-xs{display:block !important}tr.visible-lg.visible-xs{display:table-row !important} th.visible-lg.visible-xs,td.visible-lg.visible-xs{display:table-cell !important}}
@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block !important}tr.visible-lg.visible-sm{display:table-row !important} th.visible-lg.visible-sm,td.visible-lg.visible-sm{display:table-cell !important}}
@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block !important}tr.visible-lg.visible-md{display:table-row !important} th.visible-lg.visible-md,td.visible-lg.visible-md{display:table-cell !important}}
@media (min-width:1200px){.visible-lg{display:block !important}tr.visible-lg{display:table-row !important} th.visible-lg,td.visible-lg{display:table-cell !important}}
.hidden-xs{display:block !important}tr.hidden-xs{display:table-row !important}
th.hidden-xs,td.hidden-xs{display:table-cell !important}
@media (max-width:767px){.hidden-xs{display:none !important}tr.hidden-xs{display:none !important} th.hidden-xs,td.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm{display:none !important}tr.hidden-xs.hidden-sm{display:none !important} th.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm{display:none !important}}
@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md{display:none !important}tr.hidden-xs.hidden-md{display:none !important} th.hidden-xs.hidden-md,td.hidden-xs.hidden-md{display:none !important}}
@media (min-width:1200px){.hidden-xs.hidden-lg{display:none !important}tr.hidden-xs.hidden-lg{display:none !important} th.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg{display:none !important}}
.hidden-sm{display:block !important}tr.hidden-sm{display:table-row !important}
th.hidden-sm,td.hidden-sm{display:table-cell !important}
@media (max-width:767px){.hidden-sm.hidden-xs{display:none !important}tr.hidden-sm.hidden-xs{display:none !important} th.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs{display:none !important}}
@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}tr.hidden-sm{display:none !important} th.hidden-sm,td.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md{display:none !important}tr.hidden-sm.hidden-md{display:none !important} th.hidden-sm.hidden-md,td.hidden-sm.hidden-md{display:none !important}}
@media (min-width:1200px){.hidden-sm.hidden-lg{display:none !important}tr.hidden-sm.hidden-lg{display:none !important} th.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg{display:none !important}}
.hidden-md{display:block !important}tr.hidden-md{display:table-row !important}
th.hidden-md,td.hidden-md{display:table-cell !important}
@media (max-width:767px){.hidden-md.hidden-xs{display:none !important}tr.hidden-md.hidden-xs{display:none !important} th.hidden-md.hidden-xs,td.hidden-md.hidden-xs{display:none !important}}
@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm{display:none !important}tr.hidden-md.hidden-sm{display:none !important} th.hidden-md.hidden-sm,td.hidden-md.hidden-sm{display:none !important}}
@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}tr.hidden-md{display:none !important} th.hidden-md,td.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-md.hidden-lg{display:none !important}tr.hidden-md.hidden-lg{display:none !important} th.hidden-md.hidden-lg,td.hidden-md.hidden-lg{display:none !important}}
.hidden-lg{display:block !important}tr.hidden-lg{display:table-row !important}
th.hidden-lg,td.hidden-lg{display:table-cell !important}
@media (max-width:767px){.hidden-lg.hidden-xs{display:none !important}tr.hidden-lg.hidden-xs{display:none !important} th.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs{display:none !important}}
@media (min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm{display:none !important}tr.hidden-lg.hidden-sm{display:none !important} th.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm{display:none !important}}
@media (min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md{display:none !important}tr.hidden-lg.hidden-md{display:none !important} th.hidden-lg.hidden-md,td.hidden-lg.hidden-md{display:none !important}}
@media (min-width:1200px){.hidden-lg{display:none !important}tr.hidden-lg{display:none !important} th.hidden-lg,td.hidden-lg{display:none !important}}
.visible-print{display:none !important}tr.visible-print{display:none !important}
th.visible-print,td.visible-print{display:none !important}
@media print{.visible-print{display:block !important}tr.visible-print{display:table-row !important} th.visible-print,td.visible-print{display:table-cell !important} .hidden-print{display:none !important}tr.hidden-print{display:none !important} th.hidden-print,td.hidden-print{display:none !important}}.pln{color:#000}
@media screen{.str{color:#080} .kwd{color:#008} .com{color:#800} .typ{color:#606} .lit{color:#066} .pun,.opn,.clo{color:#660} .tag{color:#008} .atn{color:#606} .atv{color:#080} .dec,.var{color:#606} .fun{color:#f00}}@media print,projection{.str{color:#060} .kwd{color:#006;font-weight:bold} .com{color:#600;font-style:italic} .typ{color:#404;font-weight:bold} .lit{color:#044} .pun,.opn,.clo{color:#440} .tag{color:#006;font-weight:bold} .atn{color:#404} .atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}
ol.linenums{margin-top:0;margin-bottom:0}
li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}
li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
.hljs{display:block;padding:0.5em;background:#F0F0F0}
.hljs,.hljs-subst,.hljs-tag .hljs-title,.lisp .hljs-title,.clojure .hljs-built_in,.nginx .hljs-title{color:black}
.hljs-string,.hljs-title,.hljs-constant,.hljs-parent,.hljs-tag .hljs-value,.hljs-rules .hljs-value,.hljs-rules .hljs-value .hljs-number,.hljs-preprocessor,.hljs-pragma,.haml .hljs-symbol,.ruby .hljs-symbol,.ruby .hljs-symbol .hljs-string,.hljs-aggregate,.hljs-template_tag,.django .hljs-variable,.smalltalk .hljs-class,.hljs-addition,.hljs-flow,.hljs-stream,.bash .hljs-variable,.apache .hljs-tag,.apache .hljs-cbracket,.tex .hljs-command,.tex .hljs-special,.erlang_repl .hljs-function_or_atom,.asciidoc .hljs-header,.markdown .hljs-header,.coffeescript .hljs-attribute{color:#800}
.smartquote,.hljs-comment,.hljs-annotation,.hljs-template_comment,.diff .hljs-header,.hljs-chunk,.asciidoc .hljs-blockquote,.markdown .hljs-blockquote{color:#888}
.hljs-number,.hljs-date,.hljs-regexp,.hljs-literal,.hljs-hexcolor,.smalltalk .hljs-symbol,.smalltalk .hljs-char,.go .hljs-constant,.hljs-change,.lasso .hljs-variable,.makefile .hljs-variable,.asciidoc .hljs-bullet,.markdown .hljs-bullet,.asciidoc .hljs-link_url,.markdown .hljs-link_url{color:#080}
.hljs-label,.hljs-javadoc,.ruby .hljs-string,.hljs-decorator,.hljs-filter .hljs-argument,.hljs-localvars,.hljs-array,.hljs-attr_selector,.hljs-important,.hljs-pseudo,.hljs-pi,.haml .hljs-bullet,.hljs-doctype,.hljs-deletion,.hljs-envvar,.hljs-shebang,.apache .hljs-sqbracket,.nginx .hljs-built_in,.tex .hljs-formula,.erlang_repl .hljs-reserved,.hljs-prompt,.asciidoc .hljs-link_label,.markdown .hljs-link_label,.vhdl .hljs-attribute,.clojure .hljs-attribute,.asciidoc .hljs-attribute,.lasso .hljs-attribute,.coffeescript .hljs-property,.hljs-phony{color:#88f}
.hljs-keyword,.hljs-id,.hljs-title,.hljs-built_in,.hljs-aggregate,.css .hljs-tag,.hljs-javadoctag,.hljs-phpdoc,.hljs-yardoctag,.smalltalk .hljs-class,.hljs-winutils,.bash .hljs-variable,.apache .hljs-tag,.go .hljs-typename,.tex .hljs-command,.asciidoc .hljs-strong,.markdown .hljs-strong,.hljs-request,.hljs-status{font-weight:bold}
.asciidoc .hljs-emphasis,.markdown .hljs-emphasis{font-style:italic}
.nginx .hljs-built_in{font-weight:normal}
.coffeescript .javascript,.javascript .xml,.lasso .markup,.tex .hljs-formula,.xml .javascript,.xml .vbscript,.xml .css,.xml .hljs-cdata{opacity:0.5}
@font-face{font-family:'fontello';src:url('../font/fontello.eot');src:url('../font/fontello.eot#iefix') format('embedded-opentype'),url('../font/fontello.woff') format('woff'),url('../font/fontello.ttf') format('truetype'),url('../font/fontello.svg#fontello') format('svg');font-weight:normal;font-style:normal}[class^="icon-"]:before,[class*=" icon-"]:before{font-family:"fontello";font-style:normal;font-weight:normal;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;}
.icon-glass:before{content:'\e801'}
.icon-archive:before{content:'\e859'}
.icon-search:before{content:'\e803'}
.icon-mail:before{content:'\e804'}
.icon-mail-alt:before{content:'\e805'}
.icon-heart:before{content:'\e806'}
.icon-heart-empty:before{content:'\e807'}
.icon-star:before{content:'\e808'}
.icon-star-empty:before{content:'\e809'}
.icon-star-half:before{content:'\e80a'}
.icon-star-half-alt:before{content:'\e80b'}
.icon-user:before{content:'\e80c'}
.icon-users:before{content:'\e80d'}
.icon-male:before{content:'\e80e'}
.icon-female:before{content:'\e80f'}
.icon-video:before{content:'\e810'}
.icon-videocam:before{content:'\e811'}
.icon-picture:before{content:'\e812'}
.icon-camera:before{content:'\e813'}
.icon-camera-alt:before{content:'\e814'}
.icon-th-large:before{content:'\e815'}
.icon-th:before{content:'\e816'}
.icon-th-list:before{content:'\e817'}
.icon-ok:before{content:'\e818'}
.icon-ok-circled:before{content:'\e819'}
.icon-ok-circled2:before{content:'\e81a'}
.icon-ok-squared:before{content:'\e81b'}
.icon-cancel:before{content:'\e81c'}
.icon-cancel-circled:before{content:'\e81d'}
.icon-cancel-circled2:before{content:'\e86f'}
.icon-plus:before{content:'\e81f'}
.icon-plus-circled:before{content:'\e820'}
.icon-plus-squared:before{content:'\e821'}
.icon-plus-squared-small:before{content:'\e822'}
.icon-minus:before{content:'\e823'}
.icon-minus-circled:before{content:'\e824'}
.icon-minus-squared:before{content:'\e825'}
.icon-minus-squared-alt:before{content:'\e826'}
.icon-minus-squared-small:before{content:'\e827'}
.icon-help:before{content:'\e828'}
.icon-help-circled:before{content:'\e939'}
.icon-info-circled:before{content:'\e93a'}
.icon-info:before{content:'\e93b'}
.icon-home:before{content:'\e93c'}
.icon-link:before{content:'\e83f'}
.icon-unlink:before{content:'\e82a'}
.icon-link-ext:before{content:'\e82b'}
.icon-link-ext-alt:before{content:'\e82c'}
.icon-attach:before{content:'\e82d'}
.icon-lock:before{content:'\e82e'}
.icon-lock-open:before{content:'\e82f'}
.icon-lock-open-alt:before{content:'\e830'}
.icon-pin:before{content:'\e831'}
.icon-eye:before{content:'\e832'}
.icon-eye-off:before{content:'\e833'}
.icon-tag:before{content:'\e834'}
.icon-tags:before{content:'\e835'}
.icon-bookmark:before{content:'\e836'}
.icon-bookmark-empty:before{content:'\e837'}
.icon-flag:before{content:'\e838'}
.icon-flag-empty:before{content:'\e93d'}
.icon-flag-checkered:before{content:'\e93e'}
.icon-thumbs-up:before{content:'\e93f'}
.icon-thumbs-down:before{content:'\e940'}
.icon-thumbs-up-alt:before{content:'\e839'}
.icon-thumbs-down-alt:before{content:'\e83a'}
.icon-download:before{content:'\e83b'}
.icon-upload:before{content:'\e83c'}
.icon-download-cloud:before{content:'\e83d'}
.icon-upload-cloud:before{content:'\e83e'}
.icon-reply:before{content:'\e845'}
.icon-reply-all:before{content:'\e840'}
.icon-forward:before{content:'\e856'}
.icon-quote-left:before{content:'\e842'}
.icon-quote-right:before{content:'\e843'}
.icon-export-alt:before{content:'\e846'}
.icon-pencil:before{content:'\e847'}
.icon-pencil-squared:before{content:'\e848'}
.icon-edit:before{content:'\e941'}
.icon-print:before{content:'\e942'}
.icon-retweet:before{content:'\e943'}
.icon-keyboard:before{content:'\e944'}
.icon-gamepad:before{content:'\e849'}
.icon-comment:before{content:'\e84a'}
.icon-chat:before{content:'\e84b'}
.icon-comment-empty:before{content:'\e84c'}
.icon-chat-empty:before{content:'\e84d'}
.icon-bell:before{content:'\e84e'}
.icon-bell-alt:before{content:'\e84f'}
.icon-attention-alt:before{content:'\e850'}
.icon-attention:before{content:'\e851'}
.icon-attention-circled:before{content:'\e852'}
.icon-location:before{content:'\e853'}
.icon-direction:before{content:'\e854'}
.icon-compass:before{content:'\e855'}
.icon-doc:before{content:'\e857'}
.icon-docs:before{content:'\e858'}
.icon-doc-text:before{content:'\e945'}
.icon-file:before{content:'\e946'}
.icon-doc-text-inv:before{content:'\e947'}
.icon-folder-empty:before{content:'\e85a'}
.icon-folder-open-empty:before{content:'\e85b'}
.icon-box:before{content:'\e85c'}
.icon-rss:before{content:'\e85d'}
.icon-rss-squared:before{content:'\e85e'}
.icon-phone:before{content:'\e85f'}
.icon-phone-squared:before{content:'\e860'}
.icon-menu:before{content:'\e861'}
.icon-cog:before{content:'\e862'}
.icon-cog-alt:before{content:'\e863'}
.icon-wrench:before{content:'\e864'}
.icon-basket:before{content:'\e865'}
.icon-calendar:before{content:'\e866'}
.icon-calendar-empty:before{content:'\e867'}
.icon-login:before{content:'\e868'}
.icon-logout:before{content:'\e949'}
.icon-mic:before{content:'\e94a'}
.icon-mute:before{content:'\e94b'}
.icon-volume-off:before{content:'\e94c'}
.icon-volume-down:before{content:'\e869'}
.icon-volume-up:before{content:'\e86a'}
.icon-headphones:before{content:'\e86b'}
.icon-clock:before{content:'\e86c'}
.icon-lightbulb:before{content:'\e86d'}
.icon-block:before{content:'\e86e'}
.icon-resize-full-alt:before{content:'\e870'}
.icon-resize-small:before{content:'\e871'}
.icon-resize-vertical:before{content:'\e872'}
.icon-resize-horizontal:before{content:'\e873'}
.icon-move:before{content:'\e874'}
.icon-zoom-in:before{content:'\e875'}
.icon-zoom-out:before{content:'\e876'}
.icon-down-circled2:before{content:'\e877'}
.icon-up-circled2:before{content:'\e878'}
.icon-down-dir:before{content:'\e94d'}
.icon-up-dir:before{content:'\e94e'}
.icon-left-dir:before{content:'\e94f'}
.icon-right-dir:before{content:'\e950'}
.icon-down-open:before{content:'\e879'}
.icon-left-open:before{content:'\e87a'}
.icon-right-open:before{content:'\e87b'}
.icon-up-open:before{content:'\e87c'}
.icon-angle-left:before{content:'\e87d'}
.icon-angle-right:before{content:'\e87e'}
.icon-angle-up:before{content:'\e87f'}
.icon-angle-down:before{content:'\e880'}
.icon-angle-circled-left:before{content:'\e881'}
.icon-angle-circled-right:before{content:'\e882'}
.icon-angle-circled-up:before{content:'\e883'}
.icon-angle-circled-down:before{content:'\e884'}
.icon-angle-double-left:before{content:'\e885'}
.icon-angle-double-right:before{content:'\e886'}
.icon-angle-double-up:before{content:'\e887'}
.icon-angle-double-down:before{content:'\e888'}
.icon-down:before{content:'\e951'}
.icon-left:before{content:'\e952'}
.icon-right:before{content:'\e953'}
.icon-up:before{content:'\e954'}
.icon-down-big:before{content:'\e889'}
.icon-music:before{content:'\e802'}
.icon-right-big:before{content:'\e88b'}
.icon-up-big:before{content:'\e88c'}
.icon-right-hand:before{content:'\e88d'}
.icon-left-hand:before{content:'\e88e'}
.icon-up-hand:before{content:'\e88f'}
.icon-down-hand:before{content:'\e890'}
.icon-left-circled:before{content:'\e891'}
.icon-right-circled:before{content:'\e892'}
.icon-up-circled:before{content:'\e893'}
.icon-down-circled:before{content:'\e894'}
.icon-cw:before{content:'\e895'}
.icon-ccw:before{content:'\e896'}
.icon-refresh:before{content:'\e897'}
.icon-level-up:before{content:'\e898'}
.icon-level-down:before{content:'\e955'}
.icon-shuffle:before{content:'\e956'}
.icon-exchange:before{content:'\e957'}
.icon-collapse:before{content:'\e958'}
.icon-collapse-top:before{content:'\e899'}
.icon-expand:before{content:'\e89a'}
.icon-play:before{content:'\e89b'}
.icon-play-circled:before{content:'\e89c'}
.icon-play-circled2:before{content:'\e89d'}
.icon-stop:before{content:'\e89e'}
.icon-pause:before{content:'\e800'}
.icon-to-end:before{content:'\e8a0'}
.icon-to-end-alt:before{content:'\e8a1'}
.icon-to-start:before{content:'\e8a2'}
.icon-to-start-alt:before{content:'\e8a3'}
.icon-fast-fw:before{content:'\e8a4'}
.icon-fast-bw:before{content:'\e8a5'}
.icon-eject:before{content:'\e8a6'}
.icon-signal:before{content:'\e8a8'}
.icon-award:before{content:'\e959'}
.icon-desktop:before{content:'\e95a'}
.icon-laptop:before{content:'\e90e'}
.icon-tablet:before{content:'\e95c'}
.icon-mobile:before{content:'\e8a9'}
.icon-inbox:before{content:'\e8aa'}
.icon-globe:before{content:'\e8ab'}
.icon-sun:before{content:'\e8ac'}
.icon-cloud:before{content:'\e8ad'}
.icon-flash:before{content:'\e8ae'}
.icon-moon:before{content:'\e8af'}
.icon-umbrella:before{content:'\e8b0'}
.icon-flight:before{content:'\e8b1'}
.icon-fighter-jet:before{content:'\e8b2'}
.icon-leaf:before{content:'\e8b3'}
.icon-font:before{content:'\e8b6'}
.icon-bold:before{content:'\e8b5'}
.icon-italic:before{content:'\e8b4'}
.icon-text-height:before{content:'\e8b7'}
.icon-text-width:before{content:'\e8b8'}
.icon-align-left:before{content:'\e95d'}
.icon-align-center:before{content:'\e95e'}
.icon-align-right:before{content:'\e95f'}
.icon-align-justify:before{content:'\e960'}
.icon-list:before{content:'\e8b9'}
.icon-indent-left:before{content:'\e8ba'}
.icon-indent-right:before{content:'\e8bb'}
.icon-list-bullet:before{content:'\e8bc'}
.icon-list-numbered:before{content:'\e8bd'}
.icon-strike:before{content:'\e8be'}
.icon-underline:before{content:'\e8bf'}
.icon-superscript:before{content:'\e8c0'}
.icon-subscript:before{content:'\e8c1'}
.icon-table:before{content:'\e8c2'}
.icon-columns:before{content:'\e8c3'}
.icon-crop:before{content:'\e8c4'}
.icon-scissors:before{content:'\e8c5'}
.icon-paste:before{content:'\e8c6'}
.icon-briefcase:before{content:'\e8c7'}
.icon-suitcase:before{content:'\e8c8'}
.icon-ellipsis:before{content:'\e961'}
.icon-ellipsis-vert:before{content:'\e962'}
.icon-off:before{content:'\e963'}
.icon-road:before{content:'\e964'}
.icon-list-alt:before{content:'\e8c9'}
.icon-qrcode:before{content:'\e8ca'}
.icon-barcode:before{content:'\e8cb'}
.icon-book:before{content:'\e8cc'}
.icon-ajust:before{content:'\e8cd'}
.icon-tint:before{content:'\e8ce'}
.icon-check:before{content:'\e8cf'}
.icon-check-empty:before{content:'\e8d0'}
.icon-circle:before{content:'\e8d1'}
.icon-circle-empty:before{content:'\e8d2'}
.icon-asterisk:before{content:'\e8d3'}
.icon-gift:before{content:'\e8d4'}
.icon-fire:before{content:'\e8d5'}
.icon-magnet:before{content:'\e8d6'}
.icon-ticket:before{content:'\e8d8'}
.icon-credit-card:before{content:'\e965'}
.icon-floppy:before{content:'\e966'}
.icon-megaphone:before{content:'\e967'}
.icon-key:before{content:'\e8d9'}
.icon-fork:before{content:'\e8da'}
.icon-rocket:before{content:'\e8db'}
.icon-bug:before{content:'\e8dc'}
.icon-certificate:before{content:'\e8dd'}
.icon-tasks:before{content:'\e8de'}
.icon-filter:before{content:'\e8df'}
.icon-beaker:before{content:'\e8e0'}
.icon-magic:before{content:'\e8e1'}
.icon-truck:before{content:'\e8e2'}
.icon-money:before{content:'\e8e3'}
.icon-euro:before{content:'\e8e4'}
.icon-pound:before{content:'\e8e5'}
.icon-dollar:before{content:'\e8e6'}
.icon-rupee:before{content:'\e8e7'}
.icon-yen:before{content:'\e8e8'}
.icon-renminbi:before{content:'\e8e9'}
.icon-won:before{content:'\e8ea'}
.icon-bitcoin:before{content:'\e8eb'}
.icon-sort:before{content:'\e8ec'}
.icon-sort-down:before{content:'\e8ed'}
.icon-sort-up:before{content:'\e8ee'}
.icon-sort-alt-up:before{content:'\e8ef'}
.icon-sort-alt-down:before{content:'\e8f0'}
.icon-sort-name-up:before{content:'\e8f1'}
.icon-sort-name-down:before{content:'\e8f2'}
.icon-sort-number-up:before{content:'\e8f3'}
.icon-sort-number-down:before{content:'\e8f4'}
.icon-hammer:before{content:'\e8f5'}
.icon-gauge:before{content:'\e8f6'}
.icon-sitemap:before{content:'\e8f7'}
.icon-spinner:before{content:'\e8f8'}
.icon-coffee:before{content:'\e8f9'}
.icon-food:before{content:'\e8fa'}
.icon-beer:before{content:'\e8fb'}
.icon-user-md:before{content:'\e8fc'}
.icon-stethoscope:before{content:'\e8fd'}
.icon-ambulance:before{content:'\e8fe'}
.icon-medkit:before{content:'\e8ff'}
.icon-h-sigh:before{content:'\e900'}
.icon-hospital:before{content:'\e901'}
.icon-building:before{content:'\e902'}
.icon-smile:before{content:'\e903'}
.icon-frown:before{content:'\e904'}
.icon-meh:before{content:'\e905'}
.icon-anchor:before{content:'\e906'}
.icon-terminal:before{content:'\e907'}
.icon-eraser:before{content:'\e908'}
.icon-puzzle:before{content:'\e909'}
.icon-shield:before{content:'\e90a'}
.icon-extinguisher:before{content:'\e90b'}
.icon-bullseye:before{content:'\e90c'}
.icon-resize-full:before{content:'\e90d'}
.icon-target:before{content:'\e8a7'}
.icon-layers:before{content:'\e829'}
.icon-chart-bar:before{content:'\e90f'}
.icon-share:before{content:'\e912'}
.icon-hdd:before{content:'\e841'}
.icon-trash:before{content:'\e89f'}
.icon-folder:before{content:'\e8d7'}
.icon-code:before{content:'\e844'}
.icon-folder-open:before{content:'\e81e'}
.icon-left-big:before{content:'\e88a'}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url("../font/OpenSans-Light-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url("../font/OpenSans-Regular-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url("../font/OpenSans-Bold-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url("../font/OpenSans-LightItalic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url("../font/OpenSans-Italic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url("../font/OpenSans-BoldItalic-webfont.woff") format('woff')}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/OpenSans-Light-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/OpenSans-Regular-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/OpenSans-Bold-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/OpenSans-LightItalic-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/OpenSans-Italic-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/OpenSans-BoldItalic-webfont.svg') format('svg')}}body{-webkit-font-smoothing:antialiased}
.container{margin-bottom:180px}
a code{color:inherit}
h1{font-size:36px}
h2{font-size:30px}
h3{font-size:24px}
h4{font-size:18px}
h5{font-size:14px}
h6{font-size:12px}
h1{margin:60px 0 40px}
h2{margin:50px 0 30px}
h3{margin:35px 0 20px}
h4,h5,h6{margin:25px 0 15px}
p,pre,pre.prettyprint,blockquote{margin:0 0 15px}
hr{margin:30px 0}
code,pre{font-family:Menlo,Consolas,"Courier New",monospace;font-size:12px !important}
pre,pre.prettyprint{border:0 solid #eee;border-left:10px solid #eee;border-radius:0;border-top-right-radius:5px;border-bottom-right-radius:5px;padding:10px 15px}pre code,pre.prettyprint code{background-color:transparent !important}
dt,dd{margin-top:5px;margin-bottom:5px}
dd{margin-left:40px}
table{margin-bottom:20px}
table th,table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #dddddd}
table th{font-weight:bold}
table thead th{vertical-align:bottom}
table caption+thead tr:first-child th,table caption+thead tr:first-child td,table colgroup+thead tr:first-child th,table colgroup+thead tr:first-child td,table thead:first-child tr:first-child th,table thead:first-child tr:first-child td{border-top:0}
table tbody+tbody{border-top:2px solid #dddddd}
blockquote{border-left-width:10px;background-color:#f8f8f8;border-top-right-radius:5px;border-bottom-right-radius:5px;padding:15px 20px}blockquote p{margin-bottom:15px;font-size:14px;line-height:1.428571429}
blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}
ul,ol{margin-bottom:15px}ul ul,ol ul,ul ol,ol ol{margin-bottom:15px}
kbd{padding:0.1em 0.6em;border:1px solid rgba(0,0,0,0.25);-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25);font-size:11px;font-family:Arial,Helvetica,sans-serif;background-color:#fff;color:#333;border-radius:3px;display:inline-block;margin:0 0.1em;white-space:nowrap}
.toc ul{list-style-type:none;margin-bottom:5px}
.footnote{vertical-align:top;position:relative;top:-0.5em;font-size:0.8em}
[class^="icon-"],[class*=" icon-"]{display:inline-block;line-height:14px;vertical-align:middle;background-repeat:no-repeat}
.icon-code{font-size:80%}.icon-code:before{margin-left:0.1em;margin-right:0.6em}
.icon-folder-open{font-size:80%}.icon-folder-open:before{margin-right:0.6em}
.icon-chart-bar{font-size:90%}.icon-chart-bar:before{margin-left:0.3em;margin-right:0.3em}
.icon-file{font-size:104%;margin-left:0;margin-right:0}
.icon-link{font-size:104%}
[class^="icon-provider-"],[class*=" icon-provider-"]{background-image:url("../img/icons.png");width:18px;height:16px;margin-top:-2px;margin-left:1px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){[class^="icon-provider-"],[class*=" icon-provider-"]{background-image:url("../img/icons2x.png");background-size:256px 16px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){[class^="icon-provider-"],[class*=" icon-provider-"]{background-image:url("../img/icons2x.png");background-size:256px 16px}}
.icon-provider-stackedit{background-position:0 0}
.icon-provider-gdrive,.icon-provider-gdrivesec,.icon-provider-gdriveter{background-position:-18px 0}.icon-provider-gdrive.realtime,.icon-provider-gdrivesec.realtime,.icon-provider-gdriveter.realtime{background-position:-162px 0}
.icon-provider-dropbox{background-position:-37px 0}
.icon-provider-github,.icon-provider-gist{background-position:-54px 0}
.icon-provider-blogger,.icon-provider-bloggerpage{background-position:-72px 0}
.icon-provider-tumblr{background-position:-90px 0}
.icon-provider-wordpress{background-position:-108px 0}
.icon-provider-ssh{background-position:-126px 0}
.icon-provider-gplus{background-position:-144px 0}
body.rtl #wmd-input,body.rtl #preview-contents,body.rtl .input-file-title,body.rtl .search-bar input,body.rtl .modal-document-manager input,body.rtl .container{direction:rtl}
body.pdf{font-family:"DejaVu Sans"}body.pdf code,body.pdf pre{font-family:"DejaVu Sans Mono"}
</style>
</head>
<body><div class="container"><h1 id="rest-api-plugin-readme">REST API Plugin Readme</h1>

<p>The REST API Plugin provides the ability to manage Openfire by sending an REST/HTTP request to the server. This plugin’s functionality is useful for applications that need to administer Openfire outside of the Openfire admin console.</p>

<hr>

<p><div class="toc">
<ul>
<li><a href="#rest-api-plugin-readme">REST API Plugin Readme</a><ul>
<li><a href="#feature-list">Feature list</a></li>
<li><a href="#available-rest-api-clients">Available REST API clients</a></li>
<li><a href="#installation">Installation</a></li>
<li><a href="#explanation-of-rest">Explanation of REST</a></li>
<li><a href="#authentication">Authentication</a><ul>
<li><a href="#basic-http-authentication">Basic HTTP Authentication</a></li>
<li><a href="#shared-secret-key">Shared secret key</a></li>
</ul>
</li>
<li><a href="#data-format">Data format</a></li>
<li><a href="#data-types">Data types</a><ul>
<li><a href="#user">User</a></li>
<li><a href="#rosteritem">RosterItem</a></li>
<li><a href="#chatroom">Chatroom</a></li>
<li><a href="#system-property">System Property</a></li>
<li><a href="#session">Session</a></li>
<li><a href="#sessions-count">Sessions count</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#user-related-rest-endpoints">User related REST Endpoints</a><ul>
<li><a href="#retrieve-users">Retrieve users</a><ul>
<li><a href="#possible-parameters">Possible parameters</a></li>
<li><a href="#examples">Examples</a></li>
</ul>
</li>
<li><a href="#retrieve-a-user">Retrieve a user</a><ul>
<li><a href="#possible-parameters-1">Possible parameters</a></li>
<li><a href="#examples-1">Examples</a></li>
</ul>
</li>
<li><a href="#create-a-user">Create a user</a><ul>
<li><a href="#examples-2">Examples</a><ul>
<li><a href="#xml-examples">XML Examples</a></li>
<li><a href="#json-examples">JSON Examples</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#delete-a-user">Delete a user</a><ul>
<li><a href="#possible-parameters-2">Possible parameters</a></li>
<li><a href="#examples-3">Examples</a></li>
</ul>
</li>
<li><a href="#update-a-user">Update a user</a><ul>
<li><a href="#possible-parameters-3">Possible parameters</a></li>
<li><a href="#examples-4">Examples</a><ul>
<li><a href="#xml-example">XML Example</a></li>
<li><a href="#rename-example">Rename Example</a></li>
<li><a href="#json-example">JSON Example</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#retrieve-all-user-groups">Retrieve all user groups</a><ul>
<li><a href="#possible-parameters-4">Possible parameters</a></li>
<li><a href="#examples-5">Examples</a></li>
</ul>
</li>
<li><a href="#add-user-to-groups">Add user to groups</a><ul>
<li><a href="#possible-parameters-5">Possible parameters</a></li>
<li><a href="#examples-6">Examples</a></li>
</ul>
</li>
<li><a href="#add-user-to-group">Add user to group</a><ul>
<li><a href="#possible-parameters-6">Possible parameters</a></li>
<li><a href="#examples-7">Examples</a></li>
</ul>
</li>
<li><a href="#delete-a-user-from-a-groups">Delete a user from a groups</a><ul>
<li><a href="#possible-parameters-7">Possible parameters</a></li>
<li><a href="#examples-8">Examples</a></li>
</ul>
</li>
<li><a href="#delete-a-user-from-a-group">Delete a user from a group</a><ul>
<li><a href="#possible-parameters-8">Possible parameters</a></li>
<li><a href="#examples-9">Examples</a></li>
</ul>
</li>
<li><a href="#lockout-a-user">Lockout a user</a><ul>
<li><a href="#possible-parameters-8-1">Possible parameters</a></li>
<li><a href="#examples-9-1">Examples</a></li>
</ul>
</li>
<li><a href="#unlock-a-user">Unlock a user</a><ul>
<li><a href="#possible-parameters-9">Possible parameters</a></li>
<li><a href="#examples-10">Examples</a></li>
</ul>
</li>
<li><a href="#retrieve-user-roster">Retrieve user roster</a><ul>
<li><a href="#possible-parameters-10">Possible parameters</a></li>
<li><a href="#examples-11">Examples</a></li>
</ul>
</li>
<li><a href="#create-a-user-roster-entry">Create a user roster entry</a><ul>
<li><a href="#possible-parameters-11">Possible parameters</a></li>
<li><a href="#examples-12">Examples</a></li>
</ul>
</li>
<li><a href="#delete-a-user-roster-entry">Delete a user roster entry</a><ul>
<li><a href="#possible-parameters-12">Possible parameters</a></li>
<li><a href="#examples-13">Examples</a></li>
</ul>
</li>
<li><a href="#update-a-user-roster-entry">Update a user roster entry</a><ul>
<li><a href="#possible-parameters-13">Possible parameters</a></li>
<li><a href="#examples-14">Examples</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#chat-room-related-rest-endpoints">Chat room related REST Endpoints</a><ul>
<li><a href="#retrieve-all-chat-rooms">Retrieve all chat rooms</a><ul>
<li><a href="#possible-parameters-14">Possible parameters</a></li>
<li><a href="#examples-15">Examples</a></li>
</ul>
</li>
<li><a href="#retrieve-a-chat-room">Retrieve a chat room</a><ul>
<li><a href="#possible-parameters-15">Possible parameters</a></li>
<li><a href="#examples-16">Examples</a></li>
</ul>
</li>
<li><a href="#retrieve-chat-room-participants">Retrieve chat room participants</a><ul>
<li><a href="#possible-parameters-16">Possible parameters</a></li>
<li><a href="#examples-17">Examples</a></li>
</ul>
</li>
<li><a href="#create-a-chat-room">Create a chat room</a><ul>
<li><a href="#possible-parameters-17">Possible parameters</a></li>
<li><a href="#xml-examples-1">XML Examples</a></li>
<li><a href="#json-examples-1">JSON Examples</a></li>
</ul>
</li>
<li><a href="#delete-a-chat-room">Delete a chat room</a><ul>
<li><a href="#possible-parameters-17-1">Possible parameters</a></li>
<li><a href="#examples-17-1">Examples</a></li>
</ul>
</li>
<li><a href="#update-a-chat-room">Update a chat room</a><ul>
<li><a href="#possible-parameters-18">Possible parameters</a></li>
<li><a href="#examples-18">Examples</a></li>
</ul>
</li>
<li><a href="#add-user-with-role-to-chat-room">Add user with role to chat room</a><ul>
<li><a href="#possible-parameters-19">Possible parameters</a></li>
<li><a href="#examples-19">Examples</a></li>
</ul>
</li>
<li><a href="#delete-a-user-from-a-chat-room">Delete a user from a chat room</a><ul>
<li><a href="#possible-parameters-20">Possible parameters</a></li>
<li><a href="#examples-20">Examples</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#system-related-rest-endpoints">System related REST Endpoints</a><ul>
<li><a href="#retrieve-all-system-properties">Retrieve all system properties</a><ul>
<li><a href="#examples-21">Examples</a></li>
</ul>
</li>
<li><a href="#retrieve-system-property">Retrieve system property</a><ul>
<li><a href="#possible-parameters-21">Possible parameters</a></li>
<li><a href="#examples-22">Examples</a></li>
</ul>
</li>
<li><a href="#create-a-system-property">Create a system property</a><ul>
<li><a href="#examples-23">Examples</a></li>
</ul>
</li>
<li><a href="#delete-a-system-property">Delete a system property</a><ul>
<li><a href="#possible-parameters-22">Possible parameters</a></li>
<li><a href="#examples-24">Examples</a></li>
</ul>
</li>
<li><a href="#update-a-system-property">Update a system property</a><ul>
<li><a href="#possible-parameters-23">Possible parameters</a></li>
<li><a href="#examples-25">Examples</a></li>
</ul>
</li>
<li><a href="#retrieve-concurrent-sessions">Retrieve concurrent sessions</a><ul>
<li><a href="#examples-26">Examples</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#group-related-rest-endpoints">Group related REST Endpoints</a><ul>
<li><a href="#retrieve-all-groups">Retrieve all groups</a><ul>
<li><a href="#examples-27">Examples</a></li>
</ul>
</li>
<li><a href="#retrieve-a-group">Retrieve a group</a><ul>
<li><a href="#possible-parameters-24">Possible parameters</a></li>
<li><a href="#examples-28">Examples</a></li>
</ul>
</li>
<li><a href="#create-a-group">Create a group</a><ul>
<li><a href="#examples-29">Examples</a></li>
</ul>
</li>
<li><a href="#delete-a-group">Delete a group</a><ul>
<li><a href="#possible-parameters-25">Possible parameters</a></li>
<li><a href="#examples-30">Examples</a></li>
</ul>
</li>
<li><a href="#update-a-group">Update a group</a><ul>
<li><a href="#possible-parameters-26">Possible parameters</a></li>
<li><a href="#examples-31">Examples</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#session-related-rest-endpoints">Session related REST Endpoints</a><ul>
<li><a href="#retrieve-all-user-session">Retrieve all user session</a><ul>
<li><a href="#examples-32">Examples</a></li>
</ul>
</li>
<li><a href="#retrieve-the-user-sessions">Retrieve the user sessions</a><ul>
<li><a href="#possible-parameters-27">Possible parameters</a></li>
<li><a href="#examples-33">Examples</a></li>
</ul>
</li>
<li><a href="#close-all-user-sessions">Close all user sessions</a><ul>
<li><a href="#possible-parameters-28">Possible parameters</a></li>
<li><a href="#examples-34">Examples</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#message-related-rest-endpoints">Message related REST Endpoints</a><ul>
<li><a href="#send-a-broadcast-message">Send a broadcast message</a><ul>
<li><a href="#examples-35">Examples</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#deprecated-user-service-plugin-readme">(Deprecated) User Service Plugin Readme</a><ul>
<li><a href="#overview">Overview</a></li>
<li><a href="#installation-1">Installation</a></li>
<li><a href="#configuration">Configuration</a></li>
<li><a href="#using-the-plugin">Using the Plugin</a></li>
<li><a href="#sample-html">Sample HTML</a></li>
<li><a href="#server-reply">Server Reply</a></li>
</ul>
</li>
</ul>
</div>
</p>

<h2 id="feature-list">Feature list</h2>

<ul>
<li>Get overview over all or specific user and to create, update or delete a user</li>
<li>Get overview over all or specific group and to create, update or delete a group</li>
<li>Get overview over all user roster entries and to add, update or delete a roster entry</li>
<li>Add user to a group and remove a user from a group</li>
<li>Lockout, unlock or kick the user (enable / disable)</li>
<li>Get overview over all or specific system properties and to create, update or delete system property</li>
<li>Get overview over all or specific chat room and to create, update or delete a chat room</li>
<li>Get overview over all or specific user sessions</li>
<li>Send broadcast message to all online users</li>
</ul>



<h2 id="available-rest-api-clients">Available REST API clients</h2>

<p>REST API clients are implementations of the REST API in a specific programming language.</p>

<ul>
<li>JAVA: <a href="https://github.com/Redor/REST-API-Client">https://github.com/Redor/REST-API-Client</a> (fully implemented)</li>
<li>PHP: <a href="https://github.com/gidkom/php-openfire-restapi">https://github.com/gidkom/php-openfire-restapi</a> party implemented)</li>
<li>GO Lang <a href="https://github.com/Urethramancer/fireman">https://github.com/Urethramancer/fireman</a> (party implemented)</li>
</ul>



<h2 id="installation">Installation</h2>

<p>Copy restAPI.jar into the plugins directory of your Openfire server. The plugin will then be automatically deployed. To upgrade to a new version, copy the new restAPI.jar file over the existing file.</p>



<h2 id="explanation-of-rest">Explanation of REST</h2>

<p>To provide a standard way of accessing the data the plugin is using REST.</p>

<table>
<thead>
<tr>
  <th>HTTP Method</th>
  <th>Usage</th>
</tr>
</thead>
<tbody><tr>
  <td><strong>GET</strong></td>
  <td>Receive a read-only data</td>
</tr>
<tr>
  <td><strong>PUT</strong></td>
  <td>Overwrite an existing resource</td>
</tr>
<tr>
  <td><strong>POST</strong></td>
  <td>Creates a new resource</td>
</tr>
<tr>
  <td><strong>DELETE</strong></td>
  <td>Deletes the given resource</td>
</tr>
</tbody></table>




<h2 id="authentication">Authentication</h2>

<p>All REST Endpoint are secured and must be authenticated. There are two ways to authenticate: </p>

<ul>
<li><a href="http://en.wikipedia.org/wiki/Basic_access_authentication">Basic HTTP Authentication</a></li>
<li>Shared secret key</li>
</ul>

<p>The configuration can be done in Openfire Admin console under Server &gt; Server Settings &gt; REST API.</p>



<h3 id="basic-http-authentication">Basic HTTP Authentication</h3>

<p>To access the endpoints is that required to send the Username and Password of a Openfire Admin account in your HTTP header request.</p>

<p>E.g. <strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=  (username: admin / password: 12345)</p>



<h3 id="shared-secret-key">Shared secret key</h3>

<p>To access the endpoints is that required to send the secret key in your header request. The secret key can be defined in Openfire Admin console under Server &gt; Server Settings &gt; REST API.</p>

<p>E.g. <strong>Header:</strong> Authorization: s3cretKey</p>



<h2 id="data-format">Data format</h2>

<p>Openfire REST API provides XML and JSON as data format. The default data format is XML. <br>
To get a JSON result, please add “<strong>Accept application/json</strong>” to the request header. <br>
If you want to create a resource with JSON data format, please add “<strong>Content-Type: application/json</strong>“.</p>



<h2 id="data-types">Data types</h2>



<h3 id="user">User</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Optional</th>
  <th>Description</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>No</td>
  <td>The username of the user</td>
</tr>
<tr>
  <td>name</td>
  <td>Yes</td>
  <td>The name of the user</td>
</tr>
<tr>
  <td>email</td>
  <td>Yes</td>
  <td>The email of the user</td>
</tr>
<tr>
  <td>password</td>
  <td>No</td>
  <td>The password of the user</td>
</tr>
<tr>
  <td>properties</td>
  <td>Yes</td>
  <td>List of properties. Property is a key / value object. The key must to be per user unique</td>
</tr>
</tbody></table>




<h3 id="rosteritem">RosterItem</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Optional</th>
  <th>Description</th>
</tr>
</thead>
<tbody><tr>
  <td>jid</td>
  <td>No</td>
  <td>The JID of the roster item</td>
</tr>
<tr>
  <td>nickname</td>
  <td>Yes</td>
  <td>The nickname for the user when used in this roster</td>
</tr>
<tr>
  <td>subscriptionType</td>
  <td>Yes</td>
  <td>The subscription type <br> Possible numeric values are: -1 (remove), 0 (none), 1 (to), 2 (from), 3 (both)</td>
</tr>
<tr>
  <td>groups</td>
  <td>No</td>
  <td>A list of groups to organize roster entries under (e.g. friends, co-workers, etc.)</td>
</tr>
</tbody></table>




<h3 id="chatroom">Chatroom</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Optional</th>
  <th>Description</th>
</tr>
</thead>
<tbody><tr>
  <td>roomName</td>
  <td>No</td>
  <td>The name/id of the room. Can only contains lowercase and alphanumeric characters.</td>
</tr>
<tr>
  <td>naturalName</td>
  <td>No</td>
  <td>Also the name of the room, but can contains non alphanumeric characters. It’s mainly used for users while discovering rooms hosted by the Multi-User Chat service.</td>
</tr>
<tr>
  <td>description</td>
  <td>No</td>
  <td>Description text of the room.</td>
</tr>
<tr>
  <td>subject</td>
  <td>Yes</td>
  <td>Subject of the room.</td>
</tr>
<tr>
  <td>password</td>
  <td>Yes</td>
  <td>The password that the user must provide to enter the room</td>
</tr>
<tr>
  <td>creationDate</td>
  <td>Yes</td>
  <td>The date when the room was created. Will be automatically set by creation. Example: 2014-07-10T09:49:12.411+02:00</td>
</tr>
<tr>
  <td>modificationDate</td>
  <td>Yes</td>
  <td>The last date when the room’s configuration was modified. If the room’s configuration  was never modified then the initial value will be the same as the creation date. Will be automatically set by update. Example: 2014-07-10T09:49:12.411+02:00</td>
</tr>
<tr>
  <td>maxUsers</td>
  <td>Yes</td>
  <td>the maximum number of occupants that can be simultaneously in the room. 0 means unlimited number of occupants.</td>
</tr>
<tr>
  <td>persistent</td>
  <td>Yes</td>
  <td>Can be “true” or “false”. Persistent rooms are saved to the database to make their configurations persistent together with the affiliation of the users. Otherwise the room will be destroyed if the last occupant leave the room.</td>
</tr>
<tr>
  <td>publicRoom</td>
  <td>Yes</td>
  <td>Can be “true” or “false”. True if the room is searchable and visible through service discovery.</td>
</tr>
<tr>
  <td>registrationEnabled</td>
  <td>Yes</td>
  <td>Can be “true” or “false”. True if users are allowed to register with the room. By default, room registration is enabled.</td>
</tr>
<tr>
  <td>canAnyoneDiscoverJID</td>
  <td>Yes</td>
  <td>Can be “true” or “false”. True if every presence packet will include the JID of every occupant.</td>
</tr>
<tr>
  <td>canOccupantsChangeSubject</td>
  <td>Yes</td>
  <td>Can be “true” or “false”. True if participants are allowed to change the room’s subject.</td>
</tr>
<tr>
  <td>canOccupantsInvite</td>
  <td>Yes</td>
  <td>Can be “true” or “false”. True if occupants can invite other users to the room. If the room does not require an invitation to enter (i.e. is not members-only) then any occupant can send invitations. On the other hand, if the room is members-only and occupants cannot send invitation then only the room owners and admins are allowed to send invitations.</td>
</tr>
<tr>
  <td>canChangeNickname</td>
  <td>Yes</td>
  <td>Can be “true” or “false”. True if room occupants are allowed to change their nicknames in the room. By default, occupants are allowed to change their nicknames.</td>
</tr>
<tr>
  <td>logEnabled</td>
  <td>Yes</td>
  <td>Can be “true” or “false”. True if the room’s conversation is being logged. If logging is activated the room conversation will be saved to the database every couple of minutes. The saving frequency is the same for all the rooms and can be configured by changing the property “xmpp.muc.tasks.log.timeout”.</td>
</tr>
<tr>
  <td>loginRestrictedToNickname</td>
  <td>Yes</td>
  <td>Can be “true” or “false”. True if registered users can only join the room using their registered nickname. By default, registered users can join the room using any nickname.</td>
</tr>
<tr>
  <td>membersOnly</td>
  <td>Yes</td>
  <td>Can be “true” or “false”. True if the room requires an invitation to enter. That is if the room is members-only.</td>
</tr>
<tr>
  <td>moderated</td>
  <td>Yes</td>
  <td>Can be “true” or “false”. True if the room in which only those with “voice” may send messages to all occupants.</td>
</tr>
<tr>
  <td>broadcastPresenceRoles</td>
  <td>Yes</td>
  <td>The list of roles of which presence will be broadcasted to the rest of the occupants.</td>
</tr>
<tr>
  <td>owners</td>
  <td>Yes</td>
  <td>A collection with the current list of owners. The collection contains the bareJID of the users with owner affiliation.</td>
</tr>
<tr>
  <td>admins</td>
  <td>Yes</td>
  <td>A collection with the current list of admins. The collection contains the bareJID of the users with admin affiliation.</td>
</tr>
<tr>
  <td>members</td>
  <td>Yes</td>
  <td>A collection with the current list of room members. The collection contains the bareJID of the users with member affiliation. If the room is not members-only then the list  will contain the users that registered with the room and therefore they may have reserved a nickname.</td>
</tr>
<tr>
  <td>outcasts</td>
  <td>Yes</td>
  <td>A collection with the current list of outcast users. An outcast user is not allowed to join the room again. The collection contains the bareJID of the users with outcast affiliation.</td>
</tr>
</tbody></table>




<h3 id="system-property">System Property</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Optional</th>
  <th>Description</th>
</tr>
</thead>
<tbody><tr>
  <td>key</td>
  <td>No</td>
  <td>The name of the system property</td>
</tr>
<tr>
  <td>value</td>
  <td>No</td>
  <td>The value of the system property</td>
</tr>
</tbody></table>




<h3 id="session">Session</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Optional</th>
  <th>Description</th>
</tr>
</thead>
<tbody><tr>
  <td>sessionId</td>
  <td>No</td>
  <td>Full JID of a user e.g. (testUser@testserver.de/SomeRessource)</td>
</tr>
<tr>
  <td>username</td>
  <td>No</td>
  <td>The username associated with this session. Can be also “Anonymous”.</td>
</tr>
<tr>
  <td>ressource</td>
  <td>Yes</td>
  <td>Ressource name</td>
</tr>
<tr>
  <td>node</td>
  <td>No</td>
  <td>Can be “Local” or “Remote”</td>
</tr>
<tr>
  <td>sessionStatus</td>
  <td>No</td>
  <td>The current status of this session. Can be “Closed”, “Connected”, “Authenticated” or “Unknown”.</td>
</tr>
<tr>
  <td>presenceStatus</td>
  <td>No</td>
  <td>The status of this presence packet, a natural-language description of availability status.</td>
</tr>
<tr>
  <td>priority</td>
  <td>No</td>
  <td>The priority of the session. The valid priority range is -128 through 128.</td>
</tr>
<tr>
  <td>hostAddress</td>
  <td>No</td>
  <td>Tthe IP address string in textual presentation.</td>
</tr>
<tr>
  <td>hostName</td>
  <td>No</td>
  <td>The host name for this IP address.</td>
</tr>
<tr>
  <td>creationDate</td>
  <td>No</td>
  <td>The date the session was created.</td>
</tr>
<tr>
  <td>lastActionDate</td>
  <td>No</td>
  <td>The time the session last had activity.</td>
</tr>
<tr>
  <td>secure</td>
  <td>No</td>
  <td>Is “true” if this connection is secure.</td>
</tr>
</tbody></table>




<h3 id="sessions-count">Sessions count</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Optional</th>
  <th>Description</th>
</tr>
</thead>
<tbody><tr>
  <td>clusterSessions</td>
  <td>No</td>
  <td>Number of client sessions that are authenticated with the server. This includes anonymous and non-anoymous users from the whole cluster.</td>
</tr>
<tr>
  <td>localSessions</td>
  <td>No</td>
  <td>Number of client sessions that are authenticated with the server. This includes anonymous and non-anoymous users.</td>
</tr>
</tbody></table>




<h1 id="user-related-rest-endpoints">User related REST Endpoints</h1>



<h2 id="retrieve-users">Retrieve users</h2>

<p>Endpoint to get all or filtered users</p>

<blockquote>
  <p><strong>GET</strong> /users</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Users</p>



<h3 id="possible-parameters">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>search</td>
  <td>@QueryParam</td>
  <td>Search/Filter by username. <br> This act like the wildcard search %String%</td>
  <td></td>
</tr>
<tr>
  <td>propertyKey</td>
  <td>@QueryParam</td>
  <td>Filter by user propertyKey.</td>
  <td></td>
</tr>
<tr>
  <td>propertyValue</td>
  <td>@QueryParam</td>
  <td>Filter by user propertyKey and propertyValue. <br><strong>Note:</strong> It can only be used within propertyKey parameter</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples">Examples</h3>

<blockquote>
  <p><strong>Header</strong>: Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/users">http://example.org:9090/plugins/restapi/v1/users</a> <br>
  <strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/users?search=testuser">http://example.org:9090/plugins/restapi/v1/users?search=testuser</a> <br>
  <strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/users?propertyKey=keyname">http://example.org:9090/plugins/restapi/v1/users?propertyKey=keyname</a> <br>
  <strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/users?propertyKey=keyname&amp;propertyValue=keyvalue">http://example.org:9090/plugins/restapi/v1/users?propertyKey=keyname&amp;propertyValue=keyvalue</a></p>
</blockquote>

<p>If you want to get a JSON format result, please add “<strong>Accept: application/json</strong>” to the <strong>Header</strong>.</p>



<h2 id="retrieve-a-user">Retrieve a user</h2>

<p>Endpoint to get information over a specific user</p>

<blockquote>
  <p><strong>GET</strong> /users/{username}</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> User</p>



<h3 id="possible-parameters-1">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-1">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/users/testuser">http://example.org:9090/plugins/restapi/v1/users/testuser</a></p>



<h2 id="create-a-user">Create a user</h2>

<p>Endpoint to create a new user</p>

<blockquote>
  <p><strong>POST</strong> /users</p>
</blockquote>

<p><strong>Payload:</strong> User <br>
<strong>Return value:</strong> HTTP status 201 (Created)</p>



<h3 id="examples-2">Examples</h3>



<h4 id="xml-examples">XML Examples</h4>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type: application/<strong>xml</strong></p>
  
  <p><strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/users">http://example.org:9090/plugins/restapi/v1/users</a></p>
</blockquote>

<p><strong>Payload Example 1 (required parameters):</strong></p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">user</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">username</span>&gt;</span>test3<span class="hljs-tag">&lt;/<span class="hljs-title">username</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">password</span>&gt;</span>p4ssword<span class="hljs-tag">&lt;/<span class="hljs-title">password</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">user</span>&gt;</span></code></pre>

<p><strong>Payload Example 2 (available parameters):</strong></p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">user</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">username</span>&gt;</span>testuser<span class="hljs-tag">&lt;/<span class="hljs-title">username</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">password</span>&gt;</span>p4ssword<span class="hljs-tag">&lt;/<span class="hljs-title">password</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">name</span>&gt;</span>Test User<span class="hljs-tag">&lt;/<span class="hljs-title">name</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">email</span>&gt;</span>test@localhost.de<span class="hljs-tag">&lt;/<span class="hljs-title">email</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">properties</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">property</span> <span class="hljs-attribute">key</span>=<span class="hljs-value">"keyname"</span> <span class="hljs-attribute">value</span>=<span class="hljs-value">"value"</span>/&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">property</span> <span class="hljs-attribute">key</span>=<span class="hljs-value">"anotherkey"</span> <span class="hljs-attribute">value</span>=<span class="hljs-value">"value"</span>/&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-title">properties</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">user</span>&gt;</span></code></pre>



<h4 id="json-examples">JSON Examples</h4>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type: application/<strong>json</strong></p>
  
  <p><strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/users">http://example.org:9090/plugins/restapi/v1/users</a></p>
</blockquote>

<p><strong>Payload Example 1 (required parameters):</strong></p>



<pre class="prettyprint"><code class=" hljs json">{
    "<span class="hljs-attribute">username</span>": <span class="hljs-value"><span class="hljs-string">"admin"</span></span>,
    "<span class="hljs-attribute">password</span>": <span class="hljs-value"><span class="hljs-string">"p4ssword"</span>
</span>}</code></pre>

<p><strong>Payload Example 2 (available parameters):</strong></p>



<pre class="prettyprint"><code class=" hljs json">{
    "<span class="hljs-attribute">username</span>": <span class="hljs-value"><span class="hljs-string">"admin"</span></span>,
    "<span class="hljs-attribute">password</span>": <span class="hljs-value"><span class="hljs-string">"p4ssword"</span></span>,
    "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Administrator"</span></span>,
    "<span class="hljs-attribute">email</span>": <span class="hljs-value"><span class="hljs-string">"admin@example.com"</span></span>,
    "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{
        "<span class="hljs-attribute">property</span>": <span class="hljs-value">[
            {
                "<span class="hljs-attribute">@key</span>": <span class="hljs-value"><span class="hljs-string">"console.rows_per_page"</span></span>,
                "<span class="hljs-attribute">@value</span>": <span class="hljs-value"><span class="hljs-string">"user-summary=8"</span>
            </span>},
            {
                "<span class="hljs-attribute">@key</span>": <span class="hljs-value"><span class="hljs-string">"console.order"</span></span>,
                "<span class="hljs-attribute">@value</span>": <span class="hljs-value"><span class="hljs-string">"session-summary=1"</span>
            </span>}
        ]
    </span>}
</span>}</code></pre>



<h2 id="delete-a-user">Delete a user</h2>

<p>Endpoint to delete a user</p>

<blockquote>
  <p><strong>DELETE</strong> /users/{username}</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>



<h3 id="possible-parameters-2">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-3">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/users/testuser">http://example.org:9090/plugins/restapi/v1/users/testuser</a></p>
</blockquote>



<h2 id="update-a-user">Update a user</h2>

<p>Endpoint to update / rename a user</p>

<blockquote>
  <p><strong>PUT</strong> /users/{username}</p>
</blockquote>

<p><strong>Payload:</strong> User <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>



<h3 id="possible-parameters-3">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-4">Examples</h3>



<h4 id="xml-example">XML Example</h4>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type application/xml</p>
  
  <p><strong>PUT</strong> <a href="http://example.org:9090/plugins/restapi/v1/users/testuser">http://example.org:9090/plugins/restapi/v1/users/testuser</a></p>
</blockquote>

<p><strong>Payload:</strong></p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">user</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">username</span>&gt;</span>testuser<span class="hljs-tag">&lt;/<span class="hljs-title">username</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">name</span>&gt;</span>Test User edit<span class="hljs-tag">&lt;/<span class="hljs-title">name</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">email</span>&gt;</span>test@edit.de<span class="hljs-tag">&lt;/<span class="hljs-title">email</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">properties</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">property</span> <span class="hljs-attribute">key</span>=<span class="hljs-value">"keyname"</span> <span class="hljs-attribute">value</span>=<span class="hljs-value">"value"</span>/&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-title">properties</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">user</span>&gt;</span></code></pre>



<h4 id="rename-example">Rename Example</h4>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type application/xml</p>
  
  <p><strong>PUT</strong> <a href="http://example.org:9090/plugins/restapi/v1/users/oldUsername">http://example.org:9090/plugins/restapi/v1/users/oldUsername</a></p>
</blockquote>

<p><strong>Payload:</strong></p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">user</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">username</span>&gt;</span>newUsername<span class="hljs-tag">&lt;/<span class="hljs-title">username</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">name</span>&gt;</span>Test User edit<span class="hljs-tag">&lt;/<span class="hljs-title">name</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">email</span>&gt;</span>test@edit.de<span class="hljs-tag">&lt;/<span class="hljs-title">email</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">properties</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">property</span> <span class="hljs-attribute">key</span>=<span class="hljs-value">"keyname"</span> <span class="hljs-attribute">value</span>=<span class="hljs-value">"value"</span>/&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-title">properties</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">user</span>&gt;</span></code></pre>



<h4 id="json-example">JSON Example</h4>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type application/json</p>
  
  <p><strong>PUT</strong> <a href="http://example.org:9090/plugins/restapi/v1/users/testuser">http://example.org:9090/plugins/restapi/v1/users/testuser</a></p>
</blockquote>

<p><strong>Payload:</strong></p>



<pre class="prettyprint"><code class=" hljs json">{
    "<span class="hljs-attribute">username</span>": <span class="hljs-value"><span class="hljs-string">"testuser"</span></span>,
    "<span class="hljs-attribute">name</span>": <span class="hljs-value"><span class="hljs-string">"Test User edit"</span></span>,
    "<span class="hljs-attribute">email</span>": <span class="hljs-value"><span class="hljs-string">"test@edit.de"</span></span>,
    "<span class="hljs-attribute">properties</span>": <span class="hljs-value">{
        "<span class="hljs-attribute">property</span>": <span class="hljs-value">{
            "<span class="hljs-attribute">@key</span>": <span class="hljs-value"><span class="hljs-string">"keyname"</span></span>,
            "<span class="hljs-attribute">@value</span>": <span class="hljs-value"><span class="hljs-string">"value"</span>
        </span>}
    </span>}
</span>}</code></pre>



<h2 id="retrieve-all-user-groups">Retrieve all user groups</h2>

<p>Endpoint to get group names of a specific user</p>

<blockquote>
  <p><strong>GET</strong> /users/{username}/groups</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Groups</p>



<h3 id="possible-parameters-4">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-5">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>GET </strong> <a href="http://example.org:9090/plugins/restapi/v1/users/testuser/groups">http://example.org:9090/plugins/restapi/v1/users/testuser/groups</a></p>
</blockquote>



<h2 id="add-user-to-groups">Add user to groups</h2>

<p>Endpoint to add user to a groups</p>

<blockquote>
  <p><strong>POST</strong> /users/{username}/groups</p>
</blockquote>

<p><strong>Payload:</strong> Groups <br>
<strong>Return value:</strong> HTTP status 201 (Created)</p>

<h3 id="possible-parameters-5">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-6">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type application/xml</p>
  
  <p><strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/users/testuser/groups">http://example.org:9090/plugins/restapi/v1/users/testuser/groups</a></p>
</blockquote>

<p><strong>Payload:</strong></p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">groups</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">groupname</span>&gt;</span>Admins<span class="hljs-tag">&lt;/<span class="hljs-title">groupname</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">groupname</span>&gt;</span>Support<span class="hljs-tag">&lt;/<span class="hljs-title">groupname</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">groups</span>&gt;</span></code></pre>



<h2 id="add-user-to-group">Add user to group</h2>

<p>Endpoint to add user to a group</p>

<blockquote>
  <p><strong>POST</strong> /users/{username}/groups/{groupName}</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 201 (Created)</p>

<h3 id="possible-parameters-6">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
<tr>
  <td>groupName</td>
  <td>@Path</td>
  <td>Exact group name</td>
  <td></td>
</tr>
</tbody></table>


<h3 id="examples-7">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type application/xml</p>
  
  <p><strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/users/testuser/groups/testGroup">http://example.org:9090/plugins/restapi/v1/users/testuser/groups/testGroup</a></p>
</blockquote>

<h2 id="delete-a-user-from-a-groups">Delete a user from a groups</h2>

<p>Endpoint to remove a user from a groups</p>

<blockquote>
  <p><strong>DELETE</strong> /users/{username}/groups</p>
</blockquote>

<p><strong>Payload:</strong> Groups <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>

<h3 id="possible-parameters-7">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-8">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type application/xml</p>
  
  <p><strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/users/testuser/groups">http://example.org:9090/plugins/restapi/v1/users/testuser/groups</a></p>
</blockquote>

<p><strong>Payload:</strong></p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">groups</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">groupname</span>&gt;</span>Admins<span class="hljs-tag">&lt;/<span class="hljs-title">groupname</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">groupname</span>&gt;</span>Support<span class="hljs-tag">&lt;/<span class="hljs-title">groupname</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">groups</span>&gt;</span></code></pre>



<h2 id="delete-a-user-from-a-group">Delete a user from a group</h2>

<p>Endpoint to remove a user from a group</p>

<blockquote>
  <p><strong>DELETE</strong> /users/{username}/groups/{groupName}</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>

<h3 id="possible-parameters-8">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
<tr>
  <td>groupName</td>
  <td>@Path</td>
  <td>Exact group name</td>
  <td></td>
</tr>
</tbody></table>


<h3 id="examples-9">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type application/xml</p>
  
  <p><strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/users/testuser/groups/testGroup">http://example.org:9090/plugins/restapi/v1/users/testuser/groups/testGroup</a></p>
</blockquote>

<h2 id="lockout-a-user">Lockout a user</h2>

<p>Endpoint to lockout / ban the user from the chat server. The user will be kicked if the user is online.</p>

<blockquote>
  <p><strong>POST</strong> /lockouts/{username}</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 201 (Created)</p>



<h3 id="possible-parameters-8">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-9">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/lockouts/testuser">http://example.org:9090/plugins/restapi/v1/lockouts/testuser</a></p>
</blockquote>



<h2 id="unlock-a-user">Unlock a user</h2>

<p>Endpoint to unlock / unban the user</p>

<blockquote>
  <p><strong>DELETE</strong> /lockouts/{username}</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>



<h3 id="possible-parameters-9">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-10">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/lockouts/testuser">http://example.org:9090/plugins/restapi/v1/lockouts/testuser</a></p>
</blockquote>



<h2 id="retrieve-user-roster">Retrieve user roster</h2>

<p>Endpoint to get roster entries (buddies) from a specific user</p>

<blockquote>
  <p><strong>GET</strong> /users/{username}/roster</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Roster</p>



<h3 id="possible-parameters-10">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-11">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>GET </strong> <a href="http://example.org:9090/plugins/restapi/v1/users/testuser/roster">http://example.org:9090/plugins/restapi/v1/users/testuser/roster</a></p>
</blockquote>



<h2 id="create-a-user-roster-entry">Create a user roster entry</h2>

<p>Endpoint to add a new roster entry to a user</p>

<blockquote>
  <p><strong>POST</strong> /users/{username}/roster</p>
</blockquote>

<p><strong>Payload:</strong> RosterItem <br>
<strong>Return value:</strong> HTTP status 201 (Created)</p>



<h3 id="possible-parameters-11">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-12">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type application/xml</p>
  
  <p><strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/users/testuser/roster">http://example.org:9090/plugins/restapi/v1/users/testuser/roster</a></p>
</blockquote>

<p><strong>Payload:</strong> <br>
Payload Example 1 (required parameters):</p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">rosterItem</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">jid</span>&gt;</span>peter@pan.de<span class="hljs-tag">&lt;/<span class="hljs-title">jid</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">rosterItem</span>&gt;</span></code></pre>

<p>Payload Example 2 (available parameters):</p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">rosterItem</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">jid</span>&gt;</span>peter@pan1.de<span class="hljs-tag">&lt;/<span class="hljs-title">jid</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">nickname</span>&gt;</span>Peter1<span class="hljs-tag">&lt;/<span class="hljs-title">nickname</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">subscriptionType</span>&gt;</span>3<span class="hljs-tag">&lt;/<span class="hljs-title">subscriptionType</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">groups</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">group</span>&gt;</span>Friends<span class="hljs-tag">&lt;/<span class="hljs-title">group</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-title">groups</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">rosterItem</span>&gt;</span></code></pre>



<h2 id="delete-a-user-roster-entry">Delete a user roster entry</h2>

<p>Endpoint to remove a roster entry from a user</p>

<blockquote>
  <p><strong>DELETE</strong> /users/{username}/roster/{jid}</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>



<h3 id="possible-parameters-12">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
<tr>
  <td>jid</td>
  <td>@Path</td>
  <td>JID of the roster item</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-13">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/users/testuser/roster/peter@pan.de">http://example.org:9090/plugins/restapi/v1/users/testuser/roster/peter@pan.de</a></p>
</blockquote>



<h2 id="update-a-user-roster-entry">Update a user roster entry</h2>

<p>Endpoint to update a roster entry</p>

<blockquote>
  <p><strong>PUT</strong> /users/{username}/roster/{jid}</p>
</blockquote>

<p><strong>Payload:</strong> RosterItem <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>



<h3 id="possible-parameters-13">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
<tr>
  <td>jid</td>
  <td>@Path</td>
  <td>JID of the roster item</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-14">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type application/xml</p>
  
  <p><strong>PUT</strong> <a href="http://example.org:9090/plugins/restapi/v1/users/testuser/roster/peter@pan.de">http://example.org:9090/plugins/restapi/v1/users/testuser/roster/peter@pan.de</a></p>
</blockquote>

<p><strong>Payload:</strong></p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">rosterItem</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">jid</span>&gt;</span>peter@pan.de<span class="hljs-tag">&lt;/<span class="hljs-title">jid</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">nickname</span>&gt;</span>Peter Pan<span class="hljs-tag">&lt;/<span class="hljs-title">nickname</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">subscriptionType</span>&gt;</span>0<span class="hljs-tag">&lt;/<span class="hljs-title">subscriptionType</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">groups</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">group</span>&gt;</span>Support<span class="hljs-tag">&lt;/<span class="hljs-title">group</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-title">groups</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">rosterItem</span>&gt;</span></code></pre>



<h1 id="chat-room-related-rest-endpoints">Chat room related REST Endpoints</h1>



<h2 id="retrieve-all-chat-rooms">Retrieve all chat rooms</h2>

<p>Endpoint to get all chat rooms</p>

<blockquote>
  <p><strong>GET</strong> /chatrooms</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Chatrooms</p>



<h3 id="possible-parameters-14">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>servicename</td>
  <td>@QueryParam</td>
  <td>The name of the Group Chat Service</td>
  <td>conference</td>
</tr>
<tr>
  <td>type</td>
  <td>@QueryParam</td>
  <td><strong>public:</strong> Only as List Room in Directory set rooms <br> <strong>all:</strong> All rooms.</td>
  <td>public</td>
</tr>
<tr>
  <td>search</td>
  <td>@QueryParam</td>
  <td>Search/Filter by room name. <br> This act like the wildcard search %String%</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-15">Examples</h3>

<blockquote>
  <p><strong>Header</strong>: Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms">http://example.org:9090/plugins/restapi/v1/chatrooms</a> <br>
  <strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms?type=all">http://example.org:9090/plugins/restapi/v1/chatrooms?type=all</a> <br>
  <strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms?type=all&amp;servicename=privateconf">http://example.org:9090/plugins/restapi/v1/chatrooms?type=all&amp;servicename=privateconf</a> <br>
  <strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms?search=test">http://example.org:9090/plugins/restapi/v1/chatrooms?search=test</a></p>
</blockquote>



<h2 id="retrieve-a-chat-room">Retrieve a chat room</h2>

<p>Endpoint to get information over specific chat room</p>

<blockquote>
  <p><strong>GET</strong> /chatrooms<span>/{roomName}</span></p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Chatroom</p>



<h3 id="possible-parameters-15">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>roomname</td>
  <td>@Path</td>
  <td>Exact room name</td>
  <td></td>
</tr>
<tr>
  <td>servicename</td>
  <td>@QueryParam</td>
  <td>The name of the Group Chat Service</td>
  <td>conference</td>
</tr>
</tbody></table>




<h3 id="examples-16">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/test">http://example.org:9090/plugins/restapi/v1/chatrooms/test</a> <br>
  <strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/test?servicename=privateconf">http://example.org:9090/plugins/restapi/v1/chatrooms/test?servicename=privateconf</a></p>
</blockquote>



<h2 id="retrieve-chat-room-participants">Retrieve chat room participants</h2>

<p>Endpoint to get all participants with a role of specified room.</p>

<blockquote>
  <p><strong>GET</strong> /chatrooms/{roomName}/participants</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Participants</p>



<h3 id="possible-parameters-16">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>roomname</td>
  <td>@Path</td>
  <td>Exact room name</td>
  <td></td>
</tr>
<tr>
  <td>servicename</td>
  <td>@QueryParam</td>
  <td>The name of the Group Chat Service</td>
  <td>conference</td>
</tr>
</tbody></table>




<h3 id="examples-17">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/room1/participants">http://example.org:9090/plugins/restapi/v1/chatrooms/room1/participants</a></p>
</blockquote>



<h2 id="create-a-chat-room">Create a chat room</h2>

<p>Endpoint to create a new chat room.</p>

<blockquote>
  <p><strong>POST</strong> /chatrooms</p>
</blockquote>

<p><strong>Payload:</strong> Chatroom <br>
<strong>Return value:</strong> HTTP status 201 (Created)</p>



<h3 id="possible-parameters-17">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>servicename</td>
  <td>@QueryParam</td>
  <td>The name of the Group Chat Service</td>
  <td>conference</td>
</tr>
</tbody></table>




<h3 id="xml-examples-1">XML Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type: application/xml</p>
  
  <p><strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms">http://example.org:9090/plugins/restapi/v1/chatrooms</a></p>
</blockquote>

<p><strong>Payload Example 1 (required parameters):</strong></p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-tag">&lt;<span class="hljs-title">chatRoom</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">naturalName</span>&gt;</span>global-1<span class="hljs-tag">&lt;/<span class="hljs-title">naturalName</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">roomName</span>&gt;</span>global<span class="hljs-tag">&lt;/<span class="hljs-title">roomName</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">description</span>&gt;</span>Global Chat Room<span class="hljs-tag">&lt;/<span class="hljs-title">description</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">chatRoom</span>&gt;</span></code></pre>

<p><strong>Payload Example 2 (available parameters):</strong></p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-tag">&lt;<span class="hljs-title">chatRoom</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">roomName</span>&gt;</span>global<span class="hljs-tag">&lt;/<span class="hljs-title">roomName</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">naturalName</span>&gt;</span>global-2<span class="hljs-tag">&lt;/<span class="hljs-title">naturalName</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">description</span>&gt;</span>Global Chat Room<span class="hljs-tag">&lt;/<span class="hljs-title">description</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">subject</span>&gt;</span>global-2 Subject<span class="hljs-tag">&lt;/<span class="hljs-title">subject</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">creationDate</span>&gt;</span>2014-02-12T15:52:37.592+01:00<span class="hljs-tag">&lt;/<span class="hljs-title">creationDate</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">modificationDate</span>&gt;</span>2014-09-12T15:35:54.702+02:00<span class="hljs-tag">&lt;/<span class="hljs-title">modificationDate</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">maxUsers</span>&gt;</span>0<span class="hljs-tag">&lt;/<span class="hljs-title">maxUsers</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">persistent</span>&gt;</span>true<span class="hljs-tag">&lt;/<span class="hljs-title">persistent</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">publicRoom</span>&gt;</span>true<span class="hljs-tag">&lt;/<span class="hljs-title">publicRoom</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">registrationEnabled</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">registrationEnabled</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">canAnyoneDiscoverJID</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">canAnyoneDiscoverJID</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">canOccupantsChangeSubject</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">canOccupantsChangeSubject</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">canOccupantsInvite</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">canOccupantsInvite</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">canChangeNickname</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">canChangeNickname</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">logEnabled</span>&gt;</span>true<span class="hljs-tag">&lt;/<span class="hljs-title">logEnabled</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">loginRestrictedToNickname</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">loginRestrictedToNickname</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">membersOnly</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">membersOnly</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">moderated</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">moderated</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">broadcastPresenceRoles</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">broadcastPresenceRole</span>&gt;</span>moderator<span class="hljs-tag">&lt;/<span class="hljs-title">broadcastPresenceRole</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">broadcastPresenceRole</span>&gt;</span>participant<span class="hljs-tag">&lt;/<span class="hljs-title">broadcastPresenceRole</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">broadcastPresenceRole</span>&gt;</span>visitor<span class="hljs-tag">&lt;/<span class="hljs-title">broadcastPresenceRole</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-title">broadcastPresenceRoles</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">owners</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">owner</span>&gt;</span>owner@localhost<span class="hljs-tag">&lt;/<span class="hljs-title">owner</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-title">owners</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">admins</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">admin</span>&gt;</span>admin@localhost<span class="hljs-tag">&lt;/<span class="hljs-title">admin</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-title">admins</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">members</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">member</span>&gt;</span>member2@localhost<span class="hljs-tag">&lt;/<span class="hljs-title">member</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">member</span>&gt;</span>member1@localhost<span class="hljs-tag">&lt;/<span class="hljs-title">member</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-title">members</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">outcasts</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">outcast</span>&gt;</span>outcast1@localhost<span class="hljs-tag">&lt;/<span class="hljs-title">outcast</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-title">outcasts</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">chatRoom</span>&gt;</span></code></pre>



<h3 id="json-examples-1">JSON Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type: application/json</p>
  
  <p><strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms">http://example.org:9090/plugins/restapi/v1/chatrooms</a></p>
</blockquote>

<p><strong>Payload Example 1 (required parameters):</strong></p>



<pre class="prettyprint"><code class=" hljs json">{
    "<span class="hljs-attribute">roomName</span>": <span class="hljs-value"><span class="hljs-string">"global"</span></span>,
    "<span class="hljs-attribute">naturalName</span>": <span class="hljs-value"><span class="hljs-string">"global-2"</span></span>,
    "<span class="hljs-attribute">description</span>": <span class="hljs-value"><span class="hljs-string">"Global chat room"</span>
</span>}</code></pre>

<p><strong>Payload Example 2 (available parameters):</strong></p>



<pre class="prettyprint"><code class=" hljs autohotkey"><span class="hljs-escape">``</span><span class="hljs-escape">`
</span>{
    <span class="hljs-string">"roomName"</span>: <span class="hljs-string">"global-1"</span>,
    <span class="hljs-string">"naturalName"</span>: <span class="hljs-string">"global-1_test_hello"</span>,
    <span class="hljs-string">"description"</span>: <span class="hljs-string">"Global chat room"</span>,
    <span class="hljs-string">"subject"</span>: <span class="hljs-string">"Global chat room subject"</span>,
    <span class="hljs-string">"creationDate"</span>: <span class="hljs-string">"2012-10-18T16:55:12.803+02:00"</span>,
    <span class="hljs-string">"modificationDate"</span>: <span class="hljs-string">"2014-07-10T09:49:12.411+02:00"</span>,
    <span class="hljs-string">"maxUsers"</span>: <span class="hljs-string">"0"</span>,
    <span class="hljs-string">"persistent"</span>: <span class="hljs-string">"true"</span>,
    <span class="hljs-string">"publicRoom"</span>: <span class="hljs-string">"true"</span>,
    <span class="hljs-string">"registrationEnabled"</span>: <span class="hljs-string">"false"</span>,
    <span class="hljs-string">"canAnyoneDiscoverJID"</span>: <span class="hljs-string">"true"</span>,
    <span class="hljs-string">"canOccupantsChangeSubject"</span>: <span class="hljs-string">"false"</span>,
    <span class="hljs-string">"canOccupantsInvite"</span>: <span class="hljs-string">"false"</span>,
    <span class="hljs-string">"canChangeNickname"</span>: <span class="hljs-string">"false"</span>,
    <span class="hljs-string">"logEnabled"</span>: <span class="hljs-string">"true"</span>,
    <span class="hljs-string">"loginRestrictedToNickname"</span>: <span class="hljs-string">"true"</span>,
    <span class="hljs-string">"membersOnly"</span>: <span class="hljs-string">"false"</span>,
    <span class="hljs-string">"moderated"</span>: <span class="hljs-string">"false"</span>,
    <span class="hljs-string">"broadcastPresenceRoles"</span>: {
        <span class="hljs-string">"broadcastPresenceRole"</span>: [
            <span class="hljs-string">"moderator"</span>,
            <span class="hljs-string">"participant"</span>,
            <span class="hljs-string">"visitor"</span>
        ]
    },
    <span class="hljs-string">"owners"</span>: {
        <span class="hljs-string">"owner"</span>: <span class="hljs-string">"owner@localhost"</span>
    },
    <span class="hljs-string">"admins"</span>: {
        <span class="hljs-string">"admin"</span>: [
            <span class="hljs-string">"admin@localhost"</span>,
            <span class="hljs-string">"admin2@localhost"</span>
        ]
    },
    <span class="hljs-string">"members"</span>: {
        <span class="hljs-string">"member"</span>: [
            <span class="hljs-string">"member@localhost"</span>,
            <span class="hljs-string">"member2@localhost"</span>
        ]
    },
    <span class="hljs-string">"outcasts"</span>: {
        <span class="hljs-string">"outcast"</span>: [
            <span class="hljs-string">"outcast@localhost"</span>,
            <span class="hljs-string">"outcast2@localhost"</span>
        ]
    }
}</code></pre>

<h2 id="delete-a-chat-room">Delete a chat room</h2>

<p>Endpoint to delete a chat room.</p>

<blockquote>
  <p><strong>DELETE</strong> /chatrooms/{roomName}</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>



<h3 id="possible-parameters-17">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>roomname</td>
  <td>@Path</td>
  <td>Exact room name</td>
  <td></td>
</tr>
<tr>
  <td>servicename</td>
  <td>@QueryParam</td>
  <td>The name of the Group Chat Service</td>
  <td>conference</td>
</tr>
</tbody></table>




<h3 id="examples-17">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/testroom">http://example.org:9090/plugins/restapi/v1/chatrooms/testroom</a> <br>
  <strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/testroom?servicename=privateconf">http://example.org:9090/plugins/restapi/v1/chatrooms/testroom?servicename=privateconf</a></p>
</blockquote>



<h2 id="update-a-chat-room">Update a chat room</h2>

<p>Endpoint to update a chat room.</p>

<blockquote>
  <p><strong>PUT</strong> /chatrooms/{roomName}</p>
</blockquote>

<p><strong>Payload:</strong> Chatroom <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>



<h3 id="possible-parameters-18">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>roomname</td>
  <td>@Path</td>
  <td>Exact room name</td>
  <td></td>
</tr>
<tr>
  <td>servicename</td>
  <td>@QueryParam</td>
  <td>The name of the Group Chat Service</td>
  <td>conference</td>
</tr>
</tbody></table>




<h3 id="examples-18">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type application/xml</p>
  
  <p><strong>PUT</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/global">http://example.org:9090/plugins/restapi/v1/chatrooms/global</a></p>
</blockquote>

<p><strong>Payload:</strong></p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-tag">&lt;<span class="hljs-title">chatRoom</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">roomName</span>&gt;</span>global<span class="hljs-tag">&lt;/<span class="hljs-title">roomName</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">naturalName</span>&gt;</span>global-2<span class="hljs-tag">&lt;/<span class="hljs-title">naturalName</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">description</span>&gt;</span>Global Chat Room edit<span class="hljs-tag">&lt;/<span class="hljs-title">description</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">subject</span>&gt;</span>New subject<span class="hljs-tag">&lt;/<span class="hljs-title">subject</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">password</span>&gt;</span>test<span class="hljs-tag">&lt;/<span class="hljs-title">password</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">creationDate</span>&gt;</span>2014-02-12T15:52:37.592+01:00<span class="hljs-tag">&lt;/<span class="hljs-title">creationDate</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">modificationDate</span>&gt;</span>2014-09-12T14:20:56.286+02:00<span class="hljs-tag">&lt;/<span class="hljs-title">modificationDate</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">maxUsers</span>&gt;</span>0<span class="hljs-tag">&lt;/<span class="hljs-title">maxUsers</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">persistent</span>&gt;</span>true<span class="hljs-tag">&lt;/<span class="hljs-title">persistent</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">publicRoom</span>&gt;</span>true<span class="hljs-tag">&lt;/<span class="hljs-title">publicRoom</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">registrationEnabled</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">registrationEnabled</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">canAnyoneDiscoverJID</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">canAnyoneDiscoverJID</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">canOccupantsChangeSubject</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">canOccupantsChangeSubject</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">canOccupantsInvite</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">canOccupantsInvite</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">canChangeNickname</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">canChangeNickname</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">logEnabled</span>&gt;</span>true<span class="hljs-tag">&lt;/<span class="hljs-title">logEnabled</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">loginRestrictedToNickname</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">loginRestrictedToNickname</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">membersOnly</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">membersOnly</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">moderated</span>&gt;</span>false<span class="hljs-tag">&lt;/<span class="hljs-title">moderated</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">broadcastPresenceRoles</span>/&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">owners</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">owner</span>&gt;</span>owner@localhost<span class="hljs-tag">&lt;/<span class="hljs-title">owner</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-title">owners</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">admins</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">admin</span>&gt;</span>admin@localhost<span class="hljs-tag">&lt;/<span class="hljs-title">admin</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-title">admins</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">members</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">member</span>&gt;</span>member2@localhost<span class="hljs-tag">&lt;/<span class="hljs-title">member</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">member</span>&gt;</span>member1@localhost<span class="hljs-tag">&lt;/<span class="hljs-title">member</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-title">members</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">outcasts</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-title">outcast</span>&gt;</span>outcast1@localhost<span class="hljs-tag">&lt;/<span class="hljs-title">outcast</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-title">outcasts</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">chatRoom</span>&gt;</span></code></pre>



<h2 id="add-user-with-role-to-chat-room">Add user with role to chat room</h2>

<p>Endpoint to add a new user with role to a room.</p>

<blockquote>
  <p><strong>POST</strong> /chatrooms/{roomName}/{roles}/{name}</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 201 (Created)</p>



<h3 id="possible-parameters-19">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>roomname</td>
  <td>@Path</td>
  <td>Exact room name</td>
  <td></td>
</tr>
<tr>
  <td>name</td>
  <td>@Path</td>
  <td>The local username or the user JID</td>
  <td></td>
</tr>
<tr>
  <td>roles</td>
  <td>@Path</td>
  <td>Available roles: <br><strong>owners</strong>  <br> <strong>admins</strong> <br> <strong>members</strong> <br> <strong>outcasts</strong></td>
  <td></td>
</tr>
<tr>
  <td>servicename</td>
  <td>@QueryParam</td>
  <td>The name of the Group Chat Service</td>
  <td>conference</td>
</tr>
</tbody></table>




<h3 id="examples-19">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type application/xml</p>
  
  <p><strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/global/owners/testUser">http://example.org:9090/plugins/restapi/v1/chatrooms/global/owners/testUser</a> <br>
  <strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/global/owners/testUser@openfire.com">http://example.org:9090/plugins/restapi/v1/chatrooms/global/owners/testUser@openfire.com</a> <br>
  <strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/global/admins/testUser">http://example.org:9090/plugins/restapi/v1/chatrooms/global/admins/testUser</a> <br>
  <strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/global/members/testUser">http://example.org:9090/plugins/restapi/v1/chatrooms/global/members/testUser</a> <br>
  <strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/global/outcasts/testUser">http://example.org:9090/plugins/restapi/v1/chatrooms/global/outcasts/testUser</a> <br>
  <strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/global/owners/testUser?servicename=privateconf">http://example.org:9090/plugins/restapi/v1/chatrooms/global/owners/testUser?servicename=privateconf</a></p>
</blockquote>



<h2 id="delete-a-user-from-a-chat-room">Delete a user from a chat room</h2>

<p>Endpoint to remove a room user role. <br>
DELETE /chatrooms/{roomName}/{roles}/{name}</p>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>



<h3 id="possible-parameters-20">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>roomname</td>
  <td>@Path</td>
  <td>Exact room name</td>
  <td></td>
</tr>
<tr>
  <td>name</td>
  <td>@Path</td>
  <td>The local username or the user JID</td>
  <td></td>
</tr>
<tr>
  <td>roles</td>
  <td>@Path</td>
  <td>Available roles: <br><strong>owners</strong>  <br> <strong>admins</strong> <br> <strong>members</strong> <br> <strong>outcasts</strong></td>
  <td></td>
</tr>
<tr>
  <td>servicename</td>
  <td>@QueryParam</td>
  <td>The name of the Group Chat Service</td>
  <td>conference</td>
</tr>
</tbody></table>




<h3 id="examples-20">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type application/xml</p>
  
  <p><strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/global/owners/testUser">http://example.org:9090/plugins/restapi/v1/chatrooms/global/owners/testUser</a> <br>
  <strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/global/owners/testUser@openfire.com">http://example.org:9090/plugins/restapi/v1/chatrooms/global/owners/testUser@openfire.com</a> <br>
  <strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/global/admins/testUser">http://example.org:9090/plugins/restapi/v1/chatrooms/global/admins/testUser</a> <br>
  <strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/global/members/testUser">http://example.org:9090/plugins/restapi/v1/chatrooms/global/members/testUser</a> <br>
  <strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/global/outcasts/testUser">http://example.org:9090/plugins/restapi/v1/chatrooms/global/outcasts/testUser</a> <br>
  <strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/chatrooms/global/owners/testUser?servicename=privateconf">http://example.org:9090/plugins/restapi/v1/chatrooms/global/owners/testUser?servicename=privateconf</a></p>
</blockquote>



<h1 id="system-related-rest-endpoints">System related REST Endpoints</h1>



<h2 id="retrieve-all-system-properties">Retrieve all system properties</h2>

<p>Endpoint to get all system properties</p>

<blockquote>
  <p><strong>GET</strong> /system/properties</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> System properties</p>



<h3 id="examples-21">Examples</h3>

<blockquote>
  <p><strong>Header</strong>: Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/system/properties">http://example.org:9090/plugins/restapi/v1/system/properties</a></p>
</blockquote>



<h2 id="retrieve-system-property">Retrieve system property</h2>

<p>Endpoint to get information over specific system property</p>

<blockquote>
  <p><strong>GET</strong> /system/properties/{propertyName}</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> System property</p>



<h3 id="possible-parameters-21">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>propertyName</td>
  <td>@Path</td>
  <td>The name of system property</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-22">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/system/properties/xmpp.domain">http://example.org:9090/plugins/restapi/v1/system/properties/xmpp.domain</a></p>



<h2 id="create-a-system-property">Create a system property</h2>

<p>Endpoint to create a system property</p>

<blockquote>
  <p><strong>POST</strong> system/properties</p>
</blockquote>

<p><strong>Payload:</strong> System Property <br>
<strong>Return value:</strong> HTTP status 201 (Created)</p>



<h3 id="examples-23">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type: application/xml</p>
  
  <p><strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/system/properties">http://example.org:9090/plugins/restapi/v1/system/properties</a></p>
</blockquote>

<p><strong>Payload Example:</strong></p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">property</span> <span class="hljs-attribute">key</span>=<span class="hljs-value">"propertyName"</span> <span class="hljs-attribute">value</span>=<span class="hljs-value">"propertyValue"</span>/&gt;</span></code></pre>



<h2 id="delete-a-system-property">Delete a system property</h2>

<p>Endpoint to delete a system property</p>

<blockquote>
  <p><strong>DELETE</strong> /system/properties/{propertyName}</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>



<h3 id="possible-parameters-22">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>propertyName</td>
  <td>@Path</td>
  <td>The name of system property</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-24">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/system/properties/propertyName">http://example.org:9090/plugins/restapi/v1/system/properties/propertyName</a></p>
</blockquote>



<h2 id="update-a-system-property">Update a system property</h2>

<p>Endpoint to update / overwrite a system property</p>

<blockquote>
  <p><strong>PUT</strong> /system/properties/{propertyName}</p>
</blockquote>

<p><strong>Payload:</strong> System property <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>



<h3 id="possible-parameters-23">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>propertyName</td>
  <td>@Path</td>
  <td>The name of system property</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-25">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type application/xml</p>
  
  <p><strong>PUT</strong> <a href="http://example.org:9090/plugins/restapi/v1/system/properties/propertyName">http://example.org:9090/plugins/restapi/v1/system/properties/propertyName</a></p>
</blockquote>

<p><strong>Payload:</strong></p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">property</span> <span class="hljs-attribute">key</span>=<span class="hljs-value">"propertyName"</span> <span class="hljs-attribute">value</span>=<span class="hljs-value">"anotherValue"</span>/&gt;</span></code></pre>



<h2 id="retrieve-concurrent-sessions">Retrieve concurrent sessions</h2>

<p>Endpoint to get count of concurrent sessions</p>

<blockquote>
  <p><strong>GET</strong> /system/statistics/sessions</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Sessions count</p>



<h3 id="examples-26">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/system/statistics/sessions">http://example.org:9090/plugins/restapi/v1/system/statistics/sessions</a></p>



<h1 id="group-related-rest-endpoints">Group related REST Endpoints</h1>



<h2 id="retrieve-all-groups">Retrieve all groups</h2>

<p>Endpoint to get all groups</p>

<blockquote>
  <p><strong>GET</strong> /groups</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Groups</p>



<h3 id="examples-27">Examples</h3>

<blockquote>
  <p><strong>Header</strong>: Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/groups">http://example.org:9090/plugins/restapi/v1/groups</a></p>
</blockquote>



<h2 id="retrieve-a-group">Retrieve a group</h2>

<p>Endpoint to get information over specific group</p>

<blockquote>
  <p><strong>GET</strong> /groups/{groupName}</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Group</p>



<h3 id="possible-parameters-24">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>groupName</td>
  <td>@Path</td>
  <td>The name of the group</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-28">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/groups/moderators">http://example.org:9090/plugins/restapi/v1/groups/moderators</a></p>



<h2 id="create-a-group">Create a group</h2>

<p>Endpoint to create a new group</p>

<blockquote>
  <p><strong>POST</strong> /groups</p>
</blockquote>

<p><strong>Payload:</strong> Group <br>
<strong>Return value:</strong> HTTP status 201 (Created)</p>



<h3 id="examples-29">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type: application/xml</p>
  
  <p><strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/groups">http://example.org:9090/plugins/restapi/v1/groups</a></p>
</blockquote>

<p><strong>Payload Example:</strong></p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">group</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">name</span>&gt;</span>GroupName<span class="hljs-tag">&lt;/<span class="hljs-title">name</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">description</span>&gt;</span>Some description<span class="hljs-tag">&lt;/<span class="hljs-title">description</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">group</span>&gt;</span></code></pre>



<h2 id="delete-a-group">Delete a group</h2>

<p>Endpoint to delete a group</p>

<blockquote>
  <p><strong>DELETE</strong> /groups/{groupName}</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>



<h3 id="possible-parameters-25">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>groupName</td>
  <td>@Path</td>
  <td>The name of the group</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-30">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/groups/groupToDelete">http://example.org:9090/plugins/restapi/v1/groups/groupToDelete</a></p>
</blockquote>



<h2 id="update-a-group">Update a group</h2>

<p>Endpoint to update / overwrite a group</p>

<blockquote>
  <p><strong>PUT</strong> /groups/{groupName}</p>
</blockquote>

<p><strong>Payload:</strong> Group <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>



<h3 id="possible-parameters-26">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>groupName</td>
  <td>@Path</td>
  <td>The name of the group</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-31">Examples</h3>

<blockquote>
  <p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
  <strong>Header:</strong> Content-Type application/xml</p>
  
  <p><strong>PUT</strong> <a href="http://example.org:9090/plugins/restapi/v1/groups/groupNameToUpdate">http://example.org:9090/plugins/restapi/v1/groups/groupNameToUpdate</a></p>
</blockquote>

<p><strong>Payload:</strong></p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">group</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">name</span>&gt;</span>groupNameToUpdate<span class="hljs-tag">&lt;/<span class="hljs-title">name</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">description</span>&gt;</span>New description<span class="hljs-tag">&lt;/<span class="hljs-title">description</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">group</span>&gt;</span></code></pre>



<h1 id="session-related-rest-endpoints">Session related REST Endpoints</h1>



<h2 id="retrieve-all-user-session">Retrieve all user session</h2>

<p>Endpoint to get all user sessions</p>

<blockquote>
  <p><strong>GET</strong> /sessions</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Sessions</p>



<h3 id="examples-32">Examples</h3>

<blockquote>
  <p><strong>Header</strong>: Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/sessions">http://example.org:9090/plugins/restapi/v1/sessions</a></p>
</blockquote>



<h2 id="retrieve-the-user-sessions">Retrieve the user sessions</h2>

<p>Endpoint to get sessions from a user</p>

<blockquote>
  <p><strong>GET</strong> /sessions/{username}</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Sessions</p>



<h3 id="possible-parameters-27">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>The username of the user</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-33">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>GET</strong> <a href="http://example.org:9090/plugins/restapi/v1/sessions/testuser">http://example.org:9090/plugins/restapi/v1/sessions/testuser</a></p>



<h2 id="close-all-user-sessions">Close all user sessions</h2>

<p>Endpoint to close/kick sessions from a user</p>

<blockquote>
  <p><strong>DELETE</strong> /sessions/{username}</p>
</blockquote>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>



<h3 id="possible-parameters-28">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>The username of the user</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-34">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>DELETE</strong> <a href="http://example.org:9090/plugins/restapi/v1/sessions/testuser">http://example.org:9090/plugins/restapi/v1/sessions/testuser</a></p>



<h1 id="message-related-rest-endpoints">Message related REST Endpoints</h1>



<h2 id="send-a-broadcast-message">Send a broadcast message</h2>

<p>Endpoint to send a broadcast/server message to all online users</p>

<blockquote>
  <p><strong>POST</strong> /messages/users</p>
</blockquote>

<p><strong>Payload:</strong> Message <br>
<strong>Return value:</strong> HTTP status 201 (Created)</p>



<h3 id="examples-35">Examples</h3>

<blockquote>
  <p><strong>Header</strong>: Authorization: Basic YWRtaW46MTIzNDU=</p>
  
  <p><strong>POST</strong> <a href="http://example.org:9090/plugins/restapi/v1/messages/users">http://example.org:9090/plugins/restapi/v1/messages/users</a></p>
</blockquote>

<p><strong>Payload:</strong></p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi">&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-title">message</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">body</span>&gt;</span>Your message<span class="hljs-tag">&lt;/<span class="hljs-title">body</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">message</span>&gt;</span></code></pre>



<h1 id="deprecated-user-service-plugin-readme">(Deprecated) User Service Plugin Readme</h1>



<h2 id="overview">Overview</h2>

<p>The User Service Plugin provides the ability to add,edit,delete users and manage their rosters by sending an http request to the server. It is intended to be used by applications automating the user administration process. This plugin’s functionality is useful for applications that need to administer users outside of the Openfire admin console. An example of such an application might be a live sports reporting application that uses XMPP as its transport, and creates/deletes users according to the receipt, or non receipt, of a subscription fee.</p>



<h2 id="installation-1">Installation</h2>

<p>Copy userservice.jar into the plugins directory of your Openfire server. The plugin will then be automatically deployed. To upgrade to a new version, copy the new userservice.jar file over the existing file.</p>



<h2 id="configuration">Configuration</h2>

<p>Access to the service is restricted with a “secret” that can be viewed and set from the User Service page in the Openfire admin console. This page is located on the admin console under “Server” and then “Server Settings”. This should really only be considered weak security. The plugin was initially written with the assumption that http access to the Openfire service was only available to trusted machines. In the case of the plugin’s author, a web application running on the same server as Openfire makes the request.</p>



<h2 id="using-the-plugin">Using the Plugin</h2>

<p>To administer users, submit HTTP requests to the userservice service. The service address is [hostname]plugins/restapi/userservice. For example, if your server name is “example.com”, the URL is <a href="http://example.com/plugins/restapi/userservice">http://example.com/plugins/restapi/userservice</a></p>

<p>The following parameters can be passed into the request:</p>

<table>
<thead>
<tr>
  <th>Name</th>
  <th></th>
  <th>Description</th>
</tr>
</thead>
<tbody><tr>
  <td>type</td>
  <td>Required</td>
  <td>The admin service required. Possible values are ‘add’, ‘delete’, ‘update’, ‘enable’, ‘disable’, ‘add_roster’, ‘update_roster’, ‘delete_roster’, ‘grouplist’, ‘usergrouplist’.</td>
</tr>
<tr>
  <td>secret</td>
  <td>Required</td>
  <td>The secret key that allows access to the User Service.</td>
</tr>
<tr>
  <td>username</td>
  <td>Required</td>
  <td>The username of the user to ‘add’, ‘delete’, ‘update’, ‘enable’, ‘disable’, ‘add_roster’, ‘update_roster’, ‘delete_roster’. ie the part before the @ symbol.</td>
</tr>
<tr>
  <td>password</td>
  <td>Required for ‘add’ operation</td>
  <td>The password of the new user or the user being updated.</td>
</tr>
<tr>
  <td>name</td>
  <td>Optional</td>
  <td>The display name of the new user or the user being updated. For ‘add_roster’, ‘update_roster’ operations specifies the nickname of the roster item.</td>
</tr>
<tr>
  <td>email</td>
  <td>Optional</td>
  <td>The email address of the new user or the user being updated.</td>
</tr>
<tr>
  <td>groups</td>
  <td>Optional</td>
  <td>List of groups where the user is a member. Values are comma delimited. When used with types “add” or “update”, it adds the user to shared groups and auto-creates new groups. When used with ‘add_roster’ and ‘update_roster’, it adds the user to roster groups provided the group name does not clash with an existing shared group.</td>
</tr>
<tr>
  <td>item_jid</td>
  <td>Required for ‘add_roster’, ‘update_roster’, ‘delete_roster’ operations.</td>
  <td>The JID of the roster item</td>
</tr>
<tr>
  <td>subscription</td>
  <td>Optional</td>
  <td>Type of subscription for ‘add_roster’, ‘update_roster’ operations. Possible numeric values are: -1(remove), 0(none), 1(to), 2(from), 3(both).</td>
</tr>
</tbody></table>




<h2 id="sample-html">Sample HTML</h2>

<p>The following example adds a user</p>

<p><a href="http://example.com:9090/plugins/restapi/userservice?type=add&amp;secret=bigsecret&amp;username=kafka&amp;password=drowssap&amp;name=franz&amp;email=franz@kafka.com">http://example.com:9090/plugins/restapi/userservice?type=add&amp;secret=bigsecret&amp;username=kafka&amp;password=drowssap&amp;name=franz&amp;email=franz@kafka.com</a></p>

<p>The following example adds a user, adds two shared groups (if not existing) and adds the user to both groups.</p>

<p><a href="http://example.com:9090/plugins/restapi/userservice?type=add&amp;secret=bigsecret&amp;username=kafka&amp;password=drowssap&amp;name=franz&amp;email=franz@kafka.com&amp;groups=support,finance">http://example.com:9090/plugins/restapi/userservice?type=add&amp;secret=bigsecret&amp;username=kafka&amp;password=drowssap&amp;name=franz&amp;email=franz@kafka.com&amp;groups=support,finance</a></p>

<p>The following example deletes a user and all roster items of the user.</p>

<p><a href="http://example.com:9090/plugins/restapi/userservice?type=delete&amp;secret=bigsecret&amp;username=kafka">http://example.com:9090/plugins/restapi/userservice?type=delete&amp;secret=bigsecret&amp;username=kafka</a></p>

<p>The following example disables a user (lockout)</p>

<p><a href="http://example.com:9090/plugins/restapi/userservice?type=disable&amp;secret=bigsecret&amp;username=kafka">http://example.com:9090/plugins/restapi/userservice?type=disable&amp;secret=bigsecret&amp;username=kafka</a></p>

<p>The following example enables a user (removes lockout)</p>

<p><a href="http://example.com:9090/plugins/restapi/userservice?type=enable&amp;secret=bigsecret&amp;username=kafka">http://example.com:9090/plugins/restapi/userservice?type=enable&amp;secret=bigsecret&amp;username=kafka</a></p>

<p>The following example updates a user</p>

<p><a href="http://example.com:9090/plugins/restapi/userservice?type=update&amp;secret=bigsecret&amp;username=kafka&amp;password=drowssap&amp;name=franz&amp;email=beetle@kafka.com">http://example.com:9090/plugins/restapi/userservice?type=update&amp;secret=bigsecret&amp;username=kafka&amp;password=drowssap&amp;name=franz&amp;email=beetle@kafka.com</a></p>

<p>The following example adds new roster item with subscription ‘both’ for user ‘kafka’</p>

<p><a href="http://example.com:9090/plugins/restapi/userservice?type=add_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com&amp;name=franz&amp;subscription=3">http://example.com:9090/plugins/restapi/userservice?type=add_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com&amp;name=franz&amp;subscription=3</a></p>

<p>The following example adds new roster item with subscription ‘both’ for user ‘kafka’ and adds kafka to roster groups ‘family’ and ‘friends’</p>

<p><a href="http://example.com:9090/plugins/restapi/userservice?type=add_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com&amp;name=franz&amp;subscription=3&amp;groups=family,friends">http://example.com:9090/plugins/restapi/userservice?type=add_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com&amp;name=franz&amp;subscription=3&amp;groups=family,friends</a></p>

<p>The following example updates existing roster item to subscription ‘none’ for user ‘kafka’</p>

<p><a href="http://example.com:9090/plugins/restapi/userservice?type=update_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com&amp;name=franz&amp;subscription=0">http://example.com:9090/plugins/restapi/userservice?type=update_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com&amp;name=franz&amp;subscription=0</a></p>

<p>The following example deletes a specific roster item ‘franz@kafka.com’ for user ‘kafka’</p>

<p><a href="http://example.com:9090/plugins/restapi/userservice?type=delete_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com">http://example.com:9090/plugins/restapi/userservice?type=delete_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com</a></p>

<p>The following example gets all groups</p>

<p><a href="http://example.com:9090/plugins/restapi/userservice?type=grouplist&amp;secret=bigsecret">http://example.com:9090/plugins/restapi/userservice?type=grouplist&amp;secret=bigsecret</a> <br>
Which replies an XML group list formatted like this:</p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-tag">&lt;<span class="hljs-title">result</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">groupname</span>&gt;</span>group1<span class="hljs-tag">&lt;/<span class="hljs-title">groupname</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">groupname</span>&gt;</span>group2<span class="hljs-tag">&lt;/<span class="hljs-title">groupname</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">result</span>&gt;</span></code></pre>

<p>The following example gets all groups for a specific user</p>

<p><a href="http://example.com:9090/plugins/restapi/userservice?type=usergrouplist&amp;secret=bigsecret&amp;username=kafka">http://example.com:9090/plugins/restapi/userservice?type=usergrouplist&amp;secret=bigsecret&amp;username=kafka</a> <br>
Which replies an XML group list formatted like this:</p>



<pre class="prettyprint"><code class=" hljs xml"><span class="hljs-tag">&lt;<span class="hljs-title">result</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">groupname</span>&gt;</span>usergroup1<span class="hljs-tag">&lt;/<span class="hljs-title">groupname</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-title">groupname</span>&gt;</span>usergroup2<span class="hljs-tag">&lt;/<span class="hljs-title">groupname</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-title">result</span>&gt;</span></code></pre>

<p>* When sending double characters (Chinese/Japanese/Korean etc) you should URLEncode the string as utf8. <br>
In Java this is done like this <br>
URLEncoder.encode(username, “UTF-8”));  <br>
If the strings are encoded incorrectly, double byte characters will look garbeled in the Admin Console.</p>



<h2 id="server-reply">Server Reply</h2>

<p>The server will reply to all User Service requests with an XML result page. If the request was processed successfully the return will be a “result” element with a text body of “OK”, or an XML grouplist formatted like in the example for “grouplist” and “usergrouplist” above. If the request was unsuccessful, the return will be an “error” element with a text body of one of the following error strings.</p>

<table>
<thead>
<tr>
  <th>Error String</th>
  <th>Description</th>
</tr>
</thead>
<tbody><tr>
  <td>IllegalArgumentException</td>
  <td>One of the parameters passed in to the User Service was bad.</td>
</tr>
<tr>
  <td>UserNotFoundException</td>
  <td>No user of the name specified, for a delete or update operation, exists on this server. For ‘update_roster’ operation, roster item to be updated was not found.</td>
</tr>
<tr>
  <td>UserAlreadyExistsException</td>
  <td>A user with the same name as the user about to be added, already exists. For ‘add_roster’ operation, roster item with the same JID already exists.</td>
</tr>
<tr>
  <td>RequestNotAuthorised</td>
  <td>The supplied secret does not match the secret specified in the Admin Console or the requester is not a valid IP address.</td>
</tr>
<tr>
  <td>UserServiceDisabled</td>
  <td>The User Service is currently set to disabled in the Admin Console.</td>
</tr>
<tr>
  <td>SharedGroupException</td>
  <td>Roster item can not be added/deleted to/from a shared group for operations with roster.</td>
</tr>
</tbody></table>


















































































































































































































































































































































































































</div></body>
</html>