<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="dfareporting_v3_3.html">Campaign Manager 360 API</a> . <a href="dfareporting_v3_3.accounts.html">accounts</a></h1>
<h2>Instance Methods</h2>
<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="#get">get(profileId, id, x__xgafv=None)</a></code></p>
<p class="firstline">Gets one account by ID.</p>
<p class="toc_element">
  <code><a href="#list">list(profileId, active=None, ids=None, maxResults=None, pageToken=None, searchString=None, sortField=None, sortOrder=None, x__xgafv=None)</a></code></p>
<p class="firstline">Retrieves the list of accounts, possibly filtered. This method supports paging.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#patch">patch(profileId, id, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Updates an existing account. This method supports patch semantics.</p>
<p class="toc_element">
  <code><a href="#update">update(profileId, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Updates an existing account.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="get">get(profileId, id, x__xgafv=None)</code>
  <pre>Gets one account by ID.

Args:
  profileId: string, User profile ID associated with this request. (required)
  id: string, Account ID. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Contains properties of a Campaign Manager account.
  &quot;accountPermissionIds&quot;: [ # Account permissions assigned to this account.
    &quot;A String&quot;,
  ],
  &quot;accountProfile&quot;: &quot;A String&quot;, # Profile for this account. This is a read-only field that can be left blank.
  &quot;active&quot;: True or False, # Whether this account is active.
  &quot;activeAdsLimitTier&quot;: &quot;A String&quot;, # Maximum number of active ads allowed for this account.
  &quot;activeViewOptOut&quot;: True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
  &quot;availablePermissionIds&quot;: [ # User role permissions available to the user roles of this account.
    &quot;A String&quot;,
  ],
  &quot;countryId&quot;: &quot;A String&quot;, # ID of the country associated with this account.
  &quot;currencyId&quot;: &quot;A String&quot;, # ID of currency associated with this account. This is a required field. Acceptable values are: - &quot;1&quot; for USD - &quot;2&quot; for GBP - &quot;3&quot; for ESP - &quot;4&quot; for SEK - &quot;5&quot; for CAD - &quot;6&quot; for JPY - &quot;7&quot; for DEM - &quot;8&quot; for AUD - &quot;9&quot; for FRF - &quot;10&quot; for ITL - &quot;11&quot; for DKK - &quot;12&quot; for NOK - &quot;13&quot; for FIM - &quot;14&quot; for ZAR - &quot;15&quot; for IEP - &quot;16&quot; for NLG - &quot;17&quot; for EUR - &quot;18&quot; for KRW - &quot;19&quot; for TWD - &quot;20&quot; for SGD - &quot;21&quot; for CNY - &quot;22&quot; for HKD - &quot;23&quot; for NZD - &quot;24&quot; for MYR - &quot;25&quot; for BRL - &quot;26&quot; for PTE - &quot;28&quot; for CLP - &quot;29&quot; for TRY - &quot;30&quot; for ARS - &quot;31&quot; for PEN - &quot;32&quot; for ILS - &quot;33&quot; for CHF - &quot;34&quot; for VEF - &quot;35&quot; for COP - &quot;36&quot; for GTQ - &quot;37&quot; for PLN - &quot;39&quot; for INR - &quot;40&quot; for THB - &quot;41&quot; for IDR - &quot;42&quot; for CZK - &quot;43&quot; for RON - &quot;44&quot; for HUF - &quot;45&quot; for RUB - &quot;46&quot; for AED - &quot;47&quot; for BGN - &quot;48&quot; for HRK - &quot;49&quot; for MXN - &quot;50&quot; for NGN - &quot;51&quot; for EGP
  &quot;defaultCreativeSizeId&quot;: &quot;A String&quot;, # Default placement dimensions for this account.
  &quot;description&quot;: &quot;A String&quot;, # Description of this account.
  &quot;id&quot;: &quot;A String&quot;, # ID of this account. This is a read-only, auto-generated field.
  &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;dfareporting#account&quot;.
  &quot;locale&quot;: &quot;A String&quot;, # Locale of this account. Acceptable values are: - &quot;cs&quot; (Czech) - &quot;de&quot; (German) - &quot;en&quot; (English) - &quot;en-GB&quot; (English United Kingdom) - &quot;es&quot; (Spanish) - &quot;fr&quot; (French) - &quot;it&quot; (Italian) - &quot;ja&quot; (Japanese) - &quot;ko&quot; (Korean) - &quot;pl&quot; (Polish) - &quot;pt-BR&quot; (Portuguese Brazil) - &quot;ru&quot; (Russian) - &quot;sv&quot; (Swedish) - &quot;tr&quot; (Turkish) - &quot;zh-CN&quot; (Chinese Simplified) - &quot;zh-TW&quot; (Chinese Traditional)
  &quot;maximumImageSize&quot;: &quot;A String&quot;, # Maximum image size allowed for this account, in kilobytes. Value must be greater than or equal to 1.
  &quot;name&quot;: &quot;A String&quot;, # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
  &quot;nielsenOcrEnabled&quot;: True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
  &quot;reportsConfiguration&quot;: { # Reporting Configuration # Reporting configuration of this account.
    &quot;exposureToConversionEnabled&quot;: True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
    &quot;lookbackConfiguration&quot;: { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
      &quot;clickDuration&quot;: 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.
      &quot;postImpressionActivitiesDuration&quot;: 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.
    },
    &quot;reportGenerationTimeZoneId&quot;: &quot;A String&quot;, # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser. Acceptable values are: - &quot;1&quot; for &quot;America/New_York&quot; - &quot;2&quot; for &quot;Europe/London&quot; - &quot;3&quot; for &quot;Europe/Paris&quot; - &quot;4&quot; for &quot;Africa/Johannesburg&quot; - &quot;5&quot; for &quot;Asia/Jerusalem&quot; - &quot;6&quot; for &quot;Asia/Shanghai&quot; - &quot;7&quot; for &quot;Asia/Hong_Kong&quot; - &quot;8&quot; for &quot;Asia/Tokyo&quot; - &quot;9&quot; for &quot;Australia/Sydney&quot; - &quot;10&quot; for &quot;Asia/Dubai&quot; - &quot;11&quot; for &quot;America/Los_Angeles&quot; - &quot;12&quot; for &quot;Pacific/Auckland&quot; - &quot;13&quot; for &quot;America/Sao_Paulo&quot; - &quot;16&quot; for &quot;America/Asuncion&quot; - &quot;17&quot; for &quot;America/Chicago&quot; - &quot;18&quot; for &quot;America/Denver&quot; - &quot;19&quot; for &quot;America/St_Johns&quot; - &quot;20&quot; for &quot;Asia/Dhaka&quot; - &quot;21&quot; for &quot;Asia/Jakarta&quot; - &quot;22&quot; for &quot;Asia/Kabul&quot; - &quot;23&quot; for &quot;Asia/Karachi&quot; - &quot;24&quot; for &quot;Asia/Calcutta&quot; - &quot;25&quot; for &quot;Asia/Pyongyang&quot; - &quot;26&quot; for &quot;Asia/Rangoon&quot; - &quot;27&quot; for &quot;Atlantic/Cape_Verde&quot; - &quot;28&quot; for &quot;Atlantic/South_Georgia&quot; - &quot;29&quot; for &quot;Australia/Adelaide&quot; - &quot;30&quot; for &quot;Australia/Lord_Howe&quot; - &quot;31&quot; for &quot;Europe/Moscow&quot; - &quot;32&quot; for &quot;Pacific/Kiritimati&quot; - &quot;35&quot; for &quot;Pacific/Norfolk&quot; - &quot;36&quot; for &quot;Pacific/Tongatapu&quot;
  },
  &quot;shareReportsWithTwitter&quot;: True or False, # Share Path to Conversion reports with Twitter.
  &quot;teaserSizeLimit&quot;: &quot;A String&quot;, # File size limit in kilobytes of Rich Media teaser creatives. Acceptable values are 1 to 10240, inclusive.
}</pre>
</div>

