<!doctype html>
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7 ]> <html class="no-js ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]>    <html class="no-js ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]>    <html class="no-js ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
  <meta charset="utf-8">

  <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
       Remove this if you use the .htaccess -->
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

  <title>RepositoriesService</title>

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

  <!-- CSS: implied media="all" -->
  <link rel="stylesheet" href="css/style.css?v=2">
  <link rel="stylesheet" href="css/prettify.css">

  <!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects -->
  <script src="js/libs/modernizr-1.7.min.js"></script>

</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">RepositoriesService</a></div>
        <div id="primary" class="column span-18 append-1 prepend-1 first last">
          <ul class="navigation">
            <li id="nav-rest"><a href="rest.html">REST</a></li>
            <li id="nav-data"><a href="model.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="rest.html">REST</a> &gt;
              <ul>
                <li><a href="model.html">Data Model</a></li>
                <li><a href="rest.html">REST</a></li>
              </ul>
            </li>
            <li class="current">
              <a href="resource_RepositoriesService.html">RepositoriesService</a>
              <ul>
                <li><a href="resource_SystemStatusService.html">SystemStatusService</a></li>
                <li><a href="resource_ArchivaAdministrationService.html">ArchivaAdministrationService</a></li>
                <li><a href="resource_RemoteRepositoriesService.html">RemoteRepositoriesService</a></li>
                <li><a href="resource_ReportRepositoriesService.html">ReportRepositoriesService</a></li>
                <li><a href="resource_ManagedRepositoriesService.html">ManagedRepositoriesService</a></li>
                <li><a href="resource_PluginsService.html">PluginsService</a></li>
                <li><a href="resource_PingService.html">PingService</a></li>
                <li><a href="resource_RepositoryGroupService.html">RepositoryGroupService</a></li>
                <li><a href="resource_ProxyConnectorService.html">ProxyConnectorService</a></li>
                <li><a href="resource_RepositoriesService.html">RepositoriesService</a></li>
                <li><a href="resource_ArchivaRuntimeConfigurationService.html">ArchivaRuntimeConfigurationService</a></li>
                <li><a href="resource_MergeRepositoriesService.html">MergeRepositoriesService</a></li>
                <li><a href="resource_ProxyConnectorRuleService.html">ProxyConnectorRuleService</a></li>
                <li><a href="resource_SearchService.html">SearchService</a></li>
                <li><a href="resource_CommonServices.html">CommonServices</a></li>
                <li><a href="resource_RedbackRuntimeConfigurationService.html">RedbackRuntimeConfigurationService</a></li>
                <li><a href="resource_BrowseService.html">BrowseService</a></li>
                <li><a href="resource_NetworkProxyService.html">NetworkProxyService</a></li>
              </ul>
            </li>
          </ul>
        </div>
      </div>
    </header>
    <div id="main" class="column first last span-20">
      <h1>RepositoriesService</h1>

      <p></p>
      <p>The following resources are part of this group:</p>
      <ul>
        <li><a href="#path__repositoriesService_copyArtifact.html">/repositoriesService/copyArtifact</a></li>
        <li><a href="#path__repositoriesService_deleteArtifact.html">/repositoriesService/deleteArtifact</a></li>
        <li><a href="#path__repositoriesService_deleteGroupId.html">/repositoriesService/deleteGroupId</a></li>
        <li><a href="#path__repositoriesService_runningRemoteDownloadIds.html">/repositoriesService/runningRemoteDownloadIds</a></li>
        <li><a href="#path__repositoriesService_scanRepository.html">/repositoriesService/scanRepository</a></li>
        <li><a href="#path__repositoriesService_scanRepositoryNow.html">/repositoriesService/scanRepositoryNow</a></li>
        <li><a href="#path__repositoriesService_scheduleDownloadRemoteIndex.html">/repositoriesService/scheduleDownloadRemoteIndex</a></li>
        <li><a href="#path__repositoriesService_alreadyScanning_-repositoryId-.html">/repositoriesService/alreadyScanning/{repositoryId}</a></li>
        <li><a href="#path__repositoriesService_isAuthorizedToDeleteArtifacts_-repositoryId-.html">/repositoriesService/isAuthorizedToDeleteArtifacts/{repositoryId}</a></li>
        <li><a href="#path__repositoriesService_removeScanningTaskFromQueue_-repositoryId-.html">/repositoriesService/removeScanningTaskFromQueue/{repositoryId}</a></li>
        <li><a href="#path__repositoriesService_scanRepositoryDirectoriesNow_-repositoryId-.html">/repositoriesService/scanRepositoryDirectoriesNow/{repositoryId}</a></li>
        <li><a href="#path__repositoriesService_project_-repositoryId-_-groupId-_-projectId-.html">/repositoriesService/project/{repositoryId}/{groupId}/{projectId}</a></li>
        <li><a href="#path__repositoriesService_projectVersion_-repositoryId-_-namespace-_-projectId-_-version-.html">/repositoriesService/projectVersion/{repositoryId}/{namespace}/{projectId}/{version}</a></li>
      </ul>
      <a name="path__repositoriesService_copyArtifact.html"></a>
      <h1>/repositoriesService/copyArtifact</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoriesService/copyArtifact">/restServices/repositoriesService/copyArtifact</a></p>
      <p class="note">Available Since: 1.4-M1</p>
      <a name="POST"></a>
      <h2>POST</h2>
      <p class="note">Available Since: 1.4-M1</p>
      <p>
            permissions are checked in impl
