<!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>Apache Archiva REST API</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">Apache Archiva REST API</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 class="current">
              <a href="index.html" class="home">Home</a>
            </li>
          </ul>
        </div>
      </div>
    </header>
    <div id="main" class="column first last span-20">

      <h1>REST Resources</h1>
      <p>
        This API supports a <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">Representational State Transfer (REST)</a>
        model for accessing a set of resources through a fixed set of operations. The following resources are accessible through the RESTful model:
      </p>
      <ul>
        <li><a href="resource_ArchivaAdministrationService.html">ArchivaAdministrationService</a></li>
        <li><a href="resource_ArchivaRuntimeConfigurationService.html">ArchivaRuntimeConfigurationService</a></li>
        <li><a href="resource_BrowseService.html">BrowseService</a></li>
        <li><a href="resource_CommonServices.html">CommonServices</a></li>
        <li><a href="resource_ManagedRepositoriesService.html">ManagedRepositoriesService</a></li>
        <li><a href="resource_MergeRepositoriesService.html">MergeRepositoriesService</a></li>
        <li><a href="resource_NetworkProxyService.html">NetworkProxyService</a></li>
        <li><a href="resource_PingService.html">PingService</a></li>
        <li><a href="resource_PluginsService.html">PluginsService</a></li>
        <li><a href="resource_ProxyConnectorRuleService.html">ProxyConnectorRuleService</a></li>
        <li><a href="resource_ProxyConnectorService.html">ProxyConnectorService</a></li>
        <li><a href="resource_RedbackRuntimeConfigurationService.html">RedbackRuntimeConfigurationService</a></li>
        <li><a href="resource_RemoteRepositoriesService.html">RemoteRepositoriesService</a></li>
        <li><a href="resource_ReportRepositoriesService.html">ReportRepositoriesService</a></li>
        <li><a href="resource_RepositoriesService.html">RepositoriesService</a></li>
        <li><a href="resource_RepositoryGroupService.html">RepositoryGroupService</a></li>
        <li><a href="resource_SearchService.html">SearchService</a></li>
        <li><a href="resource_SystemStatusService.html">SystemStatusService</a></li>
      </ul>
      <p>
        There is also a <a href="application.wadl">WADL document</a> describing the REST API.
      </p>

    <h1>Data Model</h1>

    <p>
      All endpoints act on a common set of data. The data can be represented with difference media (i.e. "MIME") types, depending on the endpoint
      that consumes and/or produces the data. The data can described by <a href="http://www.w3.org/XML/Schema">XML Schema</a>, which definitively
      describes the XML representation of the data.
    </p>

    <p>
      This document will describe the data using terms based on <a href="http://www.w3.org/XML/Schema">XML Schema</a>.
      Data can be grouped by namespace, with a schema document describing the <i>elements</i> and <i>types</i> of the namespace.
      Generally speaking, <i>types</i> define the structure of the data and <i>elements</i> are <i>instances</i> of a type. For example,
      <i>elements</i> are usually produced by (or consumed by) a REST endpoint, and the structure of each element is described by
      its <i>type</i>.
    </p>


      <h2>Namespace "ns0"</h2>
      <table>
        <tr>
          <td align="right">Namespace URI:</td>
          <td>(default namespace)</td>
        </tr>
        <tr>
          <td align="right">XSD:</td>
          <td><a href="ns0.xsd">ns0.xsd</a></td>
        </tr>
      </table>

        <h3>Data Elements</h3>

        <ul>
          <li><a href="el_ns0_adminRepositoryConsumer.html">adminRepositoryConsumer</a></li>
          <li><a href="el_ns0_archivaRepositoryStatistics.html">archivaRepositoryStatistics</a></li>
          <li><a href="el_ns0_archivaRuntimeConfiguration.html">archivaRuntimeConfiguration</a></li>
          <li><a href="el_ns0_artifact.html">artifact</a></li>
          <li><a href="el_ns0_artifactContent.html">artifactContent</a></li>
          <li><a href="el_ns0_artifactContentEntry.html">artifactContentEntry</a></li>
          <li><a href="el_ns0_artifactTransferRequest.html">artifactTransferRequest</a></li>
          <li><a href="el_ns0_browseResult.html">browseResult</a></li>
          <li><a href="el_ns0_browseResultEntry.html">browseResultEntry</a></li>
          <li><a href="el_ns0_cacheConfiguration.html">cacheConfiguration</a></li>
          <li><a href="el_ns0_cacheEntry.html">cacheEntry</a></li>
          <li><a href="el_ns0_ciManagement.html">ciManagement</a></li>
          <li><a href="el_ns0_consumerScanningStatistics.html">consumerScanningStatistics</a></li>
          <li><a href="el_ns0_dependency.html">dependency</a></li>
          <li><a href="el_ns0_dependency.html">dependency</a></li>
          <li><a href="el_ns0_fileLockConfiguration.html">fileLockConfiguration</a></li>
          <li><a href="el_ns0_fileType.html">fileType</a></li>
          <li><a href="el_ns0_groupIdList.html">groupIdList</a></li>
          <li><a href="el_ns0_issueManagement.html">issueManagement</a></li>
          <li><a href="el_ns0_ldapConfiguration.html">ldapConfiguration</a></li>
          <li><a href="el_ns0_legacyArtifactPath.html">legacyArtifactPath</a></li>
          <li><a href="el_ns0_license.html">license</a></li>
          <li><a href="el_ns0_mailingList.html">mailingList</a></li>
          <li><a href="el_ns0_managedRepository.html">managedRepository</a></li>
          <li><a href="el_ns0_metadataAddRequest.html">metadataAddRequest</a></li>
          <li><a href="el_ns0_networkConfiguration.html">networkConfiguration</a></li>
          <li><a href="el_ns0_networkProxy.html">networkProxy</a></li>
          <li><a href="el_ns0_organisationInformation.html">organisationInformation</a></li>
          <li><a href="el_ns0_organization.html">organization</a></li>
          <li><a href="el_ns0_policyInformation.html">policyInformation</a></li>
          <li><a href="el_ns0_projectVersionMetadata.html">projectVersionMetadata</a></li>
          <li><a href="el_ns0_propertyEntry.html">propertyEntry</a></li>
          <li><a href="el_ns0_proxyConnector.html">proxyConnector</a></li>
          <li><a href="el_ns0_proxyConnectorRule.html">proxyConnectorRule</a></li>
          <li><a href="el_ns0_queueEntry.html">queueEntry</a></li>
          <li><a href="el_ns0_rbacManagerImplementationInformation.html">rbacManagerImplementationInformation</a></li>
          <li><a href="el_ns0_redbackImplementationsInformations.html">redbackImplementationsInformations</a></li>
          <li><a href="el_ns0_redbackRuntimeConfiguration.html">redbackRuntimeConfiguration</a></li>
          <li><a href="el_ns0_remoteRepository.html">remoteRepository</a></li>
          <li><a href="el_ns0_repositoryGroup.html">repositoryGroup</a></li>
          <li><a href="el_ns0_repositoryScannerStatistics.html">repositoryScannerStatistics</a></li>
          <li><a href="el_ns0_repositoryScanStatistics.html">repositoryScanStatistics</a></li>
          <li><a href="el_ns0_scm.html">scm</a></li>
          <li><a href="el_ns0_searchRequest.html">searchRequest</a></li>
          <li><a href="el_ns0_stringList.html">stringList</a></li>
          <li><a href="el_ns0_uiConfiguration.html">uiConfiguration</a></li>
          <li><a href="el_ns0_userManagerImplementationInformation.html">userManagerImplementationInformation</a></li>
          <li><a href="el_ns0_versionsList.html">versionsList</a></li>
        </ul>

        <h3>Data Types</h3>
        <ul>
          <li><a href="ns0_abstractImplementationInformation.html">abstractImplementationInformation</a></li>
          <li><a href="ns0_abstractRepository.html">abstractRepository</a></li>
          <li><a href="ns0_abstractRepositoryConnector.html">abstractRepositoryConnector</a></li>
          <li><a href="ns0_adminRepositoryConsumer.html">adminRepositoryConsumer</a></li>
          <li><a href="ns0_archivaRepositoryStatistics.html">archivaRepositoryStatistics</a></li>
          <li><a href="ns0_archivaRuntimeConfiguration.html">archivaRuntimeConfiguration</a></li>
          <li><a href="ns0_artifact.html">artifact</a></li>
          <li><a href="ns0_artifactContent.html">artifactContent</a></li>
          <li><a href="ns0_artifactContentEntry.html">artifactContentEntry</a></li>
          <li><a href="ns0_artifactTransferRequest.html">artifactTransferRequest</a></li>
          <li><a href="ns0_browseResult.html">browseResult</a></li>
          <li><a href="ns0_browseResultEntry.html">browseResultEntry</a></li>
          <li><a href="ns0_cacheConfiguration.html">cacheConfiguration</a></li>
          <li><a href="ns0_cacheEntry.html">cacheEntry</a></li>
          <li><a href="ns0_ciManagement.html">ciManagement</a></li>
          <li><a href="ns0_consumerScanningStatistics.html">consumerScanningStatistics</a></li>
          <li><a href="ns0_dependency.html">dependency</a></li>
          <li><a href="ns0_dependency.html">dependency</a></li>
          <li><a href="ns0_facetedMetadata.html">facetedMetadata</a></li>
          <li><a href="ns0_fileLockConfiguration.html">fileLockConfiguration</a></li>
          <li><a href="ns0_fileType.html">fileType</a></li>
          <li><a href="ns0_groupIdList.html">groupIdList</a></li>
          <li><a href="ns0_issueManagement.html">issueManagement</a></li>
          <li><a href="ns0_ldapConfiguration.html">ldapConfiguration</a></li>
          <li><a href="ns0_ldapGroupMapping.html">ldapGroupMapping</a></li>
          <li><a href="ns0_legacyArtifactPath.html">legacyArtifactPath</a></li>
          <li><a href="ns0_license.html">license</a></li>
          <li><a href="ns0_mailingList.html">mailingList</a></li>
          <li><a href="ns0_managedRepository.html">managedRepository</a></li>
          <li><a href="ns0_metadataAddRequest.html">metadataAddRequest</a></li>
          <li><a href="ns0_networkConfiguration.html">networkConfiguration</a></li>
          <li><a href="ns0_networkProxy.html">networkProxy</a></li>
          <li><a href="ns0_organisationInformation.html">organisationInformation</a></li>
          <li><a href="ns0_organization.html">organization</a></li>
          <li><a href="ns0_policyInformation.html">policyInformation</a></li>
          <li><a href="ns0_projectVersionMetadata.html">projectVersionMetadata</a></li>
          <li><a href="ns0_propertyEntry.html">propertyEntry</a></li>
          <li><a href="ns0_proxyConnector.html">proxyConnector</a></li>
          <li><a href="ns0_proxyConnectorRule.html">proxyConnectorRule</a></li>
          <li><a href="ns0_proxyConnectorRuleType.html">proxyConnectorRuleType</a></li>
          <li><a href="ns0_queueEntry.html">queueEntry</a></li>
          <li><a href="ns0_RBACManagerImplementationInformation.html">RBACManagerImplementationInformation</a></li>
          <li><a href="ns0_redbackImplementationsInformations.html">redbackImplementationsInformations</a></li>
          <li><a href="ns0_redbackRuntimeConfiguration.html">redbackRuntimeConfiguration</a></li>
          <li><a href="ns0_remoteRepository.html">remoteRepository</a></li>
          <li><a href="ns0_repositoryGroup.html">repositoryGroup</a></li>
          <li><a href="ns0_repositoryScannerStatistics.html">repositoryScannerStatistics</a></li>
          <li><a href="ns0_repositoryScanStatistics.html">repositoryScanStatistics</a></li>
          <li><a href="ns0_scm.html">scm</a></li>
          <li><a href="ns0_searchRequest.html">searchRequest</a></li>
          <li><a href="ns0_stringList.html">stringList</a></li>
          <li><a href="ns0_uiConfiguration.html">uiConfiguration</a></li>
          <li><a href="ns0_userManagerImplementationInformation.html">userManagerImplementationInformation</a></li>
          <li><a href="ns0_versionsList.html">versionsList</a></li>
        </ul>

      <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>