<!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: AtlasGlossary</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: AtlasGlossary</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_AtlasGlossary.html">AtlasGlossary</a></li>
        </ol>

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

      <p></p>

      <dl class="dl-horizontal">
        <dt>Subtypes</dt>
        <dd><a href="json_AtlasGlossaryExtInfo.html">AtlasGlossaryExtInfo</a></dd>
      </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-categories" class="property-name">categories</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-language" class="property-name">language</span>
</td>
          <td>  <span class="datatype-reference">string
</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>
        <tr>
          <td>  <span id="prop-usage" class="property-name">usage</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_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;categories&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;language&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;DRAFT&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;ACTIVE&quot;,
    &quot;steward&quot; : &quot;...&quot;,
    &quot;termGuid&quot; : &quot;...&quot;
  } ],
  &quot;usage&quot; : &quot;...&quot;,
  &quot;additionalAttributes&quot; : {
    &quot;property1&quot; : { },
    &quot;property2&quot; : { }
  },
  &quot;classifications&quot; : [ {
    &quot;entityGuid&quot; : &quot;...&quot;,
    &quot;entityStatus&quot; : &quot;DELETED&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;DELETED&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>
