<!--
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.
-->

<button class="btn btn-primary pull-right api-url-btn">
  API URL 
  <i class="fonticon-plus icon"></i>
</button>
<div class="api-navbar" style="display: none">
    <div class="input-prepend input-append">
      <span class="add-on">
        API reference
        <a href="<%-getDocUrl(documentation)%>" target="_blank">
          <i class="icon-question-sign"></i>
        </a>
      </span>
      <input type="text" class="input-xxlarge" value="<%- endpoint %>">
      <a href="<%- endpoint %>" target="_blank" class="btn">Show me</a>
    </div>
</div>