will copy an artifact from the source repository to the target repository
          </p>
      <h3>Request Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td><a href="el_ns0_artifactTransferRequest.html">artifactTransferRequest</a></td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__repositoriesService_deleteArtifact.html"></a>
      <h1>/repositoriesService/deleteArtifact</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoriesService/deleteArtifact">/restServices/repositoriesService/deleteArtifact</a></p>
      <a name="POST"></a>
      <h2>POST</h2>
      <p class="note">Available Since: 1.4-M2</p>
      <p>
            <b>permissions are checked in impl</b>
          </p>
      <h3>Request Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td><a href="el_ns0_artifact.html">artifact</a></td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__repositoriesService_deleteGroupId.html"></a>
      <h1>/repositoriesService/deleteGroupId</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoriesService/deleteGroupId">/restServices/repositoriesService/deleteGroupId</a></p>
      <a name="GET"></a>
      <h2>GET</h2>
      <p class="note">Available Since: 1.4-M3</p>
      <p>
            <b>permissions are checked in impl</b>
          </p>
      <h3>Parameters</h3>
      <table>
        <tr>
          <th>name</th>
          <th>description</th>
          <th>type</th>
          <th>default</th>
        </tr>
        <tr>
          <td>groupId</td>
          <td>
            (no documentation provided)
          </td>
          <td>query</td>
          <td></td>
        </tr>
        <tr>
          <td>repositoryId</td>
          <td>
            (no documentation provided)
          </td>
          <td>query</td>
          <td></td>
        </tr>
      </table>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__repositoriesService_runningRemoteDownloadIds.html"></a>
      <h1>/repositoriesService/runningRemoteDownloadIds</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoriesService/runningRemoteDownloadIds">/restServices/repositoriesService/runningRemoteDownloadIds</a></p>
      <a name="GET"></a>
      <h2>GET</h2>
      <p class="note">Available Since: 2.0</p>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td><a href="el_ns0_stringList.html">stringList</a></td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__repositoriesService_scanRepository.html"></a>
      <h1>/repositoriesService/scanRepository</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoriesService/scanRepository">/restServices/repositoriesService/scanRepository</a></p>
      <p class="note">Available Since: 1.4-M1</p>
      <a name="GET"></a>
      <h2>GET</h2>
      <p class="note">Available Since: 1.4-M1</p>
      <p>
            index repository
          </p>
      <h3>Parameters</h3>
      <table>
        <tr>
          <th>name</th>
          <th>description</th>
          <th>type</th>
          <th>default</th>
        </tr>
        <tr>
          <td>repositoryId</td>
          <td>
            (no documentation provided)
          </td>
          <td>query</td>
          <td></td>
        </tr>
        <tr>
          <td>fullScan</td>
          <td>
            (no documentation provided)
          </td>
          <td>query</td>
          <td></td>
        </tr>
      </table>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__repositoriesService_scanRepositoryNow.html"></a>
      <h1>/repositoriesService/scanRepositoryNow</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoriesService/scanRepositoryNow">/restServices/repositoriesService/scanRepositoryNow</a></p>
      <p class="note">Available Since: 1.4-M1</p>
      <a name="GET"></a>
      <h2>GET</h2>
      <p class="note">Available Since: 1.4-M1</p>
      <h3>Parameters</h3>
      <table>
        <tr>
          <th>name</th>
          <th>description</th>
          <th>type</th>
          <th>default</th>
        </tr>
        <tr>
          <td>repositoryId</td>
          <td>
            (no documentation provided)
          </td>
          <td>query</td>
          <td></td>
        </tr>
        <tr>
          <td>fullScan</td>
          <td>
            (no documentation provided)
          </td>
          <td>query</td>
          <td></td>
        </tr>
      </table>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__repositoriesService_scheduleDownloadRemoteIndex.html"></a>
      <h1>/repositoriesService/scheduleDownloadRemoteIndex</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoriesService/scheduleDownloadRemoteIndex">/restServices/repositoriesService/scheduleDownloadRemoteIndex</a></p>
      <p class="note">Available Since: 1.4-M1</p>
      <a name="GET"></a>
      <h2>GET</h2>
      <p class="note">Available Since: 1.4-M1</p>
      <h3>Parameters</h3>
      <table>
        <tr>
          <th>name</th>
          <th>description</th>
          <th>type</th>
          <th>default</th>
        </tr>
        <tr>
          <td>repositoryId</td>
          <td>
            (no documentation provided)
          </td>
          <td>query</td>
          <td></td>
        </tr>
        <tr>
          <td>now</td>
          <td>
            (no documentation provided)
          </td>
          <td>query</td>
          <td></td>
        </tr>
        <tr>
          <td>fullDownload</td>
          <td>
            (no documentation provided)
          </td>
          <td>query</td>
          <td></td>
        </tr>
      </table>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__repositoriesService_alreadyScanning_-repositoryId-.html"></a>
      <h1>/repositoriesService/alreadyScanning/{repositoryId}</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoriesService/alreadyScanning/{repositoryId}">/restServices/repositoriesService/alreadyScanning/{repositoryId}</a></p>
      <p class="note">Available Since: 1.4-M1</p>
      <a name="GET"></a>
      <h2>GET</h2>
      <p class="note">Available Since: 1.4-M1</p>
      <h3>Parameters</h3>
      <table>
        <tr>
          <th>name</th>
          <th>description</th>
          <th>type</th>
          <th>default</th>
        </tr>
        <tr>
          <td>repositoryId</td>
          <td>
            (no documentation provided)
          </td>
          <td>path</td>
          <td></td>
        </tr>
      </table>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__repositoriesService_isAuthorizedToDeleteArtifacts_-repositoryId-.html"></a>
      <h1>/repositoriesService/isAuthorizedToDeleteArtifacts/{repositoryId}</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoriesService/isAuthorizedToDeleteArtifacts/{repositoryId}">/restServices/repositoriesService/isAuthorizedToDeleteArtifacts/{repositoryId}</a></p>
      <p class="note">Available Since: 1.4-M1</p>
      <a name="GET"></a>
      <h2>GET</h2>
      <p class="note">Available Since: 1.4-M1</p>
      <h3>Parameters</h3>
      <table>
        <tr>
          <th>name</th>
          <th>description</th>
          <th>type</th>
          <th>default</th>
        </tr>
        <tr>
          <td>repositoryId</td>
          <td>
            (no documentation provided)
          </td>
          <td>path</td>
          <td></td>
        </tr>
      </table>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__repositoriesService_removeScanningTaskFromQueue_-repositoryId-.html"></a>
      <h1>/repositoriesService/removeScanningTaskFromQueue/{repositoryId}</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoriesService/removeScanningTaskFromQueue/{repositoryId}">/restServices/repositoriesService/removeScanningTaskFromQueue/{repositoryId}</a></p>
      <p class="note">Available Since: 1.4-M1</p>
      <a name="GET"></a>
      <h2>GET</h2>
      <p class="note">Available Since: 1.4-M1</p>
      <h3>Parameters</h3>
      <table>
        <tr>
          <th>name</th>
          <th>description</th>
          <th>type</th>
          <th>default</th>
        </tr>
        <tr>
          <td>repositoryId</td>
          <td>
            (no documentation provided)
          </td>
          <td>path</td>
          <td></td>
        </tr>
      </table>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__repositoriesService_scanRepositoryDirectoriesNow_-repositoryId-.html"></a>
      <h1>/repositoriesService/scanRepositoryDirectoriesNow/{repositoryId}</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoriesService/scanRepositoryDirectoriesNow/{repositoryId}">/restServices/repositoriesService/scanRepositoryDirectoriesNow/{repositoryId}</a></p>
      <a name="GET"></a>
      <h2>GET</h2>
      <p class="note">Available Since: 1.4-M3</p>
      <p>
            scan directories
          </p>
      <h3>Parameters</h3>
      <table>
        <tr>
          <th>name</th>
          <th>description</th>
          <th>type</th>
          <th>default</th>
        </tr>
        <tr>
          <td>repositoryId</td>
          <td>
            (no documentation provided)
          </td>
          <td>path</td>
          <td></td>
        </tr>
      </table>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td><a href="el_ns0_repositoryScanStatistics.html">repositoryScanStatistics</a></td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__repositoriesService_project_-repositoryId-_-groupId-_-projectId-.html"></a>
      <h1>/repositoriesService/project/{repositoryId}/{groupId}/{projectId}</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoriesService/project/{repositoryId}/{groupId}/{projectId}">/restServices/repositoriesService/project/{repositoryId}/{groupId}/{projectId}</a></p>
      <a name="DELETE"></a>
      <h2>DELETE</h2>
      <p class="note">Available Since: 1.4-M4</p>
      <p>
            <b>permissions are checked in impl</b>
          </p>
      <h3>Parameters</h3>
      <table>
        <tr>
          <th>name</th>
          <th>description</th>
          <th>type</th>
          <th>default</th>
        </tr>
        <tr>
          <td>groupId</td>
          <td>
            (no documentation provided)
          </td>
          <td>path</td>
          <td></td>
        </tr>
        <tr>
          <td>projectId</td>
          <td>
            (no documentation provided)
          </td>
          <td>path</td>
          <td></td>
        </tr>
        <tr>
          <td>repositoryId</td>
          <td>
            (no documentation provided)
          </td>
          <td>path</td>
          <td></td>
        </tr>
      </table>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__repositoriesService_projectVersion_-repositoryId-_-namespace-_-projectId-_-version-.html"></a>
      <h1>/repositoriesService/projectVersion/{repositoryId}/{namespace}/{projectId}/{version}</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoriesService/projectVersion/{repositoryId}/{namespace}/{projectId}/{version}">/restServices/repositoriesService/projectVersion/{repositoryId}/{namespace}/{projectId}/{version}</a></p>
      <a name="DELETE"></a>
      <h2>DELETE</h2>
      <p class="note">Available Since: 1.4-M4</p>
      <p>
            <b>permissions are checked in impl</b>
          </p>
      <h3>Parameters</h3>
      <table>
        <tr>
          <th>name</th>
          <th>description</th>
          <th>type</th>
          <th>default</th>
        </tr>
        <tr>
          <td>repositoryId</td>
          <td>
            (no documentation provided)
          </td>
          <td>path</td>
          <td></td>
        </tr>
        <tr>
          <td>namespace</td>
          <td>
            (no documentation provided)
          </td>
          <td>path</td>
          <td></td>
        </tr>
        <tr>
          <td>projectId</td>
          <td>
            (no documentation provided)
          </td>
          <td>path</td>
          <td></td>
        </tr>
        <tr>
          <td>version</td>
          <td>
            (no documentation provided)
          </td>
          <td>path</td>
          <td></td>
        </tr>
      </table>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>

      <div class="clear" />
    </div>
    <footer>
      <div id="footer">
        Generated by <a href="http://enunciate.codehaus.org">Enunciate</a>.
      </div>
    </footer>
  </div> <!--! end of #container -->

  <!-- JavaScript at the bottom for fast page loading -->

  <!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary -->
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>
  <script>window.jQuery || document.write("<script src='js/libs/jquery-1.5.1.min.js'>\x3C/script>")</script>

  <!--manage the navigation menu-->
  <script src="js/libs/xbreadcrumbs.js"></script>
  <script>
    $(function() {
      $('#breadcrumbs').xBreadcrumbs();
    });
  </script>


  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
  <script src="js/libs/prettify/prettify.js"></script>
  <script>
    $(function() {
      prettyPrint();
    });
  </script>

  <!--[if lt IE 7 ]>
    <script src="js/libs/dd_belatedpng.js"></script>
    <script>DD_belatedPNG.fix("img, .png_bg"); // Fix any <img> or .png_bg bg-images. Also, please read goo.gl/mZiyb </script>
  <![endif]-->

</body>
</html>