<!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>Atlas REST API: AtlasGlossaryCategory</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://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">

  <!--custom css for these pages-->
  <link rel="stylesheet" href="css/enunciate.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 data-spy="scroll" data-target="#apinav">

  <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">Atlas REST API: AtlasGlossaryCategory</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>
        </ul>
      </div>
    </div>
  </nav>

  <div class="container-fluid">
    <div class="row">
      <div class="col-sm-3 col-md-2 sidebar" id="apinav">
        <ul class="nav nav-sidebar">
          <li class="text-right"><a href="#top"><small>Back to Top</small></a></li>
        </ul>
      </div>

      <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
        <ol class="breadcrumb" id="top">
          <li class="active dropdown"><a href="index.html">Home</a></li>
          <li class="active dropdown"><a href="syntax_json.html">JSON</a></li>
          <li class="dropdown"><a href="json_AtlasGlossaryCategory.html">AtlasGlossaryCategory</a></li>
        </ol>

      <h1 class="page-header">AtlasGlossaryCategory <small>Data Type</small></h1>

      <p></p>

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

      <table class="table datatype-properties">
        <caption>Properties</caption>
        <thead>
        <tr>
          <th>name</th>
          <th>data type</th>
          <th>description</th>
        </tr>
        </thead>
        <tbody>
        <tr>
          <td>  <span id="prop-anchor" class="property-name">anchor</span>
</td>
          <td>  <span class="datatype-reference"><a href="json_AtlasGlossaryHeader.html">AtlasGlossaryHeader</a>
</span>
</td>
          <td>  <span class="property-description"></span>
</td>
        </tr>
        <tr>
          <td>  <span id="prop-childrenCategories" class="property-name">childrenCategories</span>
</td>
          <td>  <span class="datatype-reference">array of <a href="json_AtlasRelatedCategoryHeader.html">AtlasRelatedCategoryHeader</a>
</span>
</td>
          <td>  <span class="property-description"></span>
</td>
        </tr>
        <tr>
          <td>  <span id="prop-parentCategory" class="property-name">parentCategory</span>
</td>
          <td>  <span class="datatype-reference"><a href="json_AtlasRelatedCategoryHeader.html">AtlasRelatedCategoryHeader</a>
</span>
</td>
          <td>  <span class="property-description"></span>
</td>
        </tr>
        <tr>
          <td>  <span id="prop-terms" class="property-name">terms</span>
</td>
          <td>  <span class="datatype-reference">array of <a href="json_AtlasRelatedTermHeader.html">AtlasRelatedTermHeader</a>
</span>
</td>
          <td>  <span class="property-description"></span>
</td>
        </tr>
        </tbody>
        <tr>
          <td colspan="3"><h5 class="text-muted">Properties inherited from <a href="json_AtlasGlossaryBaseObject.html">AtlasGlossaryBaseObject</a></h5></td>
        </tr>
        <tbody>
        <tr>
          <td><span class="property-name">additionalAttributes</span></td>
          <td><span class="datatype-reference">map of object
</span></td>
          <td><span class="property-description"></span></td>
        </tr>
        <tr>
          <td><span class="property-name">classifications</span></td>
          <td><span class="datatype-reference">array of <a href="json_AtlasClassification.html">AtlasClassification</a>
</span></td>
          <td><span class="property-description"></span></td>
        </tr>
        <tr>
          <td><span class="property-name">longDescription</span></td>
          <td><span class="datatype-reference">string
</span></td>
          <td><span class="property-description"></span></td>
        </tr>
        <tr>
          <td><span class="property-name">name</span></td>
          <td><span class="datatype-reference">string
</span></td>
          <td><span class="property-description"></span></td>
        </tr>
        <tr>
          <td><span class="property-name">qualifiedName</span></td>
          <td><span class="datatype-reference">string
</span></td>
          <td><span class="property-description"></span></td>
        </tr>
        <tr>
          <td><span class="property-name">shortDescription</span></td>
          <td><span class="datatype-reference">string
</span></td>
          <td><span class="property-description"></span></td>
        </tr>
        </tbody>
        <tr>
          <td colspan="3"><h5 class="text-muted">Properties inherited from <a href="json_AtlasBaseModelObject.html">AtlasBaseModelObject</a></h5></td>
        </tr>
        <tbody>
        <tr>
          <td><span class="property-name">guid</span></td>
          <td><span class="datatype-reference">string