<div class="method">
    <code class="details" id="list">list(profileId, active=None, ids=None, maxResults=None, pageToken=None, searchString=None, sortField=None, sortOrder=None, x__xgafv=None)</code>
  <pre>Retrieves the list of accounts, possibly filtered. This method supports paging.

Args:
  profileId: string, User profile ID associated with this request. (required)
  active: boolean, Select only active accounts. Don&#x27;t set this field to select both active and non-active accounts.
  ids: string, Select only accounts with these IDs. (repeated)
  maxResults: integer, Maximum number of results to return.
  pageToken: string, Value of the nextPageToken from the previous result page.
  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, &quot;account*2015&quot; will return objects with names like &quot;account June 2015&quot;, &quot;account April 2015&quot;, or simply &quot;account 2015&quot;. Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of &quot;account&quot; will match objects with name &quot;my account&quot;, &quot;account 2015&quot;, or simply &quot;account&quot;.
  sortField: string, Field by which to sort the list.
    Allowed values
      ID - 
      NAME - 
  sortOrder: string, Order of sorted results.
    Allowed values
      ASCENDING - 
      DESCENDING - 
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Account List Response
  &quot;accounts&quot;: [ # Account collection.
    { # Contains properties of a Campaign Manager account.
      &quot;accountPermissionIds&quot;: [ # Account permissions assigned to this account.
        &quot;A String&quot;,
      ],
      &quot;accountProfile&quot;: &quot;A String&quot;, # Profile for this account. This is a read-only field that can be left blank.
      &quot;active&quot;: True or False, # Whether this account is active.
      &quot;activeAdsLimitTier&quot;: &quot;A String&quot;, # Maximum number of active ads allowed for this account.
      &quot;activeViewOptOut&quot;: True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
      &quot;availablePermissionIds&quot;: [ # User role permissions available to the user roles of this account.
        &quot;A String&quot;,
      ],
      &quot;countryId&quot;: &quot;A String&quot;, # ID of the country associated with this account.
      &quot;currencyId&quot;: &quot;A String&quot;, # ID of currency associated with this account. This is a required field. Acceptable values are: - &quot;1&quot; for USD - &quot;2&quot; for GBP - &quot;3&quot; for ESP - &quot;4&quot; for SEK - &quot;5&quot; for CAD - &quot;6&quot; for JPY - &quot;7&quot; for DEM - &quot;8&quot; for AUD - &quot;9&quot; for FRF - &quot;10&quot; for ITL - &quot;11&quot; for DKK - &quot;12&quot; for NOK - &quot;13&quot; for FIM - &quot;14&quot; for ZAR - &quot;15&quot; for IEP - &quot;16&quot; for NLG - &quot;17&quot; for EUR - &quot;18&quot; for KRW - &quot;19&quot; for TWD - &quot;20&quot; for SGD - &quot;21&quot; for CNY - &quot;22&quot; for HKD - &quot;23&quot; for NZD - &quot;24&quot; for MYR - &quot;25&quot; for BRL - &quot;26&quot; for PTE - &quot;28&quot; for CLP - &quot;29&quot; for TRY - &quot;30&quot; for ARS - &quot;31&quot; for PEN - &quot;32&quot; for ILS - &quot;33&quot; for CHF - &quot;34&quot; for VEF - &quot;35&quot; for COP - &quot;36&quot; for GTQ - &quot;37&quot; for PLN - &quot;39&quot; for INR - &quot;40&quot; for THB - &quot;41&quot; for IDR - &quot;42&quot; for CZK - &quot;43&quot; for RON - &quot;44&quot; for HUF - &quot;45&quot; for RUB - &quot;46&quot; for AED - &quot;47&quot; for BGN - &quot;48&quot; for HRK - &quot;49&quot; for MXN - &quot;50&quot; for NGN - &quot;51&quot; for EGP
      &quot;defaultCreativeSizeId&quot;: &quot;A String&quot;, # Default placement dimensions for this account.
      &quot;description&quot;: &quot;A String&quot;, # Description of this account.
      &quot;id&quot;: &quot;A String&quot;, # ID of this account. This is a read-only, auto-generated field.
      &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;dfareporting#account&quot;.
      &quot;locale&quot;: &quot;A String&quot;, # Locale of this account. Acceptable values are: - &quot;cs&quot; (Czech) - &quot;de&quot; (German) - &quot;en&quot; (English) - &quot;en-GB&quot; (English United Kingdom) - &quot;es&quot; (Spanish) - &quot;fr&quot; (French) - &quot;it&quot; (Italian) - &quot;ja&quot; (Japanese) - &quot;ko&quot; (Korean) - &quot;pl&quot; (Polish) - &quot;pt-BR&quot; (Portuguese Brazil) - &quot;ru&quot; (Russian) - &quot;sv&quot; (Swedish) - &quot;tr&quot; (Turkish) - &quot;zh-CN&quot; (Chinese Simplified) - &quot;zh-TW&quot; (Chinese Traditional)
      &quot;maximumImageSize&quot;: &quot;A String&quot;, # Maximum image size allowed for this account, in kilobytes. Value must be greater than or equal to 1.
      &quot;name&quot;: &quot;A String&quot;, # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
      &quot;nielsenOcrEnabled&quot;: True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
      &quot;reportsConfiguration&quot;: { # Reporting Configuration # Reporting configuration of this account.
        &quot;exposureToConversionEnabled&quot;: True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
        &quot;lookbackConfiguration&quot;: { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
          &quot;clickDuration&quot;: 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.
          &quot;postImpressionActivitiesDuration&quot;: 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.
        },
        &quot;reportGenerationTimeZoneId&quot;: &quot;A String&quot;, # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser. Acceptable values are: - &quot;1&quot; for &quot;America/New_York&quot; - &quot;2&quot; for &quot;Europe/London&quot; - &quot;3&quot; for &quot;Europe/Paris&quot; - &quot;4&quot; for &quot;Africa/Johannesburg&quot; - &quot;5&quot; for &quot;Asia/Jerusalem&quot; - &quot;6&quot; for &quot;Asia/Shanghai&quot; - &quot;7&quot; for &quot;Asia/Hong_Kong&quot; - &quot;8&quot; for &quot;Asia/Tokyo&quot; - &quot;9&quot; for &quot;Australia/Sydney&quot; - &quot;10&quot; for &quot;Asia/Dubai&quot; - &quot;11&quot; for &quot;America/Los_Angeles&quot; - &quot;12&quot; for &quot;Pacific/Auckland&quot; - &quot;13&quot; for &quot;America/Sao_Paulo&quot; - &quot;16&quot; for &quot;America/Asuncion&quot; - &quot;17&quot; for &quot;America/Chicago&quot; - &quot;18&quot; for &quot;America/Denver&quot; - &quot;19&quot; for &quot;America/St_Johns&quot; - &quot;20&quot; for &quot;Asia/Dhaka&quot; - &quot;21&quot; for &quot;Asia/Jakarta&quot; - &quot;22&quot; for &quot;Asia/Kabul&quot; - &quot;23&quot; for &quot;Asia/Karachi&quot; - &quot;24&quot; for &quot;Asia/Calcutta&quot; - &quot;25&quot; for &quot;Asia/Pyongyang&quot; - &quot;26&quot; for &quot;Asia/Rangoon&quot; - &quot;27&quot; for &quot;Atlantic/Cape_Verde&quot; - &quot;28&quot; for &quot;Atlantic/South_Georgia&quot; - &quot;29&quot; for &quot;Australia/Adelaide&quot; - &quot;30&quot; for &quot;Australia/Lord_Howe&quot; - &quot;31&quot; for &quot;Europe/Moscow&quot; - &quot;32&quot; for &quot;Pacific/Kiritimati&quot; - &quot;35&quot; for &quot;Pacific/Norfolk&quot; - &quot;36&quot; for &quot;Pacific/Tongatapu&quot;
      },
      &quot;shareReportsWithTwitter&quot;: True or False, # Share Path to Conversion reports with Twitter.
      &quot;teaserSizeLimit&quot;: &quot;A String&quot;, # File size limit in kilobytes of Rich Media teaser creatives. Acceptable values are 1 to 10240, inclusive.
    },
  ],
  &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;dfareporting#accountsListResponse&quot;.
  &quot;nextPageToken&quot;: &quot;A String&quot;, # Pagination token to be used for the next list operation.
}</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next(previous_request, previous_response)</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(profileId, id, body=None, x__xgafv=None)</code>
  <pre>Updates an existing account. This method supports patch semantics.

