<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="apigee_v1.html">Apigee API</a> . <a href="apigee_v1.organizations.html">organizations</a> . <a href="apigee_v1.organizations.environments.html">environments</a> . <a href="apigee_v1.organizations.environments.analytics.html">analytics</a> . <a href="apigee_v1.organizations.environments.analytics.admin.html">admin</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#getSchemav2">getSchemav2(name, type=None, x__xgafv=None)</a></code></p>
<p class="firstline">Get a list of metrics and dimensions which can be used for creating</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="getSchemav2">getSchemav2(name, type=None, x__xgafv=None)</code>
  <pre>Get a list of metrics and dimensions which can be used for creating
analytics queries and reports.
Each schema element contains the name of the field with its associated type
and if it is either custom field or standard field.

Args:
  name: string, Required. The parent organization and environment names. Must be of the
form `organizations/{org}/environments/{env}/analytics/admin/schemav2`. (required)
  type: string, Required. Type refers to the dataset name whose schema needs to be
retrieved E.g. type=fact or type=agg_cus1
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response for Schema call
    &quot;metrics&quot;: [ # List of schema fields grouped as dimensions. These are fields
        # that can be used with an aggregate function such as sum, avg, min, max.
      { # Message type for the schema element
        &quot;properties&quot;: { # Message type for schema property # Property of the schema field
            # E.g.
            # {
            #    &quot;createTime&quot;: &quot;2016-02-26T10:23:09.592Z&quot;,
            #    &quot;custom&quot;: &quot;false&quot;,
            #    &quot;type&quot;: &quot;string&quot;
            # }
          &quot;custom&quot;: &quot;A String&quot;, # Custom is a flag signifying if the field was provided as
              # part of the standard dataset or a custom field created by the customer
          &quot;createTime&quot;: &quot;A String&quot;, # Creation time of the field
          &quot;type&quot;: &quot;A String&quot;, # Data type of the field.
        },
        &quot;name&quot;: &quot;A String&quot;, # Name of the field
      },
    ],
    &quot;dimensions&quot;: [ # List of schema fiels grouped as dimensions.
      { # Message type for the schema element
        &quot;properties&quot;: { # Message type for schema property # Property of the schema field
            # E.g.
            # {
            #    &quot;createTime&quot;: &quot;2016-02-26T10:23:09.592Z&quot;,
            #    &quot;custom&quot;: &quot;false&quot;,
            #    &quot;type&quot;: &quot;string&quot;
            # }
          &quot;custom&quot;: &quot;A String&quot;, # Custom is a flag signifying if the field was provided as
              # part of the standard dataset or a custom field created by the customer
          &quot;createTime&quot;: &quot;A String&quot;, # Creation time of the field
          &quot;type&quot;: &quot;A String&quot;, # Data type of the field.
        },
        &quot;name&quot;: &quot;A String&quot;, # Name of the field
      },
    ],
    &quot;meta&quot;: [ # Additional metadata associated with schema. This is
        # a legacy field and usually consists of an empty array of strings.
      &quot;A String&quot;,
    ],
  }</pre>
</div>

</body></html>