<!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>Apache Archiva REST API: ProjectVersionMetadata</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">Apache Archiva REST API: ProjectVersionMetadata</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="syntax_json.html">JSON</a> &gt;

            </li>
<li class="current">
 <a href="json_ProjectVersionMetadata.html">ProjectVersionMetadata</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">Apache Archiva REST API: ProjectVersionMetadata</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">ProjectVersionMetadata <small>Data Type</small></h1>

      <p></p>

      <dl class="dl-horizontal">
      </dl>

      <table class="table">
        <caption>Properties</caption>
        <thead>
        <tr>
          <th>name</th>
          <th>data type</th>
          <th>description</th>
        </tr>
        </thead>
        <tbody>
        <tr>
          <td>  version
</td>
          <td>  string

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  incomplete
</td>
          <td>  boolean

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  ciManagement
</td>
          <td>  <a href="json_CiManagement.html">CiManagement</a>

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  issueManagement
</td>
          <td>  <a href="json_IssueManagement.html">IssueManagement</a>

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  id
</td>
          <td>  string

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  description
</td>
          <td>  string

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  organization
</td>
          <td>  <a href="json_Organization.html">Organization</a>

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  url
</td>
          <td>  string

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  licenses
</td>
          <td>  array of <a href="json_License.html">License</a>

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  dependencies
</td>
          <td>  array of <a href="json_Dependency.html">Dependency</a>

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  mailingLists
</td>
          <td>  array of <a href="json_MailingList.html">MailingList</a>

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  scm
</td>
          <td>  <a href="json_Scm.html">Scm</a>

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  name
</td>
          <td>  string

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  properties
</td>
          <td>  map of string

</td>
          <td>  
</td>
        </tr>
        </tbody>
        <tr>
          <td colspan="3"><h5 class="text-muted">Properties inherited from <a href="json_FacetedMetadata.html">FacetedMetadata</a></h5></td>
        </tr>
        <tbody>
        <tr>
          <td>facets</td>
          <td>map of object
</td>
          <td></td>
        </tr>
        <tr>
          <td>facetList</td>
          <td>array of <a href="json_MetadataFacet.html">MetadataFacet</a>
</td>
          <td></td>
        </tr>
        <tr>
          <td>facetIds</td>
          <td>array of string
</td>
          <td></td>
        </tr>
        </tbody>
      </table>

      <h2>Example</h2>

      <pre class="prettyprint lang-js">{
  &quot;version&quot; : &quot;...&quot;,
  &quot;incomplete&quot; : true,
  &quot;ciManagement&quot; : {
    &quot;url&quot; : &quot;...&quot;,
    &quot;system&quot; : &quot;...&quot;
  },
  &quot;issueManagement&quot; : {
    &quot;system&quot; : &quot;...&quot;,
    &quot;url&quot; : &quot;...&quot;
  },
  &quot;id&quot; : &quot;...&quot;,
  &quot;description&quot; : &quot;...&quot;,
  &quot;organization&quot; : {
    &quot;name&quot; : &quot;...&quot;,
    &quot;url&quot; : &quot;...&quot;
  },
  &quot;url&quot; : &quot;...&quot;,
  &quot;licenses&quot; : [ {
    &quot;name&quot; : &quot;...&quot;,
    &quot;url&quot; : &quot;...&quot;
  }, {
    &quot;name&quot; : &quot;...&quot;,
    &quot;url&quot; : &quot;...&quot;
  } ],
  &quot;dependencies&quot; : [ {
    &quot;version&quot; : &quot;...&quot;,
    &quot;scope&quot; : &quot;...&quot;,
    &quot;type&quot; : &quot;...&quot;,
    &quot;systemPath&quot; : &quot;...&quot;,
    &quot;classifier&quot; : &quot;...&quot;,
    &quot;artifactId&quot; : &quot;...&quot;,
    &quot;optional&quot; : true,
    &quot;groupId&quot; : &quot;...&quot;
  }, {
    &quot;version&quot; : &quot;...&quot;,
    &quot;scope&quot; : &quot;...&quot;,
    &quot;type&quot; : &quot;...&quot;,
    &quot;systemPath&quot; : &quot;...&quot;,
    &quot;classifier&quot; : &quot;...&quot;,
    &quot;artifactId&quot; : &quot;...&quot;,
    &quot;optional&quot; : true,
    &quot;groupId&quot; : &quot;...&quot;
  } ],
  &quot;mailingLists&quot; : [ {
    &quot;otherArchives&quot; : [ &quot;...&quot;, &quot;...&quot; ],
    &quot;mainArchiveUrl&quot; : &quot;...&quot;,
    &quot;name&quot; : &quot;...&quot;,
    &quot;unsubscribeAddress&quot; : &quot;...&quot;,
    &quot;postAddress&quot; : &quot;...&quot;,
    &quot;subscribeAddress&quot; : &quot;...&quot;
  }, {
    &quot;otherArchives&quot; : [ &quot;...&quot;, &quot;...&quot; ],
    &quot;mainArchiveUrl&quot; : &quot;...&quot;,
    &quot;name&quot; : &quot;...&quot;,
    &quot;unsubscribeAddress&quot; : &quot;...&quot;,
    &quot;postAddress&quot; : &quot;...&quot;,
    &quot;subscribeAddress&quot; : &quot;...&quot;
  } ],
  &quot;scm&quot; : {
    &quot;connection&quot; : &quot;...&quot;,
    &quot;developerConnection&quot; : &quot;...&quot;,
    &quot;url&quot; : &quot;...&quot;
  },
  &quot;name&quot; : &quot;...&quot;,
  &quot;properties&quot; : {
    &quot;property1&quot; : &quot;...&quot;,
    &quot;property2&quot; : &quot;...&quot;
  },
  &quot;facets&quot; : {
    &quot;property1&quot; : { },
    &quot;property2&quot; : { }
  },
  &quot;facetList&quot; : [ {
    &quot;facetId&quot; : &quot;...&quot;,
    &quot;name&quot; : &quot;...&quot;
  }, {
    &quot;facetId&quot; : &quot;...&quot;,
    &quot;name&quot; : &quot;...&quot;
  } ],
  &quot;facetIds&quot; : [ &quot;...&quot;, &quot;...&quot; ]
}</pre>
        
        <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>