Args:
  profileId: string, User profile ID associated with this request. (required)
  id: string, Account ID. (required)
  body: object, The request body.
    The object takes the form of:

{ # Contains properties of a Campaign Manager account.
  &quot;accountPermissionIds&quot;: [ # Account permissions assigned to this account.
    &quot;A String&quot;,
  ],
  &quot;accountProfile&quot;: &quot;A String&quot;, # Profile for this account. This is a read-only field that can be left blank.
  &quot;active&quot;: True or False, # Whether this account is active.
  &quot;activeAdsLimitTier&quot;: &quot;A String&quot;, # Maximum number of active ads allowed for this account.
  &quot;activeViewOptOut&quot;: True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
  &quot;availablePermissionIds&quot;: [ # User role permissions available to the user roles of this account.
    &quot;A String&quot;,
  ],
  &quot;countryId&quot;: &quot;A String&quot;, # ID of the country associated with this account.
  &quot;currencyId&quot;: &quot;A String&quot;, # ID of currency associated with this account. This is a required field. Acceptable values are: - &quot;1&quot; for USD - &quot;2&quot; for GBP - &quot;3&quot; for ESP - &quot;4&quot; for SEK - &quot;5&quot; for CAD - &quot;6&quot; for JPY - &quot;7&quot; for DEM - &quot;8&quot; for AUD - &quot;9&quot; for FRF - &quot;10&quot; for ITL - &quot;11&quot; for DKK - &quot;12&quot; for NOK - &quot;13&quot; for FIM - &quot;14&quot; for ZAR - &quot;15&quot; for IEP - &quot;16&quot; for NLG - &quot;17&quot; for EUR - &quot;18&quot; for KRW - &quot;19&quot; for TWD - &quot;20&quot; for SGD - &quot;21&quot; for CNY - &quot;22&quot; for HKD - &quot;23&quot; for NZD - &quot;24&quot; for MYR - &quot;25&quot; for BRL - &quot;26&quot; for PTE - &quot;28&quot; for CLP - &quot;29&quot; for TRY - &quot;30&quot; for ARS - &quot;31&quot; for PEN - &quot;32&quot; for ILS - &quot;33&quot; for CHF - &quot;34&quot; for VEF - &quot;35&quot; for COP - &quot;36&quot; for GTQ - &quot;37&quot; for PLN - &quot;39&quot; for INR - &quot;40&quot; for THB - &quot;41&quot; for IDR - &quot;42&quot; for CZK - &quot;43&quot; for RON - &quot;44&quot; for HUF - &quot;45&quot; for RUB - &quot;46&quot; for AED - &quot;47&quot; for BGN - &quot;48&quot; for HRK - &quot;49&quot; for MXN - &quot;50&quot; for NGN - &quot;51&quot; for EGP
  &quot;defaultCreativeSizeId&quot;: &quot;A String&quot;, # Default placement dimensions for this account.
  &quot;description&quot;: &quot;A String&quot;, # Description of this account.
  &quot;id&quot;: &quot;A String&quot;, # ID of this account. This is a read-only, auto-generated field.
  &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;dfareporting#account&quot;.
  &quot;locale&quot;: &quot;A String&quot;, # Locale of this account. Acceptable values are: - &quot;cs&quot; (Czech) - &quot;de&quot; (German) - &quot;en&quot; (English) - &quot;en-GB&quot; (English United Kingdom) - &quot;es&quot; (Spanish) - &quot;fr&quot; (French) - &quot;it&quot; (Italian) - &quot;ja&quot; (Japanese) - &quot;ko&quot; (Korean) - &quot;pl&quot; (Polish) - &quot;pt-BR&quot; (Portuguese Brazil) - &quot;ru&quot; (Russian) - &quot;sv&quot; (Swedish) - &quot;tr&quot; (Turkish) - &quot;zh-CN&quot; (Chinese Simplified) - &quot;zh-TW&quot; (Chinese Traditional)
  &quot;maximumImageSize&quot;: &quot;A String&quot;, # Maximum image size allowed for this account, in kilobytes. Value must be greater than or equal to 1.
  &quot;name&quot;: &quot;A String&quot;, # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
  &quot;nielsenOcrEnabled&quot;: True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
  &quot;reportsConfiguration&quot;: { # Reporting Configuration # Reporting configuration of this account.
    &quot;exposureToConversionEnabled&quot;: True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
    &quot;lookbackConfiguration&quot;: { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
      &quot;clickDuration&quot;: 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.
      &quot;postImpressionActivitiesDuration&quot;: 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.
    },
    &quot;reportGenerationTimeZoneId&quot;: &quot;A String&quot;, # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser. Acceptable values are: - &quot;1&quot; for &quot;America/New_York&quot; - &quot;2&quot; for &quot;Europe/London&quot; - &quot;3&quot; for &quot;Europe/Paris&quot; - &quot;4&quot; for &quot;Africa/Johannesburg&quot; - &quot;5&quot; for &quot;Asia/Jerusalem&quot; - &quot;6&quot; for &quot;Asia/Shanghai&quot; - &quot;7&quot; for &quot;Asia/Hong_Kong&quot; - &quot;8&quot; for &quot;Asia/Tokyo&quot; - &quot;9&quot; for &quot;Australia/Sydney&quot; - &quot;10&quot; for &quot;Asia/Dubai&quot; - &quot;11&quot; for &quot;America/Los_Angeles&quot; - &quot;12&quot; for &quot;Pacific/Auckland&quot; - &quot;13&quot; for &quot;America/Sao_Paulo&quot; - &quot;16&quot; for &quot;America/Asuncion&quot; - &quot;17&quot; for &quot;America/Chicago&quot; - &quot;18&quot; for &quot;America/Denver&quot; - &quot;19&quot; for &quot;America/St_Johns&quot; - &quot;20&quot; for &quot;Asia/Dhaka&quot; - &quot;21&quot; for &quot;Asia/Jakarta&quot; - &quot;22&quot; for &quot;Asia/Kabul&quot; - &quot;23&quot; for &quot;Asia/Karachi&quot; - &quot;24&quot; for &quot;Asia/Calcutta&quot; - &quot;25&quot; for &quot;Asia/Pyongyang&quot; - &quot;26&quot; for &quot;Asia/Rangoon&quot; - &quot;27&quot; for &quot;Atlantic/Cape_Verde&quot; - &quot;28&quot; for &quot;Atlantic/South_Georgia&quot; - &quot;29&quot; for &quot;Australia/Adelaide&quot; - &quot;30&quot; for &quot;Australia/Lord_Howe&quot; - &quot;31&quot; for &quot;Europe/Moscow&quot; - &quot;32&quot; for &quot;Pacific/Kiritimati&quot; - &quot;35&quot; for &quot;Pacific/Norfolk&quot; - &quot;36&quot; for &quot;Pacific/Tongatapu&quot;
  },
  &quot;shareReportsWithTwitter&quot;: True or False, # Share Path to Conversion reports with Twitter.
  &quot;teaserSizeLimit&quot;: &quot;A String&quot;, # File size limit in kilobytes of Rich Media teaser creatives. Acceptable values are 1 to 10240, inclusive.
}

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