</span></td>
          <td><span class="property-description"></span></td>
        </tr>
        </tbody>
      </table>

      <p class="lead">Example</p>
      
      <pre class="prettyprint language-js example">{
  &quot;anchor&quot; : {
    &quot;displayText&quot; : &quot;...&quot;,
    &quot;glossaryGuid&quot; : &quot;...&quot;,
    &quot;relationGuid&quot; : &quot;...&quot;
  },
  &quot;childrenCategories&quot; : [ {
    &quot;categoryGuid&quot; : &quot;...&quot;,
    &quot;description&quot; : &quot;...&quot;,
    &quot;displayText&quot; : &quot;...&quot;,
    &quot;parentCategoryGuid&quot; : &quot;...&quot;,
    &quot;relationGuid&quot; : &quot;...&quot;
  }, {
    &quot;categoryGuid&quot; : &quot;...&quot;,
    &quot;description&quot; : &quot;...&quot;,
    &quot;displayText&quot; : &quot;...&quot;,
    &quot;parentCategoryGuid&quot; : &quot;...&quot;,
    &quot;relationGuid&quot; : &quot;...&quot;
  } ],
  &quot;parentCategory&quot; : {
    &quot;categoryGuid&quot; : &quot;...&quot;,
    &quot;description&quot; : &quot;...&quot;,
    &quot;displayText&quot; : &quot;...&quot;,
    &quot;parentCategoryGuid&quot; : &quot;...&quot;,
    &quot;relationGuid&quot; : &quot;...&quot;
  },
  &quot;terms&quot; : [ {
    &quot;description&quot; : &quot;...&quot;,
    &quot;displayText&quot; : &quot;...&quot;,
    &quot;expression&quot; : &quot;...&quot;,
    &quot;qualifiedName&quot; : &quot;...&quot;,
    &quot;relationGuid&quot; : &quot;...&quot;,
    &quot;source&quot; : &quot;...&quot;,
    &quot;status&quot; : &quot;OBSOLETE&quot;,
    &quot;steward&quot; : &quot;...&quot;,
    &quot;termGuid&quot; : &quot;...&quot;
  }, {
    &quot;description&quot; : &quot;...&quot;,
    &quot;displayText&quot; : &quot;...&quot;,
    &quot;expression&quot; : &quot;...&quot;,
    &quot;qualifiedName&quot; : &quot;...&quot;,
    &quot;relationGuid&quot; : &quot;...&quot;,
    &quot;source&quot; : &quot;...&quot;,
    &quot;status&quot; : &quot;DEPRECATED&quot;,
    &quot;steward&quot; : &quot;...&quot;,
    &quot;termGuid&quot; : &quot;...&quot;
  } ],
  &quot;additionalAttributes&quot; : {
    &quot;property1&quot; : { },
    &quot;property2&quot; : { }
  },
  &quot;classifications&quot; : [ {
    &quot;entityGuid&quot; : &quot;...&quot;,
    &quot;entityStatus&quot; : &quot;PURGED&quot;,
    &quot;propagate&quot; : true,
    &quot;removePropagationsOnEntityDelete&quot; : true,
    &quot;validityPeriods&quot; : [ {
      &quot;endTime&quot; : &quot;...&quot;,
      &quot;startTime&quot; : &quot;...&quot;,
      &quot;timeZone&quot; : &quot;...&quot;
    }, {
      &quot;endTime&quot; : &quot;...&quot;,
      &quot;startTime&quot; : &quot;...&quot;,
      &quot;timeZone&quot; : &quot;...&quot;
    } ],
    &quot;attributes&quot; : {
      &quot;property1&quot; : { },
      &quot;property2&quot; : { }
    },
    &quot;typeName&quot; : &quot;...&quot;
  }, {
    &quot;entityGuid&quot; : &quot;...&quot;,
    &quot;entityStatus&quot; : &quot;PURGED&quot;,
    &quot;propagate&quot; : true,
    &quot;removePropagationsOnEntityDelete&quot; : true,
    &quot;validityPeriods&quot; : [ {
      &quot;endTime&quot; : &quot;...&quot;,
      &quot;startTime&quot; : &quot;...&quot;,
      &quot;timeZone&quot; : &quot;...&quot;
    }, {
      &quot;endTime&quot; : &quot;...&quot;,
      &quot;startTime&quot; : &quot;...&quot;,
      &quot;timeZone&quot; : &quot;...&quot;
    } ],
    &quot;attributes&quot; : {
      &quot;property1&quot; : { },
      &quot;property2&quot; : { }
    },
    &quot;typeName&quot; : &quot;...&quot;
  } ],
  &quot;longDescription&quot; : &quot;...&quot;,
  &quot;name&quot; : &quot;...&quot;,
  &quot;qualifiedName&quot; : &quot;...&quot;,
  &quot;shortDescription&quot; : &quot;...&quot;,
  &quot;guid&quot; : &quot;...&quot;
}</pre>

        <footer class="footer">
          <div class="container">
            <p class="text-muted">Generated by <a href="http://enunciate.webcohesion.com">Enunciate</a>.</p>
          </div>
        </footer>

      </div>
    </div>
  </div>


  <!-- JavaScript placed at the end of the document so the pages load faster. -->
  <script src="https://code.jquery.com/jquery-1.12.2.min.js"></script>

  <!-- Bootstrap core JavaScript
  ================================================== -->
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>

  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
  <script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js" type="text/javascript"></script>
  <script>
    $(function() {
      $(".clickable-row").click(function() {
        window.document.location = $(this).data("href");
      });

      $('[data-toggle="tooltip"]').tooltip()
    });
  </script>

</body>
</html>
