<!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>RepositoryGroupService</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">RepositoryGroupService</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_RepositoryGroupService.html">RepositoryGroupService</a>
              <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>
            </li>
          </ul>
        </div>
      </div>
    </header>
    <div id="main" class="column first last span-20">
      <h1>RepositoryGroupService</h1>

      <p></p>
      <p>The following resources are applicable:</p>
      <ul>
        <li>
        <a href="#path__repositoryGroupService_addRepositoryGroup.html">/repositoryGroupService/addRepositoryGroup</a>
        </li>
        <li>
        <a href="#path__repositoryGroupService_addRepositoryToGroup.html">/repositoryGroupService/addRepositoryToGroup</a>
        </li>
        <li>
        <a href="#path__repositoryGroupService_deleteRepositoryGroup_-repositoryGroupId-.html">/repositoryGroupService/deleteRepositoryGroup/{repositoryGroupId}</a>
        </li>
        <li>
        <a href="#path__repositoryGroupService_getRepositoriesGroups.html">/repositoryGroupService/getRepositoriesGroups</a>
        </li>
        <li>
        <a href="#path__repositoryGroupService_getRepositoryGroup_-repositoryGroupId-.html">/repositoryGroupService/getRepositoryGroup/{repositoryGroupId}</a>
        </li>
        <li>
        <a href="#path__repositoryGroupService_updateRepositoryGroup.html">/repositoryGroupService/updateRepositoryGroup</a>
        </li>
      </ul>
        <a name="path__repositoryGroupService_addRepositoryGroup.html"></a>
      <h1>/repositoryGroupService/addRepositoryGroup</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoryGroupService/addRepositoryGroup">/restServices/repositoryGroupService/addRepositoryGroup</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>
      <h3>Request Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td><a href="el_ns0_repositoryGroup.html">repositoryGroup</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__repositoryGroupService_addRepositoryToGroup.html"></a>
      <h1>/repositoryGroupService/addRepositoryToGroup</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoryGroupService/addRepositoryToGroup">/restServices/repositoryGroupService/addRepositoryToGroup</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>repositoryGroupId</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="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>repositoryGroupId</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__repositoryGroupService_deleteRepositoryGroup_-repositoryGroupId-.html"></a>
      <h1>/repositoryGroupService/deleteRepositoryGroup/{repositoryGroupId}</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoryGroupService/deleteRepositoryGroup/{repositoryGroupId}">/restServices/repositoryGroupService/deleteRepositoryGroup/{repositoryGroupId}</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>repositoryGroupId</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__repositoryGroupService_getRepositoriesGroups.html"></a>
      <h1>/repositoryGroupService/getRepositoriesGroups</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoryGroupService/getRepositoriesGroups">/restServices/repositoryGroupService/getRepositoriesGroups</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>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/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
        <a name="path__repositoryGroupService_getRepositoryGroup_-repositoryGroupId-.html"></a>
      <h1>/repositoryGroupService/getRepositoryGroup/{repositoryGroupId}</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoryGroupService/getRepositoryGroup/{repositoryGroupId}">/restServices/repositoryGroupService/getRepositoryGroup/{repositoryGroupId}</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>repositoryGroupId</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_repositoryGroup.html">repositoryGroup</a></td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
        <a name="path__repositoryGroupService_updateRepositoryGroup.html"></a>
      <h1>/repositoryGroupService/updateRepositoryGroup</h1>
      <p class="note">Mount Point: <a href="../restServices/repositoryGroupService/updateRepositoryGroup">/restServices/repositoryGroupService/updateRepositoryGroup</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>
      <h3>Request Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td><a href="el_ns0_repositoryGroup.html">repositoryGroup</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>

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