<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="analyticsadmin_v1beta.html">Google Analytics Admin API</a> . <a href="analyticsadmin_v1beta.properties.html">properties</a> . <a href="analyticsadmin_v1beta.properties.customDimensions.html">customDimensions</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#archive">archive(name, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Archives a CustomDimension on a property.</p>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Creates a CustomDimension.</p>
<p class="toc_element">
  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
<p class="firstline">Lookup for a single CustomDimension.</p>
<p class="toc_element">
  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists CustomDimensions on a property.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next()</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
<p class="firstline">Updates a CustomDimension on a property.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="archive">archive(name, body=None, x__xgafv=None)</code>
  <pre>Archives a CustomDimension on a property.

Args:
  name: string, Required. The name of the CustomDimension to archive. Example format: properties/1234/customDimensions/5678 (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for ArchiveCustomDimension RPC.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
}</pre>
</div>

<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
  <pre>Creates a CustomDimension.

Args:
  parent: string, Required. Example format: properties/1234 (required)
  body: object, The request body.
    The object takes the form of:

{ # A definition for a CustomDimension.
  &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
  &quot;disallowAdsPersonalization&quot;: True or False, # Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.
  &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}
  &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. If this is an item-scoped dimension, then this is the parameter name found in the eCommerce items array. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.
  &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this dimension.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A definition for a CustomDimension.
  &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
  &quot;disallowAdsPersonalization&quot;: True or False, # Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.
  &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}
  &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. If this is an item-scoped dimension, then this is the parameter name found in the eCommerce items array. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.
  &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this dimension.
}</pre>
</div>

<div class="method">
    <code class="details" id="get">get(name, x__xgafv=None)</code>
  <pre>Lookup for a single CustomDimension.

Args:
  name: string, Required. The name of the CustomDimension to get. Example format: properties/1234/customDimensions/5678 (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A definition for a CustomDimension.
  &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
  &quot;disallowAdsPersonalization&quot;: True or False, # Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.
  &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}
  &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. If this is an item-scoped dimension, then this is the parameter name found in the eCommerce items array. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.
  &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this dimension.
}</pre>
</div>

<div class="method">
    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
  <pre>Lists CustomDimensions on a property.

Args:
  parent: string, Required. Example format: properties/1234 (required)
  pageSize: integer, The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).
  pageToken: string, A page token, received from a previous `ListCustomDimensions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCustomDimensions` must match the call that provided the page token.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for ListCustomDimensions RPC.
  &quot;customDimensions&quot;: [ # List of CustomDimensions.
    { # A definition for a CustomDimension.
      &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
      &quot;disallowAdsPersonalization&quot;: True or False, # Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.
      &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
      &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}
      &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. If this is an item-scoped dimension, then this is the parameter name found in the eCommerce items array. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.
      &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this dimension.
    },
  ],
  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
}</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next()</code>
  <pre>Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call &#x27;execute()&#x27; on to request the next
          page. Returns None if there are no more items in the collection.
        </pre>
</div>

<div class="method">
    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
  <pre>Updates a CustomDimension on a property.

Args:
  name: string, Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension} (required)
  body: object, The request body.
    The object takes the form of:

{ # A definition for a CustomDimension.
  &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
  &quot;disallowAdsPersonalization&quot;: True or False, # Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.
  &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}
  &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. If this is an item-scoped dimension, then this is the parameter name found in the eCommerce items array. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.
  &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this dimension.
}

  updateMask: string, Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string &quot;*&quot; to match all fields.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A definition for a CustomDimension.
  &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
  &quot;disallowAdsPersonalization&quot;: True or False, # Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.
  &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}
  &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. If this is an item-scoped dimension, then this is the parameter name found in the eCommerce items array. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.
  &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this dimension.
}</pre>
</div>

</body></html>