Returns:
  An object of the form:

    { # Contains properties of a Campaign Manager account.
  &quot;accountPermissionIds&quot;: [ # Account permissions assigned to this account.
    &quot;A String&quot;,
  ],
  &quot;accountProfile&quot;: &quot;A String&quot;, # Profile for this account. This is a read-only field that can be left blank.
  &quot;active&quot;: True or False, # Whether this account is active.
  &quot;activeAdsLimitTier&quot;: &quot;A String&quot;, # Maximum number of active ads allowed for this account.
  &quot;activeViewOptOut&quot;: True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
  &quot;availablePermissionIds&quot;: [ # User role permissions available to the user roles of this account.
    &quot;A String&quot;,
  ],
  &quot;countryId&quot;: &quot;A String&quot;, # ID of the country associated with this account.
  &quot;currencyId&quot;: &quot;A String&quot;, # ID of currency associated with this account. This is a required field. Acceptable values are: - &quot;1&quot; for USD - &quot;2&quot; for GBP - &quot;3&quot; for ESP - &quot;4&quot; for SEK - &quot;5&quot; for CAD - &quot;6&quot; for JPY - &quot;7&quot; for DEM - &quot;8&quot; for AUD - &quot;9&quot; for FRF - &quot;10&quot; for ITL - &quot;11&quot; for DKK - &quot;12&quot; for NOK - &quot;13&quot; for FIM - &quot;14&quot; for ZAR - &quot;15&quot; for IEP - &quot;16&quot; for NLG - &quot;17&quot; for EUR - &quot;18&quot; for KRW - &quot;19&quot; for TWD - &quot;20&quot; for SGD - &quot;21&quot; for CNY - &quot;22&quot; for HKD - &quot;23&quot; for NZD - &quot;24&quot; for MYR - &quot;25&quot; for BRL - &quot;26&quot; for PTE - &quot;28&quot; for CLP - &quot;29&quot; for TRY - &quot;30&quot; for ARS - &quot;31&quot; for PEN - &quot;32&quot; for ILS - &quot;33&quot; for CHF - &quot;34&quot; for VEF - &quot;35&quot; for COP - &quot;36&quot; for GTQ - &quot;37&quot; for PLN - &quot;39&quot; for INR - &quot;40&quot; for THB - &quot;41&quot; for IDR - &quot;42&quot; for CZK - &quot;43&quot; for RON - &quot;44&quot; for HUF - &quot;45&quot; for RUB - &quot;46&quot; for AED - &quot;47&quot; for BGN - &quot;48&quot; for HRK - &quot;49&quot; for MXN - &quot;50&quot; for NGN - &quot;51&quot; for EGP
  &quot;defaultCreativeSizeId&quot;: &quot;A String&quot;, # Default placement dimensions for this account.
  &quot;description&quot;: &quot;A String&quot;, # Description of this account.
  &quot;id&quot;: &quot;A String&quot;, # ID of this account. This is a read-only, auto-generated field.
  &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;dfareporting#account&quot;.
  &quot;locale&quot;: &quot;A String&quot;, # Locale of this account. Acceptable values are: - &quot;cs&quot; (Czech) - &quot;de&quot; (German) - &quot;en&quot; (English) - &quot;en-GB&quot; (English United Kingdom) - &quot;es&quot; (Spanish) - &quot;fr&quot; (French) - &quot;it&quot; (Italian) - &quot;ja&quot; (Japanese) - &quot;ko&quot; (Korean) - &quot;pl&quot; (Polish) - &quot;pt-BR&quot; (Portuguese Brazil) - &quot;ru&quot; (Russian) - &quot;sv&quot; (Swedish) - &quot;tr&quot; (Turkish) - &quot;zh-CN&quot; (Chinese Simplified) - &quot;zh-TW&quot; (Chinese Traditional)
  &quot;maximumImageSize&quot;: &quot;A String&quot;, # Maximum image size allowed for this account, in kilobytes. Value must be greater than or equal to 1.
  &quot;name&quot;: &quot;A String&quot;, # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
  &quot;nielsenOcrEnabled&quot;: True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
  &quot;reportsConfiguration&quot;: { # Reporting Configuration # Reporting configuration of this account.
    &quot;exposureToConversionEnabled&quot;: True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
    &quot;lookbackConfiguration&quot;: { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
      &quot;clickDuration&quot;: 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.
      &quot;postImpressionActivitiesDuration&quot;: 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.
    },
    &quot;reportGenerationTimeZoneId&quot;: &quot;A String&quot;, # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser. Acceptable values are: - &quot;1&quot; for &quot;America/New_York&quot; - &quot;2&quot; for &quot;Europe/London&quot; - &quot;3&quot; for &quot;Europe/Paris&quot; - &quot;4&quot; for &quot;Africa/Johannesburg&quot; - &quot;5&quot; for &quot;Asia/Jerusalem&quot; - &quot;6&quot; for &quot;Asia/Shanghai&quot; - &quot;7&quot; for &quot;Asia/Hong_Kong&quot; - &quot;8&quot; for &quot;Asia/Tokyo&quot; - &quot;9&quot; for &quot;Australia/Sydney&quot; - &quot;10&quot; for &quot;Asia/Dubai&quot; - &quot;11&quot; for &quot;America/Los_Angeles&quot; - &quot;12&quot; for &quot;Pacific/Auckland&quot; - &quot;13&quot; for &quot;America/Sao_Paulo&quot; - &quot;16&quot; for &quot;America/Asuncion&quot; - &quot;17&quot; for &quot;America/Chicago&quot; - &quot;18&quot; for &quot;America/Denver&quot; - &quot;19&quot; for &quot;America/St_Johns&quot; - &quot;20&quot; for &quot;Asia/Dhaka&quot; - &quot;21&quot; for &quot;Asia/Jakarta&quot; - &quot;22&quot; for &quot;Asia/Kabul&quot; - &quot;23&quot; for &quot;Asia/Karachi&quot; - &quot;24&quot; for &quot;Asia/Calcutta&quot; - &quot;25&quot; for &quot;Asia/Pyongyang&quot; - &quot;26&quot; for &quot;Asia/Rangoon&quot; - &quot;27&quot; for &quot;Atlantic/Cape_Verde&quot; - &quot;28&quot; for &quot;Atlantic/South_Georgia&quot; - &quot;29&quot; for &quot;Australia/Adelaide&quot; - &quot;30&quot; for &quot;Australia/Lord_Howe&quot; - &quot;31&quot; for &quot;Europe/Moscow&quot; - &quot;32&quot; for &quot;Pacific/Kiritimati&quot; - &quot;35&quot; for &quot;Pacific/Norfolk&quot; - &quot;36&quot; for &quot;Pacific/Tongatapu&quot;
  },
  &quot;shareReportsWithTwitter&quot;: True or False, # Share Path to Conversion reports with Twitter.
  &quot;teaserSizeLimit&quot;: &quot;A String&quot;, # File size limit in kilobytes of Rich Media teaser creatives. Acceptable values are 1 to 10240, inclusive.
}</pre>
</div>

