<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->

  <title>Archiva Web :: REST support :: Api: ReportRepositoriesService</title>

  <!-- Mobile viewport optimized: j.mp/bplateviewport -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- Bootstrap core CSS -->
  <!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> -->

  <!--custom css for these pages-->
  <link rel="stylesheet" href="css/style.css">

  <link href="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.css" type="text/css">

  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
  <!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  <![endif]-->
</head>

<body class="home">
 <div class="container">
  <header>
 
   <div id="header" class="column first last span-20">
        <div id="site-name" class="column span-18 append-1 prepend-1 first last"><a href="index.html">Archiva Web :: REST support :: Api: ReportRepositoriesService</a></div>
        <div id="primary" class="column span-18 append-1 prepend-1 first last">
          <ul class="navigation">
            <li id="nav-rest"><a href="resources.html">REST</a></li>
            <li id="nav-data"><a href="data.html">Data Model</a></li>
          </ul>
        </div>
        <div>
          <ul class="xbreadcrumbs" id="breadcrumbs">
<li>
 <a href="index.html" class="home">Home</a> &gt;

            </li>
<li>
 <a href="resources.html">Resources</a> &gt;

            </li>
<li class="current">
 <a href="resource_ReportRepositoriesService.html">ReportRepositoriesService</a>

            </li>
          </ul>
        </div>
      </div>
  <!--<nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container-fluid">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.html">Archiva Web :: REST support :: Api: ReportRepositoriesService</a>
      </div>
      <div id="navbar" class="navbar-collapse collapse">
        <ul class="nav navbar-nav navbar-right">
          <li><a href="resources.html">Resources</a></li>
          <li><a href="data.html">Data Types</a></li>
          <li><a href="downloads.html">Files and Libraries</a></li>
        </ul>
      </div>
    </div>
  </nav>-->
 </header>
  <div id="main" class="column first last span-20">
  
      <h1 class="page-header">ReportRepositoriesService <small>Resource</small></h1>

      <p>ReportRepositoriesService</p>
      <ul>
<li><a href="#resource_ReportRepositoriesService_getHealthReport_GET">./reportServices/getHealthReports/{repository}/{rowCount}</a></li>
<li><a href="#resource_ReportRepositoriesService_getStatisticsReport_GET">./reportServices/getStatisticsReport</a></li>
      </ul>

      <div id="resource_ReportRepositoriesService_getHealthReport_GET">
        <h2>GET <small>/reportServices/getHealthReports/{repository}/{rowCount} <a href="./reportServices/getHealthReports/{repository}/{rowCount}" class="glyphicon glyphicon-new-window" target="_blank"></a></small></h2>

        <p></p>

        <table class="table">
          <caption>Request Parameters</caption>
          <thead>
          <tr>
            <th>name</th>
            <th>type</th>
            <th>description</th>
            <th>default</th>
          </tr>
          </thead>
          <tbody>
          <tr>
            <td>repository</td>
            <td>path</td>
            <td></td>
            <td>n/a</td>
          </tr>
          <tr>
            <td>rowCount</td>
            <td>path</td>
            <td></td>
            <td>n/a</td>
          </tr>
          <tr>
            <td>groupId</td>
            <td>query</td>
            <td></td>
            <td>n/a</td>
          </tr>
          </tbody>
        </table>

        <table class="table">
          <caption>Response Body</caption>
          <thead>
          <tr>
            <th>media type</th>
            <th>data type</th>
          </tr>
          </thead>
          <tbody>
          <tr>
            <td><abbr data-toggle="tooltip" data-placement="top" title="Use the &quot;Accept: application/json&quot; HTTP header to request that this media type be provided by the server.">application/json</abbr></td>
            <td>(custom)
</td>
          </tr>
          <tr>
            <td><abbr data-toggle="tooltip" data-placement="top" title="Use the &quot;Accept: application/xml&quot; HTTP header to request that this media type be provided by the server.">application/xml</abbr></td>
            <td>list of <a href="xml_ns0_repositoryProblemFacet.html">repositoryProblemFacet</a>
 (XML)</td>
          </tr>
          </tbody>
        </table>
      </div>

      <div id="resource_ReportRepositoriesService_getStatisticsReport_GET">
        <h2>GET <small>/reportServices/getStatisticsReport <a href="./reportServices/getStatisticsReport" class="glyphicon glyphicon-new-window" target="_blank"></a></small></h2>

        <p></p>

        <table class="table">
          <caption>Request Parameters</caption>
          <thead>
          <tr>
            <th>name</th>
            <th>type</th>
            <th>description</th>
            <th>default</th>
          </tr>
          </thead>
          <tbody>
          <tr>
            <td>endDate</td>
            <td>query</td>
            <td></td>
            <td>n/a</td>
          </tr>
          <tr>
            <td>repository</td>
            <td>query</td>
            <td></td>
            <td>n/a</td>
          </tr>
          <tr>
            <td>rowCount</td>
            <td>query</td>
            <td></td>
            <td>n/a</td>
          </tr>
          <tr>
            <td>startDate</td>
            <td>query</td>
            <td></td>
            <td>n/a</td>
          </tr>
          </tbody>
        </table>

        <table class="table">
          <caption>Response Body</caption>
          <thead>
          <tr>
            <th>media type</th>
            <th>data type</th>
          </tr>
          </thead>
          <tbody>
          <tr>
            <td><abbr data-toggle="tooltip" data-placement="top" title="Use the &quot;Accept: application/json&quot; HTTP header to request that this media type be provided by the server.">application/json</abbr></td>
            <td>(custom)
</td>
          </tr>
          <tr>
            <td><abbr data-toggle="tooltip" data-placement="top" title="Use the &quot;Accept: application/xml&quot; HTTP header to request that this media type be provided by the server.">application/xml</abbr></td>
            <td>list of <a href="xml_ns0_repositoryStatistics.html">repositoryStatistics</a>
 (XML)</td>
          </tr>
          </tbody>
        </table>
      </div>
        
        <footer>
          <div class="footer">
            Generated by <a href="http://enunciate.webcohesion.com">Enunciate</a>.
          </div>
        </footer>

      </div>
    
  </div>


  <!-- JavaScript placed at the end of the document so the pages load faster. -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

  
  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/run_prettify.js" type="text/javascript"></script>
  

</body>
</html>