<!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: ArchivaRuntimeConfigurationService</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/enunciate.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: ArchivaRuntimeConfigurationService</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_ArchivaRuntimeConfigurationService.html">ArchivaRuntimeConfigurationService</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: ArchivaRuntimeConfigurationService</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">ArchivaRuntimeConfigurationService <small>Resource</small></h1>

      <p></p>
      <ul>
        <li><a href="#resource_ArchivaRuntimeConfigurationService_getArchivaRuntimeConfiguration_GET">.//archivaRuntimeConfigurationService/archivaRuntimeConfiguration</a></li>
        <li><a href="#resource_ArchivaRuntimeConfigurationService_updateArchivaRuntimeConfiguration_PUT">.//archivaRuntimeConfigurationService/archivaRuntimeConfiguration</a></li>
      </ul>

      <dl class="dl-horizontal">
        <dt>Available Since</dt>
        <dd>1.4-M4</dd>
      </dl>

      <div id="resource_ArchivaRuntimeConfigurationService_getArchivaRuntimeConfiguration_GET">
        <h2>GET <small>/archivaRuntimeConfigurationService/archivaRuntimeConfiguration <a href=".//archivaRuntimeConfigurationService/archivaRuntimeConfiguration" class="glyphicon glyphicon-new-window" target="_blank"></a></small></h2>

        <p></p>

        <table class="table">
          <caption>Response Body</caption>
          <thead>
          <tr>
            <th>media type</th>
            <th>data type</th>
            <th>description</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>
            <td rowspan="2"></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><a href="xml_ns0_archivaRuntimeConfiguration.html">archivaRuntimeConfiguration</a>
 (XML)</td>
          </tr>
          </tbody>
        </table>
      </div>

      <dl class="dl-horizontal">
        <dt>Available Since</dt>
        <dd>1.4-M4</dd>
      </dl>

      <div id="resource_ArchivaRuntimeConfigurationService_updateArchivaRuntimeConfiguration_PUT">
        <h2>PUT <small>/archivaRuntimeConfigurationService/archivaRuntimeConfiguration <a href=".//archivaRuntimeConfigurationService/archivaRuntimeConfiguration" class="glyphicon glyphicon-new-window" target="_blank"></a></small></h2>

        <p></p>

        <table class="table">
          <caption>Request 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;Content-Type: application/json&quot; HTTP header to specify this media type to the server.">application/json</abbr></td>
            <td>(custom)
</td>
          </tr>
          <tr>
            <td><abbr data-toggle="tooltip" data-placement="top" title="Use the &quot;Content-Type: application/xml&quot; HTTP header to specify this media type to the server.">application/xml</abbr></td>
            <td><a href="xml_ns0_archivaRuntimeConfiguration.html">archivaRuntimeConfiguration</a>
 (XML)</td>
          </tr>
          </tbody>
        </table>

        <table class="table">
          <caption>Response Body</caption>
          <thead>
          <tr>
            <th>media type</th>
            <th>data type</th>
            <th>description</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>
            <td rowspan="2"></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>boolean
 (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>