<div class="method">
    <code class="details" id="update">update(profileId, body=None, x__xgafv=None)</code>
  <pre>Updates an existing account.

Args:
  profileId: string, User profile ID associated with this request. (required)
  body: object, The request body.
    The object takes the form of:

{ # Contains properties of a Campaign Manager account.
  &quot;accountPermissionIds&quot;: [ # Account permissions assigned to this account.
    &quot;A String&quot;,
  ],
  &quot;accountProfile&quot;: &quot;A String&quot;, # Profile for this account. This is a read-only field that can be left blank.
  &quot;active&quot;: True or False, # Whether this account is active.
  &quot;activeAdsLimitTier&quot;: &quot;A String&quot;, # Maximum number of active ads allowed for this account.
  &quot;activeViewOptOut&quot;: True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
  &quot;availablePermissionIds&quot;: [ # User role permissions available to the user roles of this account.
    &quot;A String&quot;,
  ],
  &quot;countryId&quot;: &quot;A String&quot;, # ID of the country associated with this account.
  &quot;currencyId&quot;: &quot;A String&quot;, # ID of currency associated with this account. This is a required field. Acceptable values are: - &quot;1&quot; for USD - &quot;2&quot; for GBP - &quot;3&quot; for ESP - &quot;4&quot; for SEK - &quot;5&quot; for CAD - &quot;6&quot; for JPY - &quot;7&quot; for DEM - &quot;8&quot; for AUD - &quot;9&quot; for FRF - &quot;10&quot; for ITL - &quot;11&quot; for DKK - &quot;12&quot; for NOK - &quot;13&quot; for FIM - &quot;14&quot; for ZAR - &quot;15&quot; for IEP - &quot;16&quot; for NLG - &quot;17&quot; for EUR - &quot;18&quot; for KRW - &quot;19&quot; for TWD - &quot;20&quot; for SGD - &quot;21&quot; for CNY - &quot;22&quot; for HKD - &quot;23&quot; for NZD - &quot;24&quot; for MYR - &quot;25&quot; for BRL - &quot;26&quot; for PTE - &quot;28&quot; for CLP - &quot;29&quot; for TRY - &quot;30&quot; for ARS - &quot;31&quot; for PEN - &quot;32&quot; for ILS - &quot;33&quot; for CHF - &quot;34&quot; for VEF - &quot;35&quot; for COP - &quot;36&quot; for GTQ - &quot;37&quot; for PLN - &quot;39&quot; for INR - &quot;40&quot; for THB - &quot;41&quot; for IDR - &quot;42&quot; for CZK - &quot;43&quot; for RON - &quot;44&quot; for HUF - &quot;45&quot; for RUB - &quot;46&quot; for AED - &quot;47&quot; for BGN - &quot;48&quot; for HRK - &quot;49&quot; for MXN - &quot;50&quot; for NGN - &quot;51&quot; for EGP
  &quot;defaultCreativeSizeId&quot;: &quot;A String&quot;, # Default placement dimensions for this account.
  &quot;description&quot;: &quot;A String&quot;, # Description of this account.
  &quot;id&quot;: &quot;A String&quot;, # ID of this account. This is a read-only, auto-generated field.
  &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;dfareporting#account&quot;.
  &quot;locale&quot;: &quot;A String&quot;, # Locale of this account. Acceptable values are: - &quot;cs&quot; (Czech) - &quot;de&quot; (German) - &quot;en&quot; (English) - &quot;en-GB&quot; (English United Kingdom) - &quot;es&quot; (Spanish) - &quot;fr&quot; (French) - &quot;it&quot; (Italian) - &quot;ja&quot; (Japanese) - &quot;ko&quot; (Korean) - &quot;pl&quot; (Polish) - &quot;pt-BR&quot; (Portuguese Brazil) - &quot;ru&quot; (Russian) - &quot;sv&quot; (Swedish) - &quot;tr&quot; (Turkish) - &quot;zh-CN&quot; (Chinese Simplified) - &quot;zh-TW&quot; (Chinese Traditional)
  &quot;maximumImageSize&quot;: &quot;A String&quot;, # Maximum image size allowed for this account, in kilobytes. Value must be greater than or equal to 1.
  &quot;name&quot;: &quot;A String&quot;, # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
  &quot;nielsenOcrEnabled&quot;: True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
  &quot;reportsConfiguration&quot;: { # Reporting Configuration # Reporting configuration of this account.
    &quot;exposureToConversionEnabled&quot;: True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
    &quot;lookbackConfiguration&quot;: { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
      &quot;clickDuration&quot;: 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.
      &quot;postImpressionActivitiesDuration&quot;: 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.
    },
    &quot;reportGenerationTimeZoneId&quot;: &quot;A String&quot;, # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser. Acceptable values are: - &quot;1&quot; for &quot;America/New_York&quot; - &quot;2&quot; for &quot;Europe/London&quot; - &quot;3&quot; for &quot;Europe/Paris&quot; - &quot;4&quot; for &quot;Africa/Johannesburg&quot; - &quot;5&quot; for &quot;Asia/Jerusalem&quot; - &quot;6&quot; for &quot;Asia/Shanghai&quot; - &quot;7&quot; for &quot;Asia/Hong_Kong&quot; - &quot;8&quot; for &quot;Asia/Tokyo&quot; - &quot;9&quot; for &quot;Australia/Sydney&quot; - &quot;10&quot; for &quot;Asia/Dubai&quot; - &quot;11&quot; for &quot;America/Los_Angeles&quot; - &quot;12&quot; for &quot;Pacific/Auckland&quot; - &quot;13&quot; for &quot;America/Sao_Paulo&quot; - &quot;16&quot; for &quot;America/Asuncion&quot; - &quot;17&quot; for &quot;America/Chicago&quot; - &quot;18&quot; for &quot;America/Denver&quot; - &quot;19&quot; for &quot;America/St_Johns&quot; - &quot;20&quot; for &quot;Asia/Dhaka&quot; - &quot;21&quot; for &quot;Asia/Jakarta&quot; - &quot;22&quot; for &quot;Asia/Kabul&quot; - &quot;23&quot; for &quot;Asia/Karachi&quot; - &quot;24&quot; for &quot;Asia/Calcutta&quot; - &quot;25&quot; for &quot;Asia/Pyongyang&quot; - &quot;26&quot; for &quot;Asia/Rangoon&quot; - &quot;27&quot; for &quot;Atlantic/Cape_Verde&quot; - &quot;28&quot; for &quot;Atlantic/South_Georgia&quot; - &quot;29&quot; for &quot;Australia/Adelaide&quot; - &quot;30&quot; for &quot;Australia/Lord_Howe&quot; - &quot;31&quot; for &quot;Europe/Moscow&quot; - &quot;32&quot; for &quot;Pacific/Kiritimati&quot; - &quot;35&quot; for &quot;Pacific/Norfolk&quot; - &quot;36&quot; for &quot;Pacific/Tongatapu&quot;
  },
  &quot;shareReportsWithTwitter&quot;: True or False, # Share Path to Conversion reports with Twitter.
  &quot;teaserSizeLimit&quot;: &quot;A String&quot;, # File size limit in kilobytes of Rich Media teaser creatives. Acceptable values are 1 to 10240, inclusive.
}

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

Returns:
  An object of the form:

    { # Contains properties of a Campaign Manager account.
  &quot;accountPermissionIds&quot;: [ # Account permissions assigned to this account.
    &quot;A String&quot;,
  ],
  &quot;accountProfile&quot;: &quot;A String&quot;, # Profile for this account. This is a read-only field that can be left blank.
  &quot;active&quot;: True or False, # Whether this account is active.
  &quot;activeAdsLimitTier&quot;: &quot;A String&quot;, # Maximum number of active ads allowed for this account.
  &quot;activeViewOptOut&quot;: True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
  &quot;availablePermissionIds&quot;: [ # User role permissions available to the user roles of this account.
    &quot;A String&quot;,
  ],
  &quot;countryId&quot;: &quot;A String&quot;, # ID of the country associated with this account.
  &quot;currencyId&quot;: &quot;A String&quot;, # ID of currency associated with this account. This is a required field. Acceptable values are: - &quot;1&quot; for USD - &quot;2&quot; for GBP - &quot;3&quot; for ESP - &quot;4&quot; for SEK - &quot;5&quot; for CAD - &quot;6&quot; for JPY - &quot;7&quot; for DEM - &quot;8&quot; for AUD - &quot;9&quot; for FRF - &quot;10&quot; for ITL - &quot;11&quot; for DKK - &quot;12&quot; for NOK - &quot;13&quot; for FIM - &quot;14&quot; for ZAR - &quot;15&quot; for IEP - &quot;16&quot; for NLG - &quot;17&quot; for EUR - &quot;18&quot; for KRW - &quot;19&quot; for TWD - &quot;20&quot; for SGD - &quot;21&quot; for CNY - &quot;22&quot; for HKD - &quot;23&quot; for NZD - &quot;24&quot; for MYR - &quot;25&quot; for BRL - &quot;26&quot; for PTE - &quot;28&quot; for CLP - &quot;29&quot; for TRY - &quot;30&quot; for ARS - &quot;31&quot; for PEN - &quot;32&quot; for ILS - &quot;33&quot; for CHF - &quot;34&quot; for VEF - &quot;35&quot; for COP - &quot;36&quot; for GTQ - &quot;37&quot; for PLN - &quot;39&quot; for INR - &quot;40&quot; for THB - &quot;41&quot; for IDR - &quot;42&quot; for CZK - &quot;43&quot; for RON - &quot;44&quot; for HUF - &quot;45&quot; for RUB - &quot;46&quot; for AED - &quot;47&quot; for BGN - &quot;48&quot; for HRK - &quot;49&quot; for MXN - &quot;50&quot; for NGN - &quot;51&quot; for EGP
  &quot;defaultCreativeSizeId&quot;: &quot;A String&quot;, # Default placement dimensions for this account.
  &quot;description&quot;: &quot;A String&quot;, # Description of this account.
  &quot;id&quot;: &quot;A String&quot;, # ID of this account. This is a read-only, auto-generated field.
  &quot;kind&quot;: &quot;A String&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;dfareporting#account&quot;.
  &quot;locale&quot;: &quot;A String&quot;, # Locale of this account. Acceptable values are: - &quot;cs&quot; (Czech) - &quot;de&quot; (German) - &quot;en&quot; (English) - &quot;en-GB&quot; (English United Kingdom) - &quot;es&quot; (Spanish) - &quot;fr&quot; (French) - &quot;it&quot; (Italian) - &quot;ja&quot; (Japanese) - &quot;ko&quot; (Korean) - &quot;pl&quot; (Polish) - &quot;pt-BR&quot; (Portuguese Brazil) - &quot;ru&quot; (Russian) - &quot;sv&quot; (Swedish) - &quot;tr&quot; (Turkish) - &quot;zh-CN&quot; (Chinese Simplified) - &quot;zh-TW&quot; (Chinese Traditional)
  &quot;maximumImageSize&quot;: &quot;A String&quot;, # Maximum image size allowed for this account, in kilobytes. Value must be greater than or equal to 1.
  &quot;name&quot;: &quot;A String&quot;, # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
  &quot;nielsenOcrEnabled&quot;: True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
  &quot;reportsConfiguration&quot;: { # Reporting Configuration # Reporting configuration of this account.
    &quot;exposureToConversionEnabled&quot;: True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
    &quot;lookbackConfiguration&quot;: { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
      &quot;clickDuration&quot;: 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.
      &quot;postImpressionActivitiesDuration&quot;: 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.
    },
    &quot;reportGenerationTimeZoneId&quot;: &quot;A String&quot;, # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser. Acceptable values are: - &quot;1&quot; for &quot;America/New_York&quot; - &quot;2&quot; for &quot;Europe/London&quot; - &quot;3&quot; for &quot;Europe/Paris&quot; - &quot;4&quot; for &quot;Africa/Johannesburg&quot; - &quot;5&quot; for &quot;Asia/Jerusalem&quot; - &quot;6&quot; for &quot;Asia/Shanghai&quot; - &quot;7&quot; for &quot;Asia/Hong_Kong&quot; - &quot;8&quot; for &quot;Asia/Tokyo&quot; - &quot;9&quot; for &quot;Australia/Sydney&quot; - &quot;10&quot; for &quot;Asia/Dubai&quot; - &quot;11&quot; for &quot;America/Los_Angeles&quot; - &quot;12&quot; for &quot;Pacific/Auckland&quot; - &quot;13&quot; for &quot;America/Sao_Paulo&quot; - &quot;16&quot; for &quot;America/Asuncion&quot; - &quot;17&quot; for &quot;America/Chicago&quot; - &quot;18&quot; for &quot;America/Denver&quot; - &quot;19&quot; for &quot;America/St_Johns&quot; - &quot;20&quot; for &quot;Asia/Dhaka&quot; - &quot;21&quot; for &quot;Asia/Jakarta&quot; - &quot;22&quot; for &quot;Asia/Kabul&quot; - &quot;23&quot; for &quot;Asia/Karachi&quot; - &quot;24&quot; for &quot;Asia/Calcutta&quot; - &quot;25&quot; for &quot;Asia/Pyongyang&quot; - &quot;26&quot; for &quot;Asia/Rangoon&quot; - &quot;27&quot; for &quot;Atlantic/Cape_Verde&quot; - &quot;28&quot; for &quot;Atlantic/South_Georgia&quot; - &quot;29&quot; for &quot;Australia/Adelaide&quot; - &quot;30&quot; for &quot;Australia/Lord_Howe&quot; - &quot;31&quot; for &quot;Europe/Moscow&quot; - &quot;32&quot; for &quot;Pacific/Kiritimati&quot; - &quot;35&quot; for &quot;Pacific/Norfolk&quot; - &quot;36&quot; for &quot;Pacific/Tongatapu&quot;
  },
  &quot;shareReportsWithTwitter&quot;: True or False, # Share Path to Conversion reports with Twitter.
  &quot;teaserSizeLimit&quot;: &quot;A String&quot;, # File size limit in kilobytes of Rich Media teaser creatives. Acceptable values are 1 to 10240, inclusive.
}</pre>
</div>

</body></html>