Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html
new file mode 100644
index 0000000..aff4cb1
--- /dev/null
+++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html
@@ -0,0 +1,7115 @@
+<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="adexchangebuyer2_v2beta1.html">Ad Exchange Buyer API II</a> . <a href="adexchangebuyer2_v2beta1.accounts.html">accounts</a> . <a href="adexchangebuyer2_v2beta1.accounts.proposals.html">proposals</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#accept">accept(accountId, proposalId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Mark the proposal as accepted at the given revision number. If the number</p>
+<p class="toc_element">
+  <code><a href="#addNote">addNote(accountId, proposalId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Create a new note and attach it to the proposal. The note is assigned</p>
+<p class="toc_element">
+  <code><a href="#cancelNegotiation">cancelNegotiation(accountId, proposalId, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Cancel an ongoing negotiation on a proposal. This does not cancel or end</p>
+<p class="toc_element">
+  <code><a href="#completeSetup">completeSetup(accountId, proposalId, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update the given proposal to indicate that setup has been completed.</p>
+<p class="toc_element">
+  <code><a href="#create">create(accountId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Create the given proposal. Each created proposal and any deals it contains</p>
+<p class="toc_element">
+  <code><a href="#get">get(accountId, proposalId, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets a proposal given its ID. The proposal is returned at its head</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, pageSize=None, pageToken=None, x__xgafv=None, filterSyntax=None, filter=None)</a></code></p>
+<p class="firstline">List proposals. A filter expression (PQL query) may be specified to</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="#pause">pause(accountId, proposalId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Update the given proposal to pause serving.</p>
+<p class="toc_element">
+  <code><a href="#resume">resume(accountId, proposalId, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Update the given proposal to resume serving.</p>
+<p class="toc_element">
+  <code><a href="#update">update(accountId, proposalId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Update the given proposal at the client known revision number. If the</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="accept">accept(accountId, proposalId, body, x__xgafv=None)</code>
+  <pre>Mark the proposal as accepted at the given revision number. If the number
+does not match the server's revision number an `ABORTED` error message will
+be returned. This call updates the proposal_state from `PROPOSED` to
+`BUYER_ACCEPTED`, or from `SELLER_ACCEPTED` to `FINALIZED`.
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  proposalId: string, The ID of the proposal to accept. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to accept a proposal.
+    "proposalRevision": "A String", # The last known client revision number of the proposal.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Note: this resource requires whitelisting for access. Please contact your
+      # account manager for access to Marketplace resources.
+      #
+      # Represents a proposal in the Marketplace. A proposal is the unit of
+      # negotiation between a seller and a buyer and contains deals which
+      # are served.
+      #
+      # Note: you can not update, create, or otherwise modify Private
+      # Auction or Preferred Deals deals through the API.
+      #
+      # Fields are updatable unless noted otherwise.
+    "sellerContacts": [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+    "updateTime": "A String", # Output only. The time when the proposal was last revised.
+    "proposalState": "A String", # Output only. The current state of the proposal.
+    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+        # Each update to the proposal or the deal causes the proposal revision number
+        # to auto-increment. The buyer keeps track of the last revision number they
+        # know of and pass it in when making an update. If the head revision number
+        # on the server has since incremented, then an ABORTED error is returned
+        # during the update operation to let the buyer know that a subsequent update
+        # was made.
+    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
+    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Ad Manager account ID.
+      "subAccountId": "A String", # Optional sub-account ID for the seller.
+      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+          # The seller account ID is then available to buyer in the product.
+    },
+    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+        # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
+      { # A deal represents a segment of inventory for displaying ads on.
+          # A proposal can contain multiple deals. A deal contains the terms and
+          # targeting information that is used for serving.
+        "updateTime": "A String", # Output only. The time when the deal was last updated.
+        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+            # If present on create, and the server `product_revision` has advanced sinced
+            # the passed-in `create_product_revision`, an `ABORTED` error will be
+            # returned.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "sellerContacts": [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            "email": "A String", # Email address for the contact.
+            "name": "A String", # The name of the contact.
+          },
+        ],
+        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+            # This will generally be stored in the granularity of one second since deal
+            # serving starts at seconds boundary. Any time specified with more
+            # granularity (e.g., in milliseconds) will be truncated towards the start of
+            # time in seconds.
+        "availableEndTime": "A String", # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+            # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
+            # in Ad Manager.
+            # Preferred Deal in Ad Manager.
+            # This doesn't apply to Private Auction and AdX Preferred Deals.
+          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
+          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          "creativeSpecifications": [
+            { # Represents information for a creative that is associated with a Programmatic
+                # Guaranteed/Preferred Deal in Ad Manager.
+              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+                { # Represents size of a single ad slot, or a creative.
+                  "width": "A String", # The width of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                  "sizeType": "A String", # The size type of the ad slot.
+                  "height": "A String", # The height of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                },
+              ],
+            },
+          ],
+        },
+        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+            # target ad inventory. For example, they can choose to target ad requests only
+            # if the user is in the US.
+            # Multiple types of targeting are always applied as a logical AND, unless noted
+            # otherwise.
+          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
+            "excludedPositionTypes": [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              "A String",
+            ],
+            "targetedPositionTypes": [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              "A String",
+            ],
+          },
+          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
+              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+            },
+            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+          },
+          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+              "A String",
+            ],
+            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+              "A String",
+            ],
+          },
+          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR'ed.
+            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn't
+                # apply.
+              "excludedUrls": [ # A list of URLs to be excluded.
+                "A String",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn't apply to Auction Packages.
+              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # Google Play Store URL.
+                  # iOS App ID (which is a number) can be found at the end of iTunes store URL.
+                  # First party mobile applications is either included or excluded.
+                "excludedAppIds": [ # A list of application IDs to be excluded.
+                  "A String",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            "targetedInventorySizes": [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+        },
+        "createProductId": "A String", # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
+        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
+        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+            # to see but are non-negotiable. These are set by the publisher.
+          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+            { # Frequency cap.
+              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+                  # amount of time over which impressions per user are counted and capped.
+              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
+              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+                  # specified time period.
+            },
+          ],
+          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
+          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+        },
+        "description": "A String", # Description for the deal terms.
+        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
+        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
+        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
+        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        "createTime": "A String", # Output only. The time of the deal creation.
+        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          "description": "A String", # Publisher provided description for the terms.
+          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
+            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
+          },
+          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as "America/Los_Angeles". For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+          },
+          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              "nanos": 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+            },
+          },
+          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+          },
+          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+        },
+        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        "displayName": "A String", # The name of the deal.
+        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        "syndicationProduct": "A String", # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND'd together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "key": "A String", # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+          },
+        ],
+        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+              # The deal is considered paused if either hasBuyerPaused or
+              # hasSellPaused is true.
+            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
+            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
+            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
+            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
+            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+          },
+        },
+        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+      },
+    ],
+    "proposalId": "A String", # Output only. The unique ID of the proposal.
+    "displayName": "A String", # The name for the proposal.
+    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
+    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    "notes": [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        "note": "A String", # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
+        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
+        "createTime": "A String", # Output only. The timestamp for when this note was created.
+        "noteId": "A String", # Output only. The unique ID for the note.
+      },
+    ],
+    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    "buyerContacts": [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="addNote">addNote(accountId, proposalId, body, x__xgafv=None)</code>
+  <pre>Create a new note and attach it to the proposal. The note is assigned
+a unique ID by the server.
+The proposal revision number will not increase when associated with a
+new note.
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  proposalId: string, The ID of the proposal to attach the note to. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request message for adding a note to a given proposal.
+    "note": { # A proposal may be associated to several notes. # Details of the note to add.
+      "note": "A String", # The actual note to attach.
+          # (max-length: 1024 unicode code units)
+          #
+          # Note: This field may be set only when creating the resource. Modifying
+          # this field while updating the resource will result in an error.
+      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
+      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
+      "createTime": "A String", # Output only. The timestamp for when this note was created.
+      "noteId": "A String", # Output only. The unique ID for the note.
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A proposal may be associated to several notes.
+    "note": "A String", # The actual note to attach.
+        # (max-length: 1024 unicode code units)
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+    "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
+    "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
+    "createTime": "A String", # Output only. The timestamp for when this note was created.
+    "noteId": "A String", # Output only. The unique ID for the note.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="cancelNegotiation">cancelNegotiation(accountId, proposalId, body=None, x__xgafv=None)</code>
+  <pre>Cancel an ongoing negotiation on a proposal. This does not cancel or end
+serving for the deals if the proposal has been finalized, but only cancels
+a negotiation unilaterally.
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  proposalId: string, The ID of the proposal to cancel negotiation for. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to cancel an ongoing negotiation.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Note: this resource requires whitelisting for access. Please contact your
+      # account manager for access to Marketplace resources.
+      #
+      # Represents a proposal in the Marketplace. A proposal is the unit of
+      # negotiation between a seller and a buyer and contains deals which
+      # are served.
+      #
+      # Note: you can not update, create, or otherwise modify Private
+      # Auction or Preferred Deals deals through the API.
+      #
+      # Fields are updatable unless noted otherwise.
+    "sellerContacts": [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+    "updateTime": "A String", # Output only. The time when the proposal was last revised.
+    "proposalState": "A String", # Output only. The current state of the proposal.
+    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+        # Each update to the proposal or the deal causes the proposal revision number
+        # to auto-increment. The buyer keeps track of the last revision number they
+        # know of and pass it in when making an update. If the head revision number
+        # on the server has since incremented, then an ABORTED error is returned
+        # during the update operation to let the buyer know that a subsequent update
+        # was made.
+    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
+    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Ad Manager account ID.
+      "subAccountId": "A String", # Optional sub-account ID for the seller.
+      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+          # The seller account ID is then available to buyer in the product.
+    },
+    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+        # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
+      { # A deal represents a segment of inventory for displaying ads on.
+          # A proposal can contain multiple deals. A deal contains the terms and
+          # targeting information that is used for serving.
+        "updateTime": "A String", # Output only. The time when the deal was last updated.
+        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+            # If present on create, and the server `product_revision` has advanced sinced
+            # the passed-in `create_product_revision`, an `ABORTED` error will be
+            # returned.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "sellerContacts": [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            "email": "A String", # Email address for the contact.
+            "name": "A String", # The name of the contact.
+          },
+        ],
+        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+            # This will generally be stored in the granularity of one second since deal
+            # serving starts at seconds boundary. Any time specified with more
+            # granularity (e.g., in milliseconds) will be truncated towards the start of
+            # time in seconds.
+        "availableEndTime": "A String", # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+            # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
+            # in Ad Manager.
+            # Preferred Deal in Ad Manager.
+            # This doesn't apply to Private Auction and AdX Preferred Deals.
+          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
+          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          "creativeSpecifications": [
+            { # Represents information for a creative that is associated with a Programmatic
+                # Guaranteed/Preferred Deal in Ad Manager.
+              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+                { # Represents size of a single ad slot, or a creative.
+                  "width": "A String", # The width of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                  "sizeType": "A String", # The size type of the ad slot.
+                  "height": "A String", # The height of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                },
+              ],
+            },
+          ],
+        },
+        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+            # target ad inventory. For example, they can choose to target ad requests only
+            # if the user is in the US.
+            # Multiple types of targeting are always applied as a logical AND, unless noted
+            # otherwise.
+          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
+            "excludedPositionTypes": [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              "A String",
+            ],
+            "targetedPositionTypes": [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              "A String",
+            ],
+          },
+          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
+              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+            },
+            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+          },
+          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+              "A String",
+            ],
+            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+              "A String",
+            ],
+          },
+          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR'ed.
+            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn't
+                # apply.
+              "excludedUrls": [ # A list of URLs to be excluded.
+                "A String",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn't apply to Auction Packages.
+              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # Google Play Store URL.
+                  # iOS App ID (which is a number) can be found at the end of iTunes store URL.
+                  # First party mobile applications is either included or excluded.
+                "excludedAppIds": [ # A list of application IDs to be excluded.
+                  "A String",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            "targetedInventorySizes": [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+        },
+        "createProductId": "A String", # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
+        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
+        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+            # to see but are non-negotiable. These are set by the publisher.
+          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+            { # Frequency cap.
+              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+                  # amount of time over which impressions per user are counted and capped.
+              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
+              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+                  # specified time period.
+            },
+          ],
+          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
+          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+        },
+        "description": "A String", # Description for the deal terms.
+        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
+        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
+        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
+        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        "createTime": "A String", # Output only. The time of the deal creation.
+        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          "description": "A String", # Publisher provided description for the terms.
+          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
+            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
+          },
+          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as "America/Los_Angeles". For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+          },
+          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              "nanos": 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+            },
+          },
+          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+          },
+          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+        },
+        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        "displayName": "A String", # The name of the deal.
+        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        "syndicationProduct": "A String", # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND'd together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "key": "A String", # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+          },
+        ],
+        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+              # The deal is considered paused if either hasBuyerPaused or
+              # hasSellPaused is true.
+            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
+            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
+            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
+            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
+            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+          },
+        },
+        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+      },
+    ],
+    "proposalId": "A String", # Output only. The unique ID of the proposal.
+    "displayName": "A String", # The name for the proposal.
+    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
+    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    "notes": [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        "note": "A String", # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
+        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
+        "createTime": "A String", # Output only. The timestamp for when this note was created.
+        "noteId": "A String", # Output only. The unique ID for the note.
+      },
+    ],
+    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    "buyerContacts": [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="completeSetup">completeSetup(accountId, proposalId, body=None, x__xgafv=None)</code>
+  <pre>Update the given proposal to indicate that setup has been completed.
+This method is called by the buyer when the line items have been created
+on their end for a finalized proposal and all the required creatives
+have been uploaded using the creatives API. This call updates the
+`is_setup_completed` bit on the proposal and also notifies the seller.
+The server will advance the revision number of the most recent proposal.
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  proposalId: string, The ID of the proposal to mark as setup completed. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for indicating that the proposal's setup step is complete.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Note: this resource requires whitelisting for access. Please contact your
+      # account manager for access to Marketplace resources.
+      #
+      # Represents a proposal in the Marketplace. A proposal is the unit of
+      # negotiation between a seller and a buyer and contains deals which
+      # are served.
+      #
+      # Note: you can not update, create, or otherwise modify Private
+      # Auction or Preferred Deals deals through the API.
+      #
+      # Fields are updatable unless noted otherwise.
+    "sellerContacts": [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+    "updateTime": "A String", # Output only. The time when the proposal was last revised.
+    "proposalState": "A String", # Output only. The current state of the proposal.
+    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+        # Each update to the proposal or the deal causes the proposal revision number
+        # to auto-increment. The buyer keeps track of the last revision number they
+        # know of and pass it in when making an update. If the head revision number
+        # on the server has since incremented, then an ABORTED error is returned
+        # during the update operation to let the buyer know that a subsequent update
+        # was made.
+    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
+    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Ad Manager account ID.
+      "subAccountId": "A String", # Optional sub-account ID for the seller.
+      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+          # The seller account ID is then available to buyer in the product.
+    },
+    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+        # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
+      { # A deal represents a segment of inventory for displaying ads on.
+          # A proposal can contain multiple deals. A deal contains the terms and
+          # targeting information that is used for serving.
+        "updateTime": "A String", # Output only. The time when the deal was last updated.
+        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+            # If present on create, and the server `product_revision` has advanced sinced
+            # the passed-in `create_product_revision`, an `ABORTED` error will be
+            # returned.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "sellerContacts": [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            "email": "A String", # Email address for the contact.
+            "name": "A String", # The name of the contact.
+          },
+        ],
+        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+            # This will generally be stored in the granularity of one second since deal
+            # serving starts at seconds boundary. Any time specified with more
+            # granularity (e.g., in milliseconds) will be truncated towards the start of
+            # time in seconds.
+        "availableEndTime": "A String", # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+            # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
+            # in Ad Manager.
+            # Preferred Deal in Ad Manager.
+            # This doesn't apply to Private Auction and AdX Preferred Deals.
+          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
+          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          "creativeSpecifications": [
+            { # Represents information for a creative that is associated with a Programmatic
+                # Guaranteed/Preferred Deal in Ad Manager.
+              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+                { # Represents size of a single ad slot, or a creative.
+                  "width": "A String", # The width of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                  "sizeType": "A String", # The size type of the ad slot.
+                  "height": "A String", # The height of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                },
+              ],
+            },
+          ],
+        },
+        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+            # target ad inventory. For example, they can choose to target ad requests only
+            # if the user is in the US.
+            # Multiple types of targeting are always applied as a logical AND, unless noted
+            # otherwise.
+          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
+            "excludedPositionTypes": [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              "A String",
+            ],
+            "targetedPositionTypes": [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              "A String",
+            ],
+          },
+          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
+              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+            },
+            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+          },
+          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+              "A String",
+            ],
+            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+              "A String",
+            ],
+          },
+          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR'ed.
+            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn't
+                # apply.
+              "excludedUrls": [ # A list of URLs to be excluded.
+                "A String",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn't apply to Auction Packages.
+              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # Google Play Store URL.
+                  # iOS App ID (which is a number) can be found at the end of iTunes store URL.
+                  # First party mobile applications is either included or excluded.
+                "excludedAppIds": [ # A list of application IDs to be excluded.
+                  "A String",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            "targetedInventorySizes": [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+        },
+        "createProductId": "A String", # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
+        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
+        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+            # to see but are non-negotiable. These are set by the publisher.
+          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+            { # Frequency cap.
+              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+                  # amount of time over which impressions per user are counted and capped.
+              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
+              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+                  # specified time period.
+            },
+          ],
+          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
+          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+        },
+        "description": "A String", # Description for the deal terms.
+        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
+        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
+        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
+        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        "createTime": "A String", # Output only. The time of the deal creation.
+        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          "description": "A String", # Publisher provided description for the terms.
+          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
+            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
+          },
+          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as "America/Los_Angeles". For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+          },
+          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              "nanos": 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+            },
+          },
+          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+          },
+          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+        },
+        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        "displayName": "A String", # The name of the deal.
+        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        "syndicationProduct": "A String", # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND'd together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "key": "A String", # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+          },
+        ],
+        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+              # The deal is considered paused if either hasBuyerPaused or
+              # hasSellPaused is true.
+            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
+            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
+            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
+            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
+            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+          },
+        },
+        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+      },
+    ],
+    "proposalId": "A String", # Output only. The unique ID of the proposal.
+    "displayName": "A String", # The name for the proposal.
+    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
+    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    "notes": [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        "note": "A String", # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
+        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
+        "createTime": "A String", # Output only. The timestamp for when this note was created.
+        "noteId": "A String", # Output only. The unique ID for the note.
+      },
+    ],
+    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    "buyerContacts": [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(accountId, body, x__xgafv=None)</code>
+  <pre>Create the given proposal. Each created proposal and any deals it contains
+are assigned a unique ID by the server.
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Note: this resource requires whitelisting for access. Please contact your
+    # account manager for access to Marketplace resources.
+    # 
+    # Represents a proposal in the Marketplace. A proposal is the unit of
+    # negotiation between a seller and a buyer and contains deals which
+    # are served.
+    # 
+    # Note: you can not update, create, or otherwise modify Private
+    # Auction or Preferred Deals deals through the API.
+    # 
+    # Fields are updatable unless noted otherwise.
+  "sellerContacts": [ # Output only. Contact information for the seller.
+    { # Contains information on how a buyer or seller can be reached.
+      "email": "A String", # Email address for the contact.
+      "name": "A String", # The name of the contact.
+    },
+  ],
+  "updateTime": "A String", # Output only. The time when the proposal was last revised.
+  "proposalState": "A String", # Output only. The current state of the proposal.
+  "proposalRevision": "A String", # Output only. The revision number for the proposal.
+      # Each update to the proposal or the deal causes the proposal revision number
+      # to auto-increment. The buyer keeps track of the last revision number they
+      # know of and pass it in when making an update. If the head revision number
+      # on the server has since incremented, then an ABORTED error is returned
+      # during the update operation to let the buyer know that a subsequent update
+      # was made.
+  "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+    "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+        # operations (max-length: 1024 unicode code units).
+  },
+  "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
+      # proposal.
+  "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+      # Authorized Buyers account ID.
+    "accountId": "A String", # Authorized Buyers account ID of the buyer.
+  },
+  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
+  "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+      # 
+      # Note: This field may be set only when creating the resource. Modifying
+      # this field while updating the resource will result in an error.
+      # Ad Manager account ID.
+    "subAccountId": "A String", # Optional sub-account ID for the seller.
+    "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+        # The seller account ID is then available to buyer in the product.
+  },
+  "deals": [ # The deals associated with this proposal. For Private Auction proposals
+      # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
+    { # A deal represents a segment of inventory for displaying ads on.
+        # A proposal can contain multiple deals. A deal contains the terms and
+        # targeting information that is used for serving.
+      "updateTime": "A String", # Output only. The time when the deal was last updated.
+      "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+          # If present on create, and the server `product_revision` has advanced sinced
+          # the passed-in `create_product_revision`, an `ABORTED` error will be
+          # returned.
+          #
+          # Note: This field may be set only when creating the resource. Modifying
+          # this field while updating the resource will result in an error.
+      "sellerContacts": [ # Output only. Seller contact information for the deal.
+        { # Contains information on how a buyer or seller can be reached.
+          "email": "A String", # Email address for the contact.
+          "name": "A String", # The name of the contact.
+        },
+      ],
+      "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+          # This will generally be stored in the granularity of one second since deal
+          # serving starts at seconds boundary. Any time specified with more
+          # granularity (e.g., in milliseconds) will be truncated towards the start of
+          # time in seconds.
+      "availableEndTime": "A String", # Proposed flight end time of the deal.
+          # This will generally be stored in a granularity of a second.
+          # A value is not required for Private Auction deals or Preferred Deals.
+      "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+          # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
+          # in Ad Manager.
+          # Preferred Deal in Ad Manager.
+          # This doesn't apply to Private Auction and AdX Preferred Deals.
+        "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
+        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+        "creativeSpecifications": [
+          { # Represents information for a creative that is associated with a Programmatic
+              # Guaranteed/Preferred Deal in Ad Manager.
+            "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
+              "width": "A String", # The width of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+              "sizeType": "A String", # The size type of the ad slot.
+              "height": "A String", # The height of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+            },
+            "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+        ],
+      },
+      "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+          # target ad inventory. For example, they can choose to target ad requests only
+          # if the user is in the US.
+          # Multiple types of targeting are always applied as a logical AND, unless noted
+          # otherwise.
+        "videoTargeting": { # Represents targeting information about video. # Video targeting information.
+          "excludedPositionTypes": [ # A list of video positions to be excluded.
+              # Position types can either be included or excluded (XOR).
+            "A String",
+          ],
+          "targetedPositionTypes": [ # A list of video positions to be included.
+              # When the included list is present, the excluded list must be empty.
+              # When the excluded list is present, the included list must be empty.
+            "A String",
+          ],
+        },
+        "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+          "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+              # included and excluded numeric IDs.
+            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+              "A String",
+            ],
+            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+              "A String",
+            ],
+          },
+          "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
+            "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+            "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+          },
+          "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+              # included and excluded numeric IDs.
+            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+              "A String",
+            ],
+            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+              "A String",
+            ],
+          },
+        },
+        "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+            # included and excluded numeric IDs.
+          "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+            "A String",
+          ],
+          "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+            "A String",
+          ],
+        },
+        "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+            # mobile applications.
+            # Different placement targeting types will be logically OR'ed.
+          "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+              # For Private Auction and AdX Preferred Deals, URLs are either included or
+              # excluded.
+              # For Programmatic Guaranteed and Preferred Deals, this doesn't
+              # apply.
+            "excludedUrls": [ # A list of URLs to be excluded.
+              "A String",
+            ],
+            "targetedUrls": [ # A list of URLs to be included.
+              "A String",
+            ],
+          },
+          "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+              # This doesn't apply to Auction Packages.
+            "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+                # display the ads in.
+                # publishers own.
+                # Mobile application IDs are from App Store and Google Play Store.
+                # Android App ID, for example, com.google.android.apps.maps, can be found in
+                # Google Play Store URL.
+                # iOS App ID (which is a number) can be found at the end of iTunes store URL.
+                # First party mobile applications is either included or excluded.
+              "excludedAppIds": [ # A list of application IDs to be excluded.
+                "A String",
+              ],
+              "targetedAppIds": [ # A list of application IDs to be included.
+                "A String",
+              ],
+            },
+          },
+        },
+        "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+            # request. It only applies to Private Auction, AdX Preferred Deals and
+            # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+            # and Preferred Deals in Ad Manager.
+          "targetedInventorySizes": [ # A list of inventory sizes to be included.
+            { # Represents size of a single ad slot, or a creative.
+              "width": "A String", # The width of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+              "sizeType": "A String", # The size type of the ad slot.
+              "height": "A String", # The height of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+            },
+          ],
+          "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
+            { # Represents size of a single ad slot, or a creative.
+              "width": "A String", # The width of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+              "sizeType": "A String", # The size type of the ad slot.
+              "height": "A String", # The height of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+            },
+          ],
+        },
+      },
+      "createProductId": "A String", # The product ID from which this deal was created.
+          #
+          # Note: This field may be set only when creating the resource. Modifying
+          # this field while updating the resource will result in an error.
+      "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
+      "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
+      "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+          # to see but are non-negotiable. These are set by the publisher.
+        "frequencyCaps": [ # Output only. Specifies any frequency caps.
+          { # Frequency cap.
+            "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+                # amount of time over which impressions per user are counted and capped.
+            "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
+                # which impressions per user are counted and capped.
+            "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+                # specified time period.
+          },
+        ],
+        "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
+        "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+      },
+      "description": "A String", # Description for the deal terms.
+      "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
+      "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
+      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
+      "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
+          # finalized. This is the deal ID that shows up in serving/reporting etc.
+      "createTime": "A String", # Output only. The time of the deal creation.
+      "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+          # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+          # and expected impressions from the publisher.
+        "description": "A String", # Publisher provided description for the terms.
+        "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+          "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
+              # of guaranteed looks that the buyer is guaranteeing to buy.
+          "fixedPrices": [ # Fixed price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                # a particular buyer or buyer/advertiser pair, we look for the most specific
+                # matching rule - we first look for a rule matching the buyer and advertiser,
+                # next a rule with the buyer but an empty advertiser list, and otherwise look
+                # for a matching rule where no buyer is set.
+              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                  # (if the
+                  # advertisers match, and there's no more specific rule matching the buyer).
+                  # Authorized Buyers account ID.
+                "accountId": "A String", # Authorized Buyers account ID of the buyer.
+              },
+              "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                  # If empty, all advertisers with this buyer pay this price.
+                "A String",
+              ],
+              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  "nanos": 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  "units": "A String", # The whole units of the amount.
+                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                },
+              },
+            },
+          ],
+          "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
+          "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
+        },
+        "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
+            # time zone used to mark the boundaries of a day. It should be an
+            # IANA TZ name, such as "America/Los_Angeles". For more information,
+            # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+        "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
+            # Can be set by buyer or seller.
+        "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+            # the API at this time, but can be returned in a get or list request.
+          "fixedPrices": [ # Fixed price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                # a particular buyer or buyer/advertiser pair, we look for the most specific
+                # matching rule - we first look for a rule matching the buyer and advertiser,
+                # next a rule with the buyer but an empty advertiser list, and otherwise look
+                # for a matching rule where no buyer is set.
+              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                  # (if the
+                  # advertisers match, and there's no more specific rule matching the buyer).
+                  # Authorized Buyers account ID.
+                "accountId": "A String", # Authorized Buyers account ID of the buyer.
+              },
+              "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                  # If empty, all advertisers with this buyer pay this price.
+                "A String",
+              ],
+              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  "nanos": 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  "units": "A String", # The whole units of the amount.
+                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                },
+              },
+            },
+          ],
+        },
+        "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+            # Can be set by buyer or seller.
+          "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+          "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+            "nanos": 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+          },
+        },
+        "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+            # by the seller, but they can be returned in a get or list request.
+          "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                # a particular buyer or buyer/advertiser pair, we look for the most specific
+                # matching rule - we first look for a rule matching the buyer and advertiser,
+                # next a rule with the buyer but an empty advertiser list, and otherwise look
+                # for a matching rule where no buyer is set.
+              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                  # (if the
+                  # advertisers match, and there's no more specific rule matching the buyer).
+                  # Authorized Buyers account ID.
+                "accountId": "A String", # Authorized Buyers account ID of the buyer.
+              },
+              "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                  # If empty, all advertisers with this buyer pay this price.
+                "A String",
+              ],
+              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  "nanos": 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  "units": "A String", # The whole units of the amount.
+                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                },
+              },
+            },
+          ],
+          "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
+              # in this private auction.
+        },
+        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+      },
+      "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
+          # PUBLISHER means creative is provided by seller and ADVERTISER means
+          # creative is provided by buyer.
+      "displayName": "A String", # The name of the deal.
+      "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+        "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+            # operations (max-length: 1024 unicode code units).
+      },
+      "syndicationProduct": "A String", # The syndication product associated with the deal.
+          #
+          # Note: This field may be set only when creating the resource. Modifying
+          # this field while updating the resource will result in an error.
+      "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
+          # targeting entity is AND'd together.
+        { # Advertisers can target different attributes of an ad slot. For example,
+            # they can choose to show ads only if the user is in the U.S. Such
+            # targeting criteria can be specified as part of Shared Targeting.
+          "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
+              # together.
+            { # A polymorphic targeting value used as part of Shared Targeting.
+              "stringValue": "A String", # The string value to include/exclude.
+              "longValue": "A String", # The long value to include/exclude.
+              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                  # Filled in when key = GOOG_CREATIVE_SIZE
+                "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                    # Companion sizes may be filled in only when creative_size_type = VIDEO
+                  { # Message depicting the size of the creative. The units of width and
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                ],
+                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                    # only if creative_size_type = CreativeSizeType.NATIVE.
+                "allowedFormats": [ # What formats are allowed by the publisher.
+                    # If this repeated field is empty then all formats are allowed.
+                    # For example, if this field contains AllowedFormatType.AUDIO then the
+                    # publisher only allows an audio ad (without any video).
+                  "A String",
+                ],
+                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                    # creative_size_type = CreativeSizeType.VIDEO.
+                "creativeSizeType": "A String", # The creative size type.
+                "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                    # of the creative
+                    # height depend on the type of the targeting.
+                  "width": 42, # The width of the creative
+                  "height": 42, # The height of the creative.
+                },
+              },
+              "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                  # Filled in when the key is GOOG_DAYPART_TARGETING.
+                  # The definition of this targeting is derived from the structure
+                  # used by Ad Manager.
+                "dayParts": [ # A list of day part targeting criterion.
+                  { # Daypart targeting message that specifies if the ad can be shown
+                      # only during certain parts of a day/week.
+                    "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                    "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                        # granularity). The end time is exclusive. This field is not available
+                        # for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                          # allow the value 60 if it allows leap-seconds.
+                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                          # to allow the value "24:00:00" for scenarios like business closing time.
+                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                    },
+                    "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                        # The start time is inclusive.
+                        # This field is not available for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                          # allow the value 60 if it allows leap-seconds.
+                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                          # to allow the value "24:00:00" for scenarios like business closing time.
+                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                    },
+                  },
+                ],
+                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+              },
+            },
+          ],
+          "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
+              # together.
+            { # A polymorphic targeting value used as part of Shared Targeting.
+              "stringValue": "A String", # The string value to include/exclude.
+              "longValue": "A String", # The long value to include/exclude.
+              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                  # Filled in when key = GOOG_CREATIVE_SIZE
+                "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                    # Companion sizes may be filled in only when creative_size_type = VIDEO
+                  { # Message depicting the size of the creative. The units of width and
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                ],
+                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                    # only if creative_size_type = CreativeSizeType.NATIVE.
+                "allowedFormats": [ # What formats are allowed by the publisher.
+                    # If this repeated field is empty then all formats are allowed.
+                    # For example, if this field contains AllowedFormatType.AUDIO then the
+                    # publisher only allows an audio ad (without any video).
+                  "A String",
+                ],
+                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                    # creative_size_type = CreativeSizeType.VIDEO.
+                "creativeSizeType": "A String", # The creative size type.
+                "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                    # of the creative
+                    # height depend on the type of the targeting.
+                  "width": 42, # The width of the creative
+                  "height": 42, # The height of the creative.
+                },
+              },
+              "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                  # Filled in when the key is GOOG_DAYPART_TARGETING.
+                  # The definition of this targeting is derived from the structure
+                  # used by Ad Manager.
+                "dayParts": [ # A list of day part targeting criterion.
+                  { # Daypart targeting message that specifies if the ad can be shown
+                      # only during certain parts of a day/week.
+                    "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                    "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                        # granularity). The end time is exclusive. This field is not available
+                        # for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                          # allow the value 60 if it allows leap-seconds.
+                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                          # to allow the value "24:00:00" for scenarios like business closing time.
+                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                    },
+                    "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                        # The start time is inclusive.
+                        # This field is not available for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                          # allow the value 60 if it allows leap-seconds.
+                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                          # to allow the value "24:00:00" for scenarios like business closing time.
+                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                    },
+                  },
+                ],
+                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+              },
+            },
+          ],
+          "key": "A String", # The key representing the shared targeting criterion.
+              # Targeting criteria defined by Google ad servers will begin with GOOG_.
+              # Third parties may define their own keys.
+              # A list of permissible keys along with the acceptable values will be
+              # provided as part of the external documentation.
+        },
+      ],
+      "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+        "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+            # The deal is considered paused if either hasBuyerPaused or
+            # hasSellPaused is true.
+          "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
+          "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
+          "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
+          "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
+          "firstPausedBy": "A String", # The role of the person who first paused this deal.
+        },
+      },
+      "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+          # deal.
+    },
+  ],
+  "proposalId": "A String", # Output only. The unique ID of the proposal.
+  "displayName": "A String", # The name for the proposal.
+  "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
+  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+      # 
+      # Note: This field may be set only when creating the resource. Modifying
+      # this field while updating the resource will result in an error.
+      # Authorized Buyers account ID.
+    "accountId": "A String", # Authorized Buyers account ID of the buyer.
+  },
+  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+      # proposal.
+  "notes": [ # Output only. The notes associated with this proposal.
+    { # A proposal may be associated to several notes.
+      "note": "A String", # The actual note to attach.
+          # (max-length: 1024 unicode code units)
+          #
+          # Note: This field may be set only when creating the resource. Modifying
+          # this field while updating the resource will result in an error.
+      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
+      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
+      "createTime": "A String", # Output only. The timestamp for when this note was created.
+      "noteId": "A String", # Output only. The unique ID for the note.
+    },
+  ],
+  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
+      # left a comment.
+  "buyerContacts": [ # Contact information for the buyer.
+    { # Contains information on how a buyer or seller can be reached.
+      "email": "A String", # Email address for the contact.
+      "name": "A String", # The name of the contact.
+    },
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Note: this resource requires whitelisting for access. Please contact your
+      # account manager for access to Marketplace resources.
+      #
+      # Represents a proposal in the Marketplace. A proposal is the unit of
+      # negotiation between a seller and a buyer and contains deals which
+      # are served.
+      #
+      # Note: you can not update, create, or otherwise modify Private
+      # Auction or Preferred Deals deals through the API.
+      #
+      # Fields are updatable unless noted otherwise.
+    "sellerContacts": [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+    "updateTime": "A String", # Output only. The time when the proposal was last revised.
+    "proposalState": "A String", # Output only. The current state of the proposal.
+    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+        # Each update to the proposal or the deal causes the proposal revision number
+        # to auto-increment. The buyer keeps track of the last revision number they
+        # know of and pass it in when making an update. If the head revision number
+        # on the server has since incremented, then an ABORTED error is returned
+        # during the update operation to let the buyer know that a subsequent update
+        # was made.
+    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
+    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Ad Manager account ID.
+      "subAccountId": "A String", # Optional sub-account ID for the seller.
+      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+          # The seller account ID is then available to buyer in the product.
+    },
+    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+        # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
+      { # A deal represents a segment of inventory for displaying ads on.
+          # A proposal can contain multiple deals. A deal contains the terms and
+          # targeting information that is used for serving.
+        "updateTime": "A String", # Output only. The time when the deal was last updated.
+        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+            # If present on create, and the server `product_revision` has advanced sinced
+            # the passed-in `create_product_revision`, an `ABORTED` error will be
+            # returned.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "sellerContacts": [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            "email": "A String", # Email address for the contact.
+            "name": "A String", # The name of the contact.
+          },
+        ],
+        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+            # This will generally be stored in the granularity of one second since deal
+            # serving starts at seconds boundary. Any time specified with more
+            # granularity (e.g., in milliseconds) will be truncated towards the start of
+            # time in seconds.
+        "availableEndTime": "A String", # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+            # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
+            # in Ad Manager.
+            # Preferred Deal in Ad Manager.
+            # This doesn't apply to Private Auction and AdX Preferred Deals.
+          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
+          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          "creativeSpecifications": [
+            { # Represents information for a creative that is associated with a Programmatic
+                # Guaranteed/Preferred Deal in Ad Manager.
+              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+                { # Represents size of a single ad slot, or a creative.
+                  "width": "A String", # The width of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                  "sizeType": "A String", # The size type of the ad slot.
+                  "height": "A String", # The height of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                },
+              ],
+            },
+          ],
+        },
+        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+            # target ad inventory. For example, they can choose to target ad requests only
+            # if the user is in the US.
+            # Multiple types of targeting are always applied as a logical AND, unless noted
+            # otherwise.
+          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
+            "excludedPositionTypes": [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              "A String",
+            ],
+            "targetedPositionTypes": [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              "A String",
+            ],
+          },
+          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
+              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+            },
+            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+          },
+          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+              "A String",
+            ],
+            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+              "A String",
+            ],
+          },
+          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR'ed.
+            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn't
+                # apply.
+              "excludedUrls": [ # A list of URLs to be excluded.
+                "A String",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn't apply to Auction Packages.
+              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # Google Play Store URL.
+                  # iOS App ID (which is a number) can be found at the end of iTunes store URL.
+                  # First party mobile applications is either included or excluded.
+                "excludedAppIds": [ # A list of application IDs to be excluded.
+                  "A String",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            "targetedInventorySizes": [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+        },
+        "createProductId": "A String", # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
+        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
+        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+            # to see but are non-negotiable. These are set by the publisher.
+          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+            { # Frequency cap.
+              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+                  # amount of time over which impressions per user are counted and capped.
+              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
+              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+                  # specified time period.
+            },
+          ],
+          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
+          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+        },
+        "description": "A String", # Description for the deal terms.
+        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
+        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
+        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
+        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        "createTime": "A String", # Output only. The time of the deal creation.
+        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          "description": "A String", # Publisher provided description for the terms.
+          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
+            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
+          },
+          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as "America/Los_Angeles". For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+          },
+          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              "nanos": 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+            },
+          },
+          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+          },
+          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+        },
+        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        "displayName": "A String", # The name of the deal.
+        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        "syndicationProduct": "A String", # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND'd together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "key": "A String", # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+          },
+        ],
+        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+              # The deal is considered paused if either hasBuyerPaused or
+              # hasSellPaused is true.
+            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
+            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
+            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
+            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
+            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+          },
+        },
+        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+      },
+    ],
+    "proposalId": "A String", # Output only. The unique ID of the proposal.
+    "displayName": "A String", # The name for the proposal.
+    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
+    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    "notes": [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        "note": "A String", # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
+        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
+        "createTime": "A String", # Output only. The timestamp for when this note was created.
+        "noteId": "A String", # Output only. The unique ID for the note.
+      },
+    ],
+    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    "buyerContacts": [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(accountId, proposalId, x__xgafv=None)</code>
+  <pre>Gets a proposal given its ID. The proposal is returned at its head
+revision.
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  proposalId: string, The unique ID of the proposal (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Note: this resource requires whitelisting for access. Please contact your
+      # account manager for access to Marketplace resources.
+      #
+      # Represents a proposal in the Marketplace. A proposal is the unit of
+      # negotiation between a seller and a buyer and contains deals which
+      # are served.
+      #
+      # Note: you can not update, create, or otherwise modify Private
+      # Auction or Preferred Deals deals through the API.
+      #
+      # Fields are updatable unless noted otherwise.
+    "sellerContacts": [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+    "updateTime": "A String", # Output only. The time when the proposal was last revised.
+    "proposalState": "A String", # Output only. The current state of the proposal.
+    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+        # Each update to the proposal or the deal causes the proposal revision number
+        # to auto-increment. The buyer keeps track of the last revision number they
+        # know of and pass it in when making an update. If the head revision number
+        # on the server has since incremented, then an ABORTED error is returned
+        # during the update operation to let the buyer know that a subsequent update
+        # was made.
+    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
+    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Ad Manager account ID.
+      "subAccountId": "A String", # Optional sub-account ID for the seller.
+      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+          # The seller account ID is then available to buyer in the product.
+    },
+    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+        # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
+      { # A deal represents a segment of inventory for displaying ads on.
+          # A proposal can contain multiple deals. A deal contains the terms and
+          # targeting information that is used for serving.
+        "updateTime": "A String", # Output only. The time when the deal was last updated.
+        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+            # If present on create, and the server `product_revision` has advanced sinced
+            # the passed-in `create_product_revision`, an `ABORTED` error will be
+            # returned.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "sellerContacts": [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            "email": "A String", # Email address for the contact.
+            "name": "A String", # The name of the contact.
+          },
+        ],
+        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+            # This will generally be stored in the granularity of one second since deal
+            # serving starts at seconds boundary. Any time specified with more
+            # granularity (e.g., in milliseconds) will be truncated towards the start of
+            # time in seconds.
+        "availableEndTime": "A String", # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+            # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
+            # in Ad Manager.
+            # Preferred Deal in Ad Manager.
+            # This doesn't apply to Private Auction and AdX Preferred Deals.
+          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
+          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          "creativeSpecifications": [
+            { # Represents information for a creative that is associated with a Programmatic
+                # Guaranteed/Preferred Deal in Ad Manager.
+              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+                { # Represents size of a single ad slot, or a creative.
+                  "width": "A String", # The width of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                  "sizeType": "A String", # The size type of the ad slot.
+                  "height": "A String", # The height of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                },
+              ],
+            },
+          ],
+        },
+        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+            # target ad inventory. For example, they can choose to target ad requests only
+            # if the user is in the US.
+            # Multiple types of targeting are always applied as a logical AND, unless noted
+            # otherwise.
+          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
+            "excludedPositionTypes": [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              "A String",
+            ],
+            "targetedPositionTypes": [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              "A String",
+            ],
+          },
+          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
+              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+            },
+            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+          },
+          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+              "A String",
+            ],
+            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+              "A String",
+            ],
+          },
+          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR'ed.
+            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn't
+                # apply.
+              "excludedUrls": [ # A list of URLs to be excluded.
+                "A String",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn't apply to Auction Packages.
+              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # Google Play Store URL.
+                  # iOS App ID (which is a number) can be found at the end of iTunes store URL.
+                  # First party mobile applications is either included or excluded.
+                "excludedAppIds": [ # A list of application IDs to be excluded.
+                  "A String",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            "targetedInventorySizes": [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+        },
+        "createProductId": "A String", # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
+        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
+        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+            # to see but are non-negotiable. These are set by the publisher.
+          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+            { # Frequency cap.
+              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+                  # amount of time over which impressions per user are counted and capped.
+              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
+              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+                  # specified time period.
+            },
+          ],
+          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
+          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+        },
+        "description": "A String", # Description for the deal terms.
+        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
+        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
+        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
+        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        "createTime": "A String", # Output only. The time of the deal creation.
+        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          "description": "A String", # Publisher provided description for the terms.
+          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
+            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
+          },
+          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as "America/Los_Angeles". For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+          },
+          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              "nanos": 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+            },
+          },
+          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+          },
+          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+        },
+        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        "displayName": "A String", # The name of the deal.
+        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        "syndicationProduct": "A String", # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND'd together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "key": "A String", # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+          },
+        ],
+        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+              # The deal is considered paused if either hasBuyerPaused or
+              # hasSellPaused is true.
+            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
+            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
+            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
+            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
+            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+          },
+        },
+        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+      },
+    ],
+    "proposalId": "A String", # Output only. The unique ID of the proposal.
+    "displayName": "A String", # The name for the proposal.
+    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
+    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    "notes": [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        "note": "A String", # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
+        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
+        "createTime": "A String", # Output only. The timestamp for when this note was created.
+        "noteId": "A String", # Output only. The unique ID for the note.
+      },
+    ],
+    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    "buyerContacts": [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, pageSize=None, pageToken=None, x__xgafv=None, filterSyntax=None, filter=None)</code>
+  <pre>List proposals. A filter expression (PQL query) may be specified to
+filter the results. To retrieve all finalized proposals, regardless if a
+proposal is being renegotiated, see the FinalizedProposals resource.
+Note that Bidder/ChildSeat relationships differ from the usual behavior.
+A Bidder account can only see its child seats' proposals by specifying
+the ChildSeat's accountId in the request path.
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  pageSize: integer, Requested page size. The server may return fewer results than requested.
+If unspecified, the server will pick an appropriate default.
+  pageToken: string, The page token as returned from ListProposalsResponse.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  filterSyntax: string, Syntax the filter is written in. Current implementation defaults to PQL
+but in the future it will be LIST_FILTER.
+  filter: string, An optional PQL filter query used to query for proposals.
+
+Nested repeated fields, such as proposal.deals.targetingCriterion,
+cannot be filtered.
+
+Returns:
+  An object of the form:
+
+    { # Response message for listing proposals.
+    "nextPageToken": "A String", # Continuation token for fetching the next page of results.
+    "proposals": [ # The list of proposals.
+      { # Note: this resource requires whitelisting for access. Please contact your
+          # account manager for access to Marketplace resources.
+          #
+          # Represents a proposal in the Marketplace. A proposal is the unit of
+          # negotiation between a seller and a buyer and contains deals which
+          # are served.
+          #
+          # Note: you can not update, create, or otherwise modify Private
+          # Auction or Preferred Deals deals through the API.
+          #
+          # Fields are updatable unless noted otherwise.
+        "sellerContacts": [ # Output only. Contact information for the seller.
+          { # Contains information on how a buyer or seller can be reached.
+            "email": "A String", # Email address for the contact.
+            "name": "A String", # The name of the contact.
+          },
+        ],
+        "updateTime": "A String", # Output only. The time when the proposal was last revised.
+        "proposalState": "A String", # Output only. The current state of the proposal.
+        "proposalRevision": "A String", # Output only. The revision number for the proposal.
+            # Each update to the proposal or the deal causes the proposal revision number
+            # to auto-increment. The buyer keeps track of the last revision number they
+            # know of and pass it in when making an update. If the head revision number
+            # on the server has since incremented, then an ABORTED error is returned
+            # during the update operation to let the buyer know that a subsequent update
+            # was made.
+        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
+            # proposal.
+        "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+            # Authorized Buyers account ID.
+          "accountId": "A String", # Authorized Buyers account ID of the buyer.
+        },
+        "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
+        "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+            # Ad Manager account ID.
+          "subAccountId": "A String", # Optional sub-account ID for the seller.
+          "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+              # The seller account ID is then available to buyer in the product.
+        },
+        "deals": [ # The deals associated with this proposal. For Private Auction proposals
+            # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
+          { # A deal represents a segment of inventory for displaying ads on.
+              # A proposal can contain multiple deals. A deal contains the terms and
+              # targeting information that is used for serving.
+            "updateTime": "A String", # Output only. The time when the deal was last updated.
+            "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+                # If present on create, and the server `product_revision` has advanced sinced
+                # the passed-in `create_product_revision`, an `ABORTED` error will be
+                # returned.
+                #
+                # Note: This field may be set only when creating the resource. Modifying
+                # this field while updating the resource will result in an error.
+            "sellerContacts": [ # Output only. Seller contact information for the deal.
+              { # Contains information on how a buyer or seller can be reached.
+                "email": "A String", # Email address for the contact.
+                "name": "A String", # The name of the contact.
+              },
+            ],
+            "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+                # This will generally be stored in the granularity of one second since deal
+                # serving starts at seconds boundary. Any time specified with more
+                # granularity (e.g., in milliseconds) will be truncated towards the start of
+                # time in seconds.
+            "availableEndTime": "A String", # Proposed flight end time of the deal.
+                # This will generally be stored in a granularity of a second.
+                # A value is not required for Private Auction deals or Preferred Deals.
+            "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+                # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
+                # in Ad Manager.
+                # Preferred Deal in Ad Manager.
+                # This doesn't apply to Private Auction and AdX Preferred Deals.
+              "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
+              "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+              "creativeSpecifications": [
+                { # Represents information for a creative that is associated with a Programmatic
+                    # Guaranteed/Preferred Deal in Ad Manager.
+                  "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                    "width": "A String", # The width of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                    "sizeType": "A String", # The size type of the ad slot.
+                    "height": "A String", # The height of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                  },
+                  "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+                    { # Represents size of a single ad slot, or a creative.
+                      "width": "A String", # The width of the ad slot in pixels.
+                          # This field will be present only when size type is `PIXEL`.
+                      "sizeType": "A String", # The size type of the ad slot.
+                      "height": "A String", # The height of the ad slot in pixels.
+                          # This field will be present only when size type is `PIXEL`.
+                    },
+                  ],
+                },
+              ],
+            },
+            "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+                # target ad inventory. For example, they can choose to target ad requests only
+                # if the user is in the US.
+                # Multiple types of targeting are always applied as a logical AND, unless noted
+                # otherwise.
+              "videoTargeting": { # Represents targeting information about video. # Video targeting information.
+                "excludedPositionTypes": [ # A list of video positions to be excluded.
+                    # Position types can either be included or excluded (XOR).
+                  "A String",
+                ],
+                "targetedPositionTypes": [ # A list of video positions to be included.
+                    # When the included list is present, the excluded list must be empty.
+                    # When the excluded list is present, the included list must be empty.
+                  "A String",
+                ],
+              },
+              "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+                "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                    # included and excluded numeric IDs.
+                  "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                    "A String",
+                  ],
+                  "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                    "A String",
+                  ],
+                },
+                "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
+                  "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                      # included and excluded numeric IDs.
+                    "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                      "A String",
+                    ],
+                    "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                      "A String",
+                    ],
+                  },
+                  "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                      # included and excluded numeric IDs.
+                    "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                      "A String",
+                    ],
+                    "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                      "A String",
+                    ],
+                  },
+                },
+                "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                    # included and excluded numeric IDs.
+                  "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                    "A String",
+                  ],
+                  "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                    "A String",
+                  ],
+                },
+              },
+              "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+              "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+                  # mobile applications.
+                  # Different placement targeting types will be logically OR'ed.
+                "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                    # For Private Auction and AdX Preferred Deals, URLs are either included or
+                    # excluded.
+                    # For Programmatic Guaranteed and Preferred Deals, this doesn't
+                    # apply.
+                  "excludedUrls": [ # A list of URLs to be excluded.
+                    "A String",
+                  ],
+                  "targetedUrls": [ # A list of URLs to be included.
+                    "A String",
+                  ],
+                },
+                "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                    # This doesn't apply to Auction Packages.
+                  "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+                      # display the ads in.
+                      # publishers own.
+                      # Mobile application IDs are from App Store and Google Play Store.
+                      # Android App ID, for example, com.google.android.apps.maps, can be found in
+                      # Google Play Store URL.
+                      # iOS App ID (which is a number) can be found at the end of iTunes store URL.
+                      # First party mobile applications is either included or excluded.
+                    "excludedAppIds": [ # A list of application IDs to be excluded.
+                      "A String",
+                    ],
+                    "targetedAppIds": [ # A list of application IDs to be included.
+                      "A String",
+                    ],
+                  },
+                },
+              },
+              "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+                  # request. It only applies to Private Auction, AdX Preferred Deals and
+                  # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+                  # and Preferred Deals in Ad Manager.
+                "targetedInventorySizes": [ # A list of inventory sizes to be included.
+                  { # Represents size of a single ad slot, or a creative.
+                    "width": "A String", # The width of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                    "sizeType": "A String", # The size type of the ad slot.
+                    "height": "A String", # The height of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                  },
+                ],
+                "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
+                  { # Represents size of a single ad slot, or a creative.
+                    "width": "A String", # The width of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                    "sizeType": "A String", # The size type of the ad slot.
+                    "height": "A String", # The height of the ad slot in pixels.
+                        # This field will be present only when size type is `PIXEL`.
+                  },
+                ],
+              },
+            },
+            "createProductId": "A String", # The product ID from which this deal was created.
+                #
+                # Note: This field may be set only when creating the resource. Modifying
+                # this field while updating the resource will result in an error.
+            "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
+            "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
+            "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+                # to see but are non-negotiable. These are set by the publisher.
+              "frequencyCaps": [ # Output only. Specifies any frequency caps.
+                { # Frequency cap.
+                  "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+                      # amount of time over which impressions per user are counted and capped.
+                  "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
+                      # which impressions per user are counted and capped.
+                  "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+                      # specified time period.
+                },
+              ],
+              "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
+              "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+            },
+            "description": "A String", # Description for the deal terms.
+            "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
+            "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
+            "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
+            "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
+                # finalized. This is the deal ID that shows up in serving/reporting etc.
+            "createTime": "A String", # Output only. The time of the deal creation.
+            "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+                # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+                # and expected impressions from the publisher.
+              "description": "A String", # Publisher provided description for the terms.
+              "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+                "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
+                    # of guaranteed looks that the buyer is guaranteeing to buy.
+                "fixedPrices": [ # Fixed price for the specified buyer.
+                  { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                      # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                      # a particular buyer or buyer/advertiser pair, we look for the most specific
+                      # matching rule - we first look for a rule matching the buyer and advertiser,
+                      # next a rule with the buyer but an empty advertiser list, and otherwise look
+                      # for a matching rule where no buyer is set.
+                    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                        # (if the
+                        # advertisers match, and there's no more specific rule matching the buyer).
+                        # Authorized Buyers account ID.
+                      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                    },
+                    "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                        # If empty, all advertisers with this buyer pay this price.
+                      "A String",
+                    ],
+                    "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                      "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                      "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                        "nanos": 42, # Number of nano (10^-9) units of the amount.
+                            # The value must be between -999,999,999 and +999,999,999 inclusive.
+                            # If `units` is positive, `nanos` must be positive or zero.
+                            # If `units` is zero, `nanos` can be positive, zero, or negative.
+                            # If `units` is negative, `nanos` must be negative or zero.
+                            # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                        "units": "A String", # The whole units of the amount.
+                            # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                        "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                      },
+                    },
+                  },
+                ],
+                "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
+                "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
+              },
+              "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
+                  # time zone used to mark the boundaries of a day. It should be an
+                  # IANA TZ name, such as "America/Los_Angeles". For more information,
+                  # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+              "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
+                  # Can be set by buyer or seller.
+              "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+                  # the API at this time, but can be returned in a get or list request.
+                "fixedPrices": [ # Fixed price for the specified buyer.
+                  { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                      # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                      # a particular buyer or buyer/advertiser pair, we look for the most specific
+                      # matching rule - we first look for a rule matching the buyer and advertiser,
+                      # next a rule with the buyer but an empty advertiser list, and otherwise look
+                      # for a matching rule where no buyer is set.
+                    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                        # (if the
+                        # advertisers match, and there's no more specific rule matching the buyer).
+                        # Authorized Buyers account ID.
+                      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                    },
+                    "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                        # If empty, all advertisers with this buyer pay this price.
+                      "A String",
+                    ],
+                    "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                      "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                      "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                        "nanos": 42, # Number of nano (10^-9) units of the amount.
+                            # The value must be between -999,999,999 and +999,999,999 inclusive.
+                            # If `units` is positive, `nanos` must be positive or zero.
+                            # If `units` is zero, `nanos` can be positive, zero, or negative.
+                            # If `units` is negative, `nanos` must be negative or zero.
+                            # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                        "units": "A String", # The whole units of the amount.
+                            # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                        "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                      },
+                    },
+                  },
+                ],
+              },
+              "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+                  # Can be set by buyer or seller.
+                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  "nanos": 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  "units": "A String", # The whole units of the amount.
+                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                },
+              },
+              "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+                  # by the seller, but they can be returned in a get or list request.
+                "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
+                  { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                      # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                      # a particular buyer or buyer/advertiser pair, we look for the most specific
+                      # matching rule - we first look for a rule matching the buyer and advertiser,
+                      # next a rule with the buyer but an empty advertiser list, and otherwise look
+                      # for a matching rule where no buyer is set.
+                    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                        # (if the
+                        # advertisers match, and there's no more specific rule matching the buyer).
+                        # Authorized Buyers account ID.
+                      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                    },
+                    "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                        # If empty, all advertisers with this buyer pay this price.
+                      "A String",
+                    ],
+                    "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                      "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                      "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                        "nanos": 42, # Number of nano (10^-9) units of the amount.
+                            # The value must be between -999,999,999 and +999,999,999 inclusive.
+                            # If `units` is positive, `nanos` must be positive or zero.
+                            # If `units` is zero, `nanos` can be positive, zero, or negative.
+                            # If `units` is negative, `nanos` must be negative or zero.
+                            # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                        "units": "A String", # The whole units of the amount.
+                            # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                        "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                      },
+                    },
+                  },
+                ],
+                "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
+                    # in this private auction.
+              },
+              "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+            },
+            "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
+                # PUBLISHER means creative is provided by seller and ADVERTISER means
+                # creative is provided by buyer.
+            "displayName": "A String", # The name of the deal.
+            "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+              "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+                  # operations (max-length: 1024 unicode code units).
+            },
+            "syndicationProduct": "A String", # The syndication product associated with the deal.
+                #
+                # Note: This field may be set only when creating the resource. Modifying
+                # this field while updating the resource will result in an error.
+            "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
+                # targeting entity is AND'd together.
+              { # Advertisers can target different attributes of an ad slot. For example,
+                  # they can choose to show ads only if the user is in the U.S. Such
+                  # targeting criteria can be specified as part of Shared Targeting.
+                "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
+                    # together.
+                  { # A polymorphic targeting value used as part of Shared Targeting.
+                    "stringValue": "A String", # The string value to include/exclude.
+                    "longValue": "A String", # The long value to include/exclude.
+                    "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                        # Filled in when key = GOOG_CREATIVE_SIZE
+                      "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                          # Companion sizes may be filled in only when creative_size_type = VIDEO
+                        { # Message depicting the size of the creative. The units of width and
+                            # height depend on the type of the targeting.
+                          "width": 42, # The width of the creative
+                          "height": 42, # The height of the creative.
+                        },
+                      ],
+                      "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                          # only if creative_size_type = CreativeSizeType.NATIVE.
+                      "allowedFormats": [ # What formats are allowed by the publisher.
+                          # If this repeated field is empty then all formats are allowed.
+                          # For example, if this field contains AllowedFormatType.AUDIO then the
+                          # publisher only allows an audio ad (without any video).
+                        "A String",
+                      ],
+                      "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                          # creative_size_type = CreativeSizeType.VIDEO.
+                      "creativeSizeType": "A String", # The creative size type.
+                      "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                          # of the creative
+                          # height depend on the type of the targeting.
+                        "width": 42, # The width of the creative
+                        "height": 42, # The height of the creative.
+                      },
+                    },
+                    "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                        # Filled in when the key is GOOG_DAYPART_TARGETING.
+                        # The definition of this targeting is derived from the structure
+                        # used by Ad Manager.
+                      "dayParts": [ # A list of day part targeting criterion.
+                        { # Daypart targeting message that specifies if the ad can be shown
+                            # only during certain parts of a day/week.
+                          "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                          "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                              # granularity). The end time is exclusive. This field is not available
+                              # for filtering in PQL queries.
+                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                              # types are google.type.Date and `google.protobuf.Timestamp`.
+                            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                                # allow the value 60 if it allows leap-seconds.
+                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                                # to allow the value "24:00:00" for scenarios like business closing time.
+                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                          },
+                          "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                              # The start time is inclusive.
+                              # This field is not available for filtering in PQL queries.
+                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                              # types are google.type.Date and `google.protobuf.Timestamp`.
+                            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                                # allow the value 60 if it allows leap-seconds.
+                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                                # to allow the value "24:00:00" for scenarios like business closing time.
+                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                          },
+                        },
+                      ],
+                      "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                    },
+                  },
+                ],
+                "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
+                    # together.
+                  { # A polymorphic targeting value used as part of Shared Targeting.
+                    "stringValue": "A String", # The string value to include/exclude.
+                    "longValue": "A String", # The long value to include/exclude.
+                    "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                        # Filled in when key = GOOG_CREATIVE_SIZE
+                      "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                          # Companion sizes may be filled in only when creative_size_type = VIDEO
+                        { # Message depicting the size of the creative. The units of width and
+                            # height depend on the type of the targeting.
+                          "width": 42, # The width of the creative
+                          "height": 42, # The height of the creative.
+                        },
+                      ],
+                      "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                          # only if creative_size_type = CreativeSizeType.NATIVE.
+                      "allowedFormats": [ # What formats are allowed by the publisher.
+                          # If this repeated field is empty then all formats are allowed.
+                          # For example, if this field contains AllowedFormatType.AUDIO then the
+                          # publisher only allows an audio ad (without any video).
+                        "A String",
+                      ],
+                      "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                          # creative_size_type = CreativeSizeType.VIDEO.
+                      "creativeSizeType": "A String", # The creative size type.
+                      "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                          # of the creative
+                          # height depend on the type of the targeting.
+                        "width": 42, # The width of the creative
+                        "height": 42, # The height of the creative.
+                      },
+                    },
+                    "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                        # Filled in when the key is GOOG_DAYPART_TARGETING.
+                        # The definition of this targeting is derived from the structure
+                        # used by Ad Manager.
+                      "dayParts": [ # A list of day part targeting criterion.
+                        { # Daypart targeting message that specifies if the ad can be shown
+                            # only during certain parts of a day/week.
+                          "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                          "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                              # granularity). The end time is exclusive. This field is not available
+                              # for filtering in PQL queries.
+                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                              # types are google.type.Date and `google.protobuf.Timestamp`.
+                            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                                # allow the value 60 if it allows leap-seconds.
+                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                                # to allow the value "24:00:00" for scenarios like business closing time.
+                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                          },
+                          "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                              # The start time is inclusive.
+                              # This field is not available for filtering in PQL queries.
+                              # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                              # types are google.type.Date and `google.protobuf.Timestamp`.
+                            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                                # allow the value 60 if it allows leap-seconds.
+                            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                                # to allow the value "24:00:00" for scenarios like business closing time.
+                            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                          },
+                        },
+                      ],
+                      "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                    },
+                  },
+                ],
+                "key": "A String", # The key representing the shared targeting criterion.
+                    # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                    # Third parties may define their own keys.
+                    # A list of permissible keys along with the acceptable values will be
+                    # provided as part of the external documentation.
+              },
+            ],
+            "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+              "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+                  # The deal is considered paused if either hasBuyerPaused or
+                  # hasSellPaused is true.
+                "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
+                "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
+                "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
+                "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
+                "firstPausedBy": "A String", # The role of the person who first paused this deal.
+              },
+            },
+            "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+                # deal.
+          },
+        ],
+        "proposalId": "A String", # Output only. The unique ID of the proposal.
+        "displayName": "A String", # The name for the proposal.
+        "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
+        "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+            # Authorized Buyers account ID.
+          "accountId": "A String", # Authorized Buyers account ID of the buyer.
+        },
+        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # proposal.
+        "notes": [ # Output only. The notes associated with this proposal.
+          { # A proposal may be associated to several notes.
+            "note": "A String", # The actual note to attach.
+                # (max-length: 1024 unicode code units)
+                #
+                # Note: This field may be set only when creating the resource. Modifying
+                # this field while updating the resource will result in an error.
+            "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
+            "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
+            "createTime": "A String", # Output only. The timestamp for when this note was created.
+            "noteId": "A String", # Output only. The unique ID for the note.
+          },
+        ],
+        "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
+            # left a comment.
+        "buyerContacts": [ # Contact information for the buyer.
+          { # Contains information on how a buyer or seller can be reached.
+            "email": "A String", # Email address for the contact.
+            "name": "A String", # The name of the contact.
+          },
+        ],
+      },
+    ],
+  }</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 'execute()' 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="pause">pause(accountId, proposalId, body, x__xgafv=None)</code>
+  <pre>Update the given proposal to pause serving.
+This method will set the
+`DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to true for all
+deals in the proposal.
+
+It is a no-op to pause an already-paused proposal.
+It is an error to call PauseProposal for a proposal that is not
+finalized or renegotiating.
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  proposalId: string, The ID of the proposal to pause. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request message to pause serving for an already-finalized proposal.
+    "reason": "A String", # The reason why the proposal is being paused.
+        # This human readable message will be displayed in the seller's UI.
+        # (Max length: 1000 unicode code units.)
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Note: this resource requires whitelisting for access. Please contact your
+      # account manager for access to Marketplace resources.
+      #
+      # Represents a proposal in the Marketplace. A proposal is the unit of
+      # negotiation between a seller and a buyer and contains deals which
+      # are served.
+      #
+      # Note: you can not update, create, or otherwise modify Private
+      # Auction or Preferred Deals deals through the API.
+      #
+      # Fields are updatable unless noted otherwise.
+    "sellerContacts": [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+    "updateTime": "A String", # Output only. The time when the proposal was last revised.
+    "proposalState": "A String", # Output only. The current state of the proposal.
+    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+        # Each update to the proposal or the deal causes the proposal revision number
+        # to auto-increment. The buyer keeps track of the last revision number they
+        # know of and pass it in when making an update. If the head revision number
+        # on the server has since incremented, then an ABORTED error is returned
+        # during the update operation to let the buyer know that a subsequent update
+        # was made.
+    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
+    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Ad Manager account ID.
+      "subAccountId": "A String", # Optional sub-account ID for the seller.
+      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+          # The seller account ID is then available to buyer in the product.
+    },
+    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+        # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
+      { # A deal represents a segment of inventory for displaying ads on.
+          # A proposal can contain multiple deals. A deal contains the terms and
+          # targeting information that is used for serving.
+        "updateTime": "A String", # Output only. The time when the deal was last updated.
+        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+            # If present on create, and the server `product_revision` has advanced sinced
+            # the passed-in `create_product_revision`, an `ABORTED` error will be
+            # returned.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "sellerContacts": [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            "email": "A String", # Email address for the contact.
+            "name": "A String", # The name of the contact.
+          },
+        ],
+        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+            # This will generally be stored in the granularity of one second since deal
+            # serving starts at seconds boundary. Any time specified with more
+            # granularity (e.g., in milliseconds) will be truncated towards the start of
+            # time in seconds.
+        "availableEndTime": "A String", # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+            # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
+            # in Ad Manager.
+            # Preferred Deal in Ad Manager.
+            # This doesn't apply to Private Auction and AdX Preferred Deals.
+          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
+          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          "creativeSpecifications": [
+            { # Represents information for a creative that is associated with a Programmatic
+                # Guaranteed/Preferred Deal in Ad Manager.
+              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+                { # Represents size of a single ad slot, or a creative.
+                  "width": "A String", # The width of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                  "sizeType": "A String", # The size type of the ad slot.
+                  "height": "A String", # The height of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                },
+              ],
+            },
+          ],
+        },
+        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+            # target ad inventory. For example, they can choose to target ad requests only
+            # if the user is in the US.
+            # Multiple types of targeting are always applied as a logical AND, unless noted
+            # otherwise.
+          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
+            "excludedPositionTypes": [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              "A String",
+            ],
+            "targetedPositionTypes": [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              "A String",
+            ],
+          },
+          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
+              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+            },
+            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+          },
+          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+              "A String",
+            ],
+            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+              "A String",
+            ],
+          },
+          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR'ed.
+            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn't
+                # apply.
+              "excludedUrls": [ # A list of URLs to be excluded.
+                "A String",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn't apply to Auction Packages.
+              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # Google Play Store URL.
+                  # iOS App ID (which is a number) can be found at the end of iTunes store URL.
+                  # First party mobile applications is either included or excluded.
+                "excludedAppIds": [ # A list of application IDs to be excluded.
+                  "A String",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            "targetedInventorySizes": [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+        },
+        "createProductId": "A String", # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
+        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
+        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+            # to see but are non-negotiable. These are set by the publisher.
+          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+            { # Frequency cap.
+              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+                  # amount of time over which impressions per user are counted and capped.
+              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
+              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+                  # specified time period.
+            },
+          ],
+          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
+          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+        },
+        "description": "A String", # Description for the deal terms.
+        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
+        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
+        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
+        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        "createTime": "A String", # Output only. The time of the deal creation.
+        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          "description": "A String", # Publisher provided description for the terms.
+          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
+            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
+          },
+          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as "America/Los_Angeles". For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+          },
+          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              "nanos": 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+            },
+          },
+          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+          },
+          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+        },
+        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        "displayName": "A String", # The name of the deal.
+        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        "syndicationProduct": "A String", # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND'd together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "key": "A String", # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+          },
+        ],
+        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+              # The deal is considered paused if either hasBuyerPaused or
+              # hasSellPaused is true.
+            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
+            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
+            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
+            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
+            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+          },
+        },
+        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+      },
+    ],
+    "proposalId": "A String", # Output only. The unique ID of the proposal.
+    "displayName": "A String", # The name for the proposal.
+    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
+    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    "notes": [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        "note": "A String", # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
+        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
+        "createTime": "A String", # Output only. The timestamp for when this note was created.
+        "noteId": "A String", # Output only. The unique ID for the note.
+      },
+    ],
+    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    "buyerContacts": [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="resume">resume(accountId, proposalId, body=None, x__xgafv=None)</code>
+  <pre>Update the given proposal to resume serving.
+This method will set the
+`DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to false for all
+deals in the proposal.
+
+Note that if the `has_seller_paused` bit is also set, serving will not
+resume until the seller also resumes.
+
+It is a no-op to resume an already-running proposal.
+It is an error to call ResumeProposal for a proposal that is not
+finalized or renegotiating.
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  proposalId: string, The ID of the proposal to resume. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message to resume (unpause) serving for an already-finalized
+      # proposal.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Note: this resource requires whitelisting for access. Please contact your
+      # account manager for access to Marketplace resources.
+      #
+      # Represents a proposal in the Marketplace. A proposal is the unit of
+      # negotiation between a seller and a buyer and contains deals which
+      # are served.
+      #
+      # Note: you can not update, create, or otherwise modify Private
+      # Auction or Preferred Deals deals through the API.
+      #
+      # Fields are updatable unless noted otherwise.
+    "sellerContacts": [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+    "updateTime": "A String", # Output only. The time when the proposal was last revised.
+    "proposalState": "A String", # Output only. The current state of the proposal.
+    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+        # Each update to the proposal or the deal causes the proposal revision number
+        # to auto-increment. The buyer keeps track of the last revision number they
+        # know of and pass it in when making an update. If the head revision number
+        # on the server has since incremented, then an ABORTED error is returned
+        # during the update operation to let the buyer know that a subsequent update
+        # was made.
+    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
+    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Ad Manager account ID.
+      "subAccountId": "A String", # Optional sub-account ID for the seller.
+      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+          # The seller account ID is then available to buyer in the product.
+    },
+    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+        # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
+      { # A deal represents a segment of inventory for displaying ads on.
+          # A proposal can contain multiple deals. A deal contains the terms and
+          # targeting information that is used for serving.
+        "updateTime": "A String", # Output only. The time when the deal was last updated.
+        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+            # If present on create, and the server `product_revision` has advanced sinced
+            # the passed-in `create_product_revision`, an `ABORTED` error will be
+            # returned.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "sellerContacts": [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            "email": "A String", # Email address for the contact.
+            "name": "A String", # The name of the contact.
+          },
+        ],
+        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+            # This will generally be stored in the granularity of one second since deal
+            # serving starts at seconds boundary. Any time specified with more
+            # granularity (e.g., in milliseconds) will be truncated towards the start of
+            # time in seconds.
+        "availableEndTime": "A String", # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+            # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
+            # in Ad Manager.
+            # Preferred Deal in Ad Manager.
+            # This doesn't apply to Private Auction and AdX Preferred Deals.
+          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
+          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          "creativeSpecifications": [
+            { # Represents information for a creative that is associated with a Programmatic
+                # Guaranteed/Preferred Deal in Ad Manager.
+              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+                { # Represents size of a single ad slot, or a creative.
+                  "width": "A String", # The width of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                  "sizeType": "A String", # The size type of the ad slot.
+                  "height": "A String", # The height of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                },
+              ],
+            },
+          ],
+        },
+        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+            # target ad inventory. For example, they can choose to target ad requests only
+            # if the user is in the US.
+            # Multiple types of targeting are always applied as a logical AND, unless noted
+            # otherwise.
+          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
+            "excludedPositionTypes": [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              "A String",
+            ],
+            "targetedPositionTypes": [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              "A String",
+            ],
+          },
+          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
+              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+            },
+            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+          },
+          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+              "A String",
+            ],
+            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+              "A String",
+            ],
+          },
+          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR'ed.
+            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn't
+                # apply.
+              "excludedUrls": [ # A list of URLs to be excluded.
+                "A String",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn't apply to Auction Packages.
+              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # Google Play Store URL.
+                  # iOS App ID (which is a number) can be found at the end of iTunes store URL.
+                  # First party mobile applications is either included or excluded.
+                "excludedAppIds": [ # A list of application IDs to be excluded.
+                  "A String",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            "targetedInventorySizes": [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+        },
+        "createProductId": "A String", # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
+        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
+        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+            # to see but are non-negotiable. These are set by the publisher.
+          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+            { # Frequency cap.
+              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+                  # amount of time over which impressions per user are counted and capped.
+              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
+              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+                  # specified time period.
+            },
+          ],
+          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
+          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+        },
+        "description": "A String", # Description for the deal terms.
+        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
+        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
+        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
+        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        "createTime": "A String", # Output only. The time of the deal creation.
+        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          "description": "A String", # Publisher provided description for the terms.
+          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
+            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
+          },
+          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as "America/Los_Angeles". For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+          },
+          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              "nanos": 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+            },
+          },
+          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+          },
+          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+        },
+        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        "displayName": "A String", # The name of the deal.
+        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        "syndicationProduct": "A String", # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND'd together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "key": "A String", # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+          },
+        ],
+        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+              # The deal is considered paused if either hasBuyerPaused or
+              # hasSellPaused is true.
+            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
+            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
+            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
+            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
+            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+          },
+        },
+        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+      },
+    ],
+    "proposalId": "A String", # Output only. The unique ID of the proposal.
+    "displayName": "A String", # The name for the proposal.
+    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
+    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    "notes": [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        "note": "A String", # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
+        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
+        "createTime": "A String", # Output only. The timestamp for when this note was created.
+        "noteId": "A String", # Output only. The unique ID for the note.
+      },
+    ],
+    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    "buyerContacts": [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(accountId, proposalId, body, x__xgafv=None)</code>
+  <pre>Update the given proposal at the client known revision number. If the
+server revision has advanced since the passed-in
+`proposal.proposal_revision`, an `ABORTED` error message will be returned.
+Only the buyer-modifiable fields of the proposal will be updated.
+
+Note that the deals in the proposal will be updated to match the passed-in
+copy.
+If a passed-in deal does not have a `deal_id`, the server will assign a new
+unique ID and create the deal.
+If passed-in deal has a `deal_id`, it will be updated to match the
+passed-in copy.
+Any existing deals not present in the passed-in proposal will be deleted.
+It is an error to pass in a deal with a `deal_id` not present at head.
+
+Args:
+  accountId: string, Account ID of the buyer. (required)
+  proposalId: string, The unique ID of the proposal. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Note: this resource requires whitelisting for access. Please contact your
+    # account manager for access to Marketplace resources.
+    # 
+    # Represents a proposal in the Marketplace. A proposal is the unit of
+    # negotiation between a seller and a buyer and contains deals which
+    # are served.
+    # 
+    # Note: you can not update, create, or otherwise modify Private
+    # Auction or Preferred Deals deals through the API.
+    # 
+    # Fields are updatable unless noted otherwise.
+  "sellerContacts": [ # Output only. Contact information for the seller.
+    { # Contains information on how a buyer or seller can be reached.
+      "email": "A String", # Email address for the contact.
+      "name": "A String", # The name of the contact.
+    },
+  ],
+  "updateTime": "A String", # Output only. The time when the proposal was last revised.
+  "proposalState": "A String", # Output only. The current state of the proposal.
+  "proposalRevision": "A String", # Output only. The revision number for the proposal.
+      # Each update to the proposal or the deal causes the proposal revision number
+      # to auto-increment. The buyer keeps track of the last revision number they
+      # know of and pass it in when making an update. If the head revision number
+      # on the server has since incremented, then an ABORTED error is returned
+      # during the update operation to let the buyer know that a subsequent update
+      # was made.
+  "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+    "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+        # operations (max-length: 1024 unicode code units).
+  },
+  "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
+      # proposal.
+  "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+      # Authorized Buyers account ID.
+    "accountId": "A String", # Authorized Buyers account ID of the buyer.
+  },
+  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
+  "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+      # 
+      # Note: This field may be set only when creating the resource. Modifying
+      # this field while updating the resource will result in an error.
+      # Ad Manager account ID.
+    "subAccountId": "A String", # Optional sub-account ID for the seller.
+    "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+        # The seller account ID is then available to buyer in the product.
+  },
+  "deals": [ # The deals associated with this proposal. For Private Auction proposals
+      # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
+    { # A deal represents a segment of inventory for displaying ads on.
+        # A proposal can contain multiple deals. A deal contains the terms and
+        # targeting information that is used for serving.
+      "updateTime": "A String", # Output only. The time when the deal was last updated.
+      "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+          # If present on create, and the server `product_revision` has advanced sinced
+          # the passed-in `create_product_revision`, an `ABORTED` error will be
+          # returned.
+          #
+          # Note: This field may be set only when creating the resource. Modifying
+          # this field while updating the resource will result in an error.
+      "sellerContacts": [ # Output only. Seller contact information for the deal.
+        { # Contains information on how a buyer or seller can be reached.
+          "email": "A String", # Email address for the contact.
+          "name": "A String", # The name of the contact.
+        },
+      ],
+      "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+          # This will generally be stored in the granularity of one second since deal
+          # serving starts at seconds boundary. Any time specified with more
+          # granularity (e.g., in milliseconds) will be truncated towards the start of
+          # time in seconds.
+      "availableEndTime": "A String", # Proposed flight end time of the deal.
+          # This will generally be stored in a granularity of a second.
+          # A value is not required for Private Auction deals or Preferred Deals.
+      "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+          # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
+          # in Ad Manager.
+          # Preferred Deal in Ad Manager.
+          # This doesn't apply to Private Auction and AdX Preferred Deals.
+        "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
+        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+        "creativeSpecifications": [
+          { # Represents information for a creative that is associated with a Programmatic
+              # Guaranteed/Preferred Deal in Ad Manager.
+            "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
+              "width": "A String", # The width of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+              "sizeType": "A String", # The size type of the ad slot.
+              "height": "A String", # The height of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+            },
+            "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+        ],
+      },
+      "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+          # target ad inventory. For example, they can choose to target ad requests only
+          # if the user is in the US.
+          # Multiple types of targeting are always applied as a logical AND, unless noted
+          # otherwise.
+        "videoTargeting": { # Represents targeting information about video. # Video targeting information.
+          "excludedPositionTypes": [ # A list of video positions to be excluded.
+              # Position types can either be included or excluded (XOR).
+            "A String",
+          ],
+          "targetedPositionTypes": [ # A list of video positions to be included.
+              # When the included list is present, the excluded list must be empty.
+              # When the excluded list is present, the included list must be empty.
+            "A String",
+          ],
+        },
+        "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+          "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+              # included and excluded numeric IDs.
+            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+              "A String",
+            ],
+            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+              "A String",
+            ],
+          },
+          "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
+            "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+            "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+          },
+          "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+              # included and excluded numeric IDs.
+            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+              "A String",
+            ],
+            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+              "A String",
+            ],
+          },
+        },
+        "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+            # included and excluded numeric IDs.
+          "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+            "A String",
+          ],
+          "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+            "A String",
+          ],
+        },
+        "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+            # mobile applications.
+            # Different placement targeting types will be logically OR'ed.
+          "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+              # For Private Auction and AdX Preferred Deals, URLs are either included or
+              # excluded.
+              # For Programmatic Guaranteed and Preferred Deals, this doesn't
+              # apply.
+            "excludedUrls": [ # A list of URLs to be excluded.
+              "A String",
+            ],
+            "targetedUrls": [ # A list of URLs to be included.
+              "A String",
+            ],
+          },
+          "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+              # This doesn't apply to Auction Packages.
+            "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+                # display the ads in.
+                # publishers own.
+                # Mobile application IDs are from App Store and Google Play Store.
+                # Android App ID, for example, com.google.android.apps.maps, can be found in
+                # Google Play Store URL.
+                # iOS App ID (which is a number) can be found at the end of iTunes store URL.
+                # First party mobile applications is either included or excluded.
+              "excludedAppIds": [ # A list of application IDs to be excluded.
+                "A String",
+              ],
+              "targetedAppIds": [ # A list of application IDs to be included.
+                "A String",
+              ],
+            },
+          },
+        },
+        "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+            # request. It only applies to Private Auction, AdX Preferred Deals and
+            # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+            # and Preferred Deals in Ad Manager.
+          "targetedInventorySizes": [ # A list of inventory sizes to be included.
+            { # Represents size of a single ad slot, or a creative.
+              "width": "A String", # The width of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+              "sizeType": "A String", # The size type of the ad slot.
+              "height": "A String", # The height of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+            },
+          ],
+          "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
+            { # Represents size of a single ad slot, or a creative.
+              "width": "A String", # The width of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+              "sizeType": "A String", # The size type of the ad slot.
+              "height": "A String", # The height of the ad slot in pixels.
+                  # This field will be present only when size type is `PIXEL`.
+            },
+          ],
+        },
+      },
+      "createProductId": "A String", # The product ID from which this deal was created.
+          #
+          # Note: This field may be set only when creating the resource. Modifying
+          # this field while updating the resource will result in an error.
+      "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
+      "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
+      "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+          # to see but are non-negotiable. These are set by the publisher.
+        "frequencyCaps": [ # Output only. Specifies any frequency caps.
+          { # Frequency cap.
+            "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+                # amount of time over which impressions per user are counted and capped.
+            "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
+                # which impressions per user are counted and capped.
+            "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+                # specified time period.
+          },
+        ],
+        "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
+        "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+      },
+      "description": "A String", # Description for the deal terms.
+      "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
+      "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
+      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
+      "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
+          # finalized. This is the deal ID that shows up in serving/reporting etc.
+      "createTime": "A String", # Output only. The time of the deal creation.
+      "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+          # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+          # and expected impressions from the publisher.
+        "description": "A String", # Publisher provided description for the terms.
+        "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+          "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
+              # of guaranteed looks that the buyer is guaranteeing to buy.
+          "fixedPrices": [ # Fixed price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                # a particular buyer or buyer/advertiser pair, we look for the most specific
+                # matching rule - we first look for a rule matching the buyer and advertiser,
+                # next a rule with the buyer but an empty advertiser list, and otherwise look
+                # for a matching rule where no buyer is set.
+              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                  # (if the
+                  # advertisers match, and there's no more specific rule matching the buyer).
+                  # Authorized Buyers account ID.
+                "accountId": "A String", # Authorized Buyers account ID of the buyer.
+              },
+              "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                  # If empty, all advertisers with this buyer pay this price.
+                "A String",
+              ],
+              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  "nanos": 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  "units": "A String", # The whole units of the amount.
+                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                },
+              },
+            },
+          ],
+          "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
+          "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
+        },
+        "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
+            # time zone used to mark the boundaries of a day. It should be an
+            # IANA TZ name, such as "America/Los_Angeles". For more information,
+            # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+        "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
+            # Can be set by buyer or seller.
+        "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+            # the API at this time, but can be returned in a get or list request.
+          "fixedPrices": [ # Fixed price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                # a particular buyer or buyer/advertiser pair, we look for the most specific
+                # matching rule - we first look for a rule matching the buyer and advertiser,
+                # next a rule with the buyer but an empty advertiser list, and otherwise look
+                # for a matching rule where no buyer is set.
+              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                  # (if the
+                  # advertisers match, and there's no more specific rule matching the buyer).
+                  # Authorized Buyers account ID.
+                "accountId": "A String", # Authorized Buyers account ID of the buyer.
+              },
+              "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                  # If empty, all advertisers with this buyer pay this price.
+                "A String",
+              ],
+              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  "nanos": 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  "units": "A String", # The whole units of the amount.
+                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                },
+              },
+            },
+          ],
+        },
+        "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+            # Can be set by buyer or seller.
+          "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+          "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+            "nanos": 42, # Number of nano (10^-9) units of the amount.
+                # The value must be between -999,999,999 and +999,999,999 inclusive.
+                # If `units` is positive, `nanos` must be positive or zero.
+                # If `units` is zero, `nanos` can be positive, zero, or negative.
+                # If `units` is negative, `nanos` must be negative or zero.
+                # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+            "units": "A String", # The whole units of the amount.
+                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+          },
+        },
+        "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+            # by the seller, but they can be returned in a get or list request.
+          "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
+            { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                # a particular buyer or buyer/advertiser pair, we look for the most specific
+                # matching rule - we first look for a rule matching the buyer and advertiser,
+                # next a rule with the buyer but an empty advertiser list, and otherwise look
+                # for a matching rule where no buyer is set.
+              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                  # (if the
+                  # advertisers match, and there's no more specific rule matching the buyer).
+                  # Authorized Buyers account ID.
+                "accountId": "A String", # Authorized Buyers account ID of the buyer.
+              },
+              "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                  # If empty, all advertisers with this buyer pay this price.
+                "A String",
+              ],
+              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                  "nanos": 42, # Number of nano (10^-9) units of the amount.
+                      # The value must be between -999,999,999 and +999,999,999 inclusive.
+                      # If `units` is positive, `nanos` must be positive or zero.
+                      # If `units` is zero, `nanos` can be positive, zero, or negative.
+                      # If `units` is negative, `nanos` must be negative or zero.
+                      # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  "units": "A String", # The whole units of the amount.
+                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                },
+              },
+            },
+          ],
+          "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
+              # in this private auction.
+        },
+        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+      },
+      "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
+          # PUBLISHER means creative is provided by seller and ADVERTISER means
+          # creative is provided by buyer.
+      "displayName": "A String", # The name of the deal.
+      "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+        "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+            # operations (max-length: 1024 unicode code units).
+      },
+      "syndicationProduct": "A String", # The syndication product associated with the deal.
+          #
+          # Note: This field may be set only when creating the resource. Modifying
+          # this field while updating the resource will result in an error.
+      "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
+          # targeting entity is AND'd together.
+        { # Advertisers can target different attributes of an ad slot. For example,
+            # they can choose to show ads only if the user is in the U.S. Such
+            # targeting criteria can be specified as part of Shared Targeting.
+          "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
+              # together.
+            { # A polymorphic targeting value used as part of Shared Targeting.
+              "stringValue": "A String", # The string value to include/exclude.
+              "longValue": "A String", # The long value to include/exclude.
+              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                  # Filled in when key = GOOG_CREATIVE_SIZE
+                "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                    # Companion sizes may be filled in only when creative_size_type = VIDEO
+                  { # Message depicting the size of the creative. The units of width and
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                ],
+                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                    # only if creative_size_type = CreativeSizeType.NATIVE.
+                "allowedFormats": [ # What formats are allowed by the publisher.
+                    # If this repeated field is empty then all formats are allowed.
+                    # For example, if this field contains AllowedFormatType.AUDIO then the
+                    # publisher only allows an audio ad (without any video).
+                  "A String",
+                ],
+                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                    # creative_size_type = CreativeSizeType.VIDEO.
+                "creativeSizeType": "A String", # The creative size type.
+                "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                    # of the creative
+                    # height depend on the type of the targeting.
+                  "width": 42, # The width of the creative
+                  "height": 42, # The height of the creative.
+                },
+              },
+              "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                  # Filled in when the key is GOOG_DAYPART_TARGETING.
+                  # The definition of this targeting is derived from the structure
+                  # used by Ad Manager.
+                "dayParts": [ # A list of day part targeting criterion.
+                  { # Daypart targeting message that specifies if the ad can be shown
+                      # only during certain parts of a day/week.
+                    "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                    "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                        # granularity). The end time is exclusive. This field is not available
+                        # for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                          # allow the value 60 if it allows leap-seconds.
+                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                          # to allow the value "24:00:00" for scenarios like business closing time.
+                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                    },
+                    "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                        # The start time is inclusive.
+                        # This field is not available for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                          # allow the value 60 if it allows leap-seconds.
+                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                          # to allow the value "24:00:00" for scenarios like business closing time.
+                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                    },
+                  },
+                ],
+                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+              },
+            },
+          ],
+          "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
+              # together.
+            { # A polymorphic targeting value used as part of Shared Targeting.
+              "stringValue": "A String", # The string value to include/exclude.
+              "longValue": "A String", # The long value to include/exclude.
+              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                  # Filled in when key = GOOG_CREATIVE_SIZE
+                "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                    # Companion sizes may be filled in only when creative_size_type = VIDEO
+                  { # Message depicting the size of the creative. The units of width and
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                ],
+                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                    # only if creative_size_type = CreativeSizeType.NATIVE.
+                "allowedFormats": [ # What formats are allowed by the publisher.
+                    # If this repeated field is empty then all formats are allowed.
+                    # For example, if this field contains AllowedFormatType.AUDIO then the
+                    # publisher only allows an audio ad (without any video).
+                  "A String",
+                ],
+                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                    # creative_size_type = CreativeSizeType.VIDEO.
+                "creativeSizeType": "A String", # The creative size type.
+                "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                    # of the creative
+                    # height depend on the type of the targeting.
+                  "width": 42, # The width of the creative
+                  "height": 42, # The height of the creative.
+                },
+              },
+              "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                  # Filled in when the key is GOOG_DAYPART_TARGETING.
+                  # The definition of this targeting is derived from the structure
+                  # used by Ad Manager.
+                "dayParts": [ # A list of day part targeting criterion.
+                  { # Daypart targeting message that specifies if the ad can be shown
+                      # only during certain parts of a day/week.
+                    "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                    "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                        # granularity). The end time is exclusive. This field is not available
+                        # for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                          # allow the value 60 if it allows leap-seconds.
+                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                          # to allow the value "24:00:00" for scenarios like business closing time.
+                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                    },
+                    "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                        # The start time is inclusive.
+                        # This field is not available for filtering in PQL queries.
+                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                        # types are google.type.Date and `google.protobuf.Timestamp`.
+                      "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                          # allow the value 60 if it allows leap-seconds.
+                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                          # to allow the value "24:00:00" for scenarios like business closing time.
+                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                    },
+                  },
+                ],
+                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+              },
+            },
+          ],
+          "key": "A String", # The key representing the shared targeting criterion.
+              # Targeting criteria defined by Google ad servers will begin with GOOG_.
+              # Third parties may define their own keys.
+              # A list of permissible keys along with the acceptable values will be
+              # provided as part of the external documentation.
+        },
+      ],
+      "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+        "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+            # The deal is considered paused if either hasBuyerPaused or
+            # hasSellPaused is true.
+          "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
+          "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
+          "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
+          "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
+          "firstPausedBy": "A String", # The role of the person who first paused this deal.
+        },
+      },
+      "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+          # deal.
+    },
+  ],
+  "proposalId": "A String", # Output only. The unique ID of the proposal.
+  "displayName": "A String", # The name for the proposal.
+  "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
+  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+      # 
+      # Note: This field may be set only when creating the resource. Modifying
+      # this field while updating the resource will result in an error.
+      # Authorized Buyers account ID.
+    "accountId": "A String", # Authorized Buyers account ID of the buyer.
+  },
+  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+      # proposal.
+  "notes": [ # Output only. The notes associated with this proposal.
+    { # A proposal may be associated to several notes.
+      "note": "A String", # The actual note to attach.
+          # (max-length: 1024 unicode code units)
+          #
+          # Note: This field may be set only when creating the resource. Modifying
+          # this field while updating the resource will result in an error.
+      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
+      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
+      "createTime": "A String", # Output only. The timestamp for when this note was created.
+      "noteId": "A String", # Output only. The unique ID for the note.
+    },
+  ],
+  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
+      # left a comment.
+  "buyerContacts": [ # Contact information for the buyer.
+    { # Contains information on how a buyer or seller can be reached.
+      "email": "A String", # Email address for the contact.
+      "name": "A String", # The name of the contact.
+    },
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Note: this resource requires whitelisting for access. Please contact your
+      # account manager for access to Marketplace resources.
+      #
+      # Represents a proposal in the Marketplace. A proposal is the unit of
+      # negotiation between a seller and a buyer and contains deals which
+      # are served.
+      #
+      # Note: you can not update, create, or otherwise modify Private
+      # Auction or Preferred Deals deals through the API.
+      #
+      # Fields are updatable unless noted otherwise.
+    "sellerContacts": [ # Output only. Contact information for the seller.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+    "updateTime": "A String", # Output only. The time when the proposal was last revised.
+    "proposalState": "A String", # Output only. The current state of the proposal.
+    "proposalRevision": "A String", # Output only. The revision number for the proposal.
+        # Each update to the proposal or the deal causes the proposal revision number
+        # to auto-increment. The buyer keeps track of the last revision number they
+        # know of and pass it in when making an update. If the head revision number
+        # on the server has since incremented, then an ABORTED error is returned
+        # during the update operation to let the buyer know that a subsequent update
+        # was made.
+    "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Private data for buyer. (hidden from seller).
+      "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+          # operations (max-length: 1024 unicode code units).
+    },
+    "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction
+        # proposal.
+    "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Output only. Reference to the buyer that will get billed for this proposal.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
+    "seller": { # Represents a seller of inventory. Each seller is identified by a unique # Reference to the seller on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Ad Manager account ID.
+      "subAccountId": "A String", # Optional sub-account ID for the seller.
+      "accountId": "A String", # The unique ID for the seller. The seller fills in this field.
+          # The seller account ID is then available to buyer in the product.
+    },
+    "deals": [ # The deals associated with this proposal. For Private Auction proposals
+        # (whose deals have NonGuaranteedAuctionTerms), there will only be one deal.
+      { # A deal represents a segment of inventory for displaying ads on.
+          # A proposal can contain multiple deals. A deal contains the terms and
+          # targeting information that is used for serving.
+        "updateTime": "A String", # Output only. The time when the deal was last updated.
+        "createProductRevision": "A String", # Optional revision number of the product that the deal was created from.
+            # If present on create, and the server `product_revision` has advanced sinced
+            # the passed-in `create_product_revision`, an `ABORTED` error will be
+            # returned.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "sellerContacts": [ # Output only. Seller contact information for the deal.
+          { # Contains information on how a buyer or seller can be reached.
+            "email": "A String", # Email address for the contact.
+            "name": "A String", # The name of the contact.
+          },
+        ],
+        "availableStartTime": "A String", # Optional proposed flight start time of the deal.
+            # This will generally be stored in the granularity of one second since deal
+            # serving starts at seconds boundary. Any time specified with more
+            # granularity (e.g., in milliseconds) will be truncated towards the start of
+            # time in seconds.
+        "availableEndTime": "A String", # Proposed flight end time of the deal.
+            # This will generally be stored in a granularity of a second.
+            # A value is not required for Private Auction deals or Preferred Deals.
+        "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ # Output only. Restricitions about the creatives associated with the deal
+            # (i.e., size) This is available for Programmatic Guaranteed/Preferred Deals
+            # in Ad Manager.
+            # Preferred Deal in Ad Manager.
+            # This doesn't apply to Private Auction and AdX Preferred Deals.
+          "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
+          "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
+          "creativeSpecifications": [
+            { # Represents information for a creative that is associated with a Programmatic
+                # Guaranteed/Preferred Deal in Ad Manager.
+              "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+              "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
+                { # Represents size of a single ad slot, or a creative.
+                  "width": "A String", # The width of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                  "sizeType": "A String", # The size type of the ad slot.
+                  "height": "A String", # The height of the ad slot in pixels.
+                      # This field will be present only when size type is `PIXEL`.
+                },
+              ],
+            },
+          ],
+        },
+        "targeting": { # Targeting represents different criteria that can be used by advertisers to # Output only. Specifies the subset of inventory targeted by the deal.
+            # target ad inventory. For example, they can choose to target ad requests only
+            # if the user is in the US.
+            # Multiple types of targeting are always applied as a logical AND, unless noted
+            # otherwise.
+          "videoTargeting": { # Represents targeting information about video. # Video targeting information.
+            "excludedPositionTypes": [ # A list of video positions to be excluded.
+                # Position types can either be included or excluded (XOR).
+              "A String",
+            ],
+            "targetedPositionTypes": [ # A list of video positions to be included.
+                # When the included list is present, the excluded list must be empty.
+                # When the excluded list is present, the included list must be empty.
+              "A String",
+            ],
+          },
+          "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, e.g., operating system, device category.
+            "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device categories to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+            "operatingSystemTargeting": { # Represents targeting information for operating systems. # Operating system related targeting information.
+              "operatingSystemCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating systems to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+              "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of # IDs of operating system versions to be included/excluded.
+                  # included and excluded numeric IDs.
+                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                  "A String",
+                ],
+                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                  "A String",
+                ],
+              },
+            },
+            "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of # IDs of device capabilities to be included/excluded.
+                # included and excluded numeric IDs.
+              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+                "A String",
+              ],
+              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+                "A String",
+              ],
+            },
+          },
+          "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of # Geo criteria IDs to be included/excluded.
+              # included and excluded numeric IDs.
+            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
+              "A String",
+            ],
+            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
+              "A String",
+            ],
+          },
+          "placementTargeting": { # Represents targeting about where the ads can appear, e.g., certain sites or # Placement targeting information, e.g., URL, mobile applications.
+              # mobile applications.
+              # Different placement targeting types will be logically OR'ed.
+            "urlTargeting": { # Represents a list of targeted and excluded URLs (e.g., google.com). # URLs to be included/excluded.
+                # For Private Auction and AdX Preferred Deals, URLs are either included or
+                # excluded.
+                # For Programmatic Guaranteed and Preferred Deals, this doesn't
+                # apply.
+              "excludedUrls": [ # A list of URLs to be excluded.
+                "A String",
+              ],
+              "targetedUrls": [ # A list of URLs to be included.
+                "A String",
+              ],
+            },
+            "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal.
+                # This doesn't apply to Auction Packages.
+              "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that # Publisher owned apps to be targeted or excluded by the publisher to
+                  # display the ads in.
+                  # publishers own.
+                  # Mobile application IDs are from App Store and Google Play Store.
+                  # Android App ID, for example, com.google.android.apps.maps, can be found in
+                  # Google Play Store URL.
+                  # iOS App ID (which is a number) can be found at the end of iTunes store URL.
+                  # First party mobile applications is either included or excluded.
+                "excludedAppIds": [ # A list of application IDs to be excluded.
+                  "A String",
+                ],
+                "targetedAppIds": [ # A list of application IDs to be included.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad # Inventory sizes to be included/excluded.
+              # request. It only applies to Private Auction, AdX Preferred Deals and
+              # Auction Packages. This targeting does not apply to Programmatic Guaranteed
+              # and Preferred Deals in Ad Manager.
+            "targetedInventorySizes": [ # A list of inventory sizes to be included.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+            "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
+              { # Represents size of a single ad slot, or a creative.
+                "width": "A String", # The width of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+                "sizeType": "A String", # The size type of the ad slot.
+                "height": "A String", # The height of the ad slot in pixels.
+                    # This field will be present only when size type is `PIXEL`.
+              },
+            ],
+          },
+        },
+        "createProductId": "A String", # The product ID from which this deal was created.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
+        "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
+        "deliveryControl": { # Message contains details about how the deals will be paced. # The set of fields around delivery control that are interesting for a buyer
+            # to see but are non-negotiable. These are set by the publisher.
+          "frequencyCaps": [ # Output only. Specifies any frequency caps.
+            { # Frequency cap.
+              "numTimeUnits": 42, # The amount of time, in the units specified by time_unit_type. Defines the
+                  # amount of time over which impressions per user are counted and capped.
+              "timeUnitType": "A String", # The time unit. Along with num_time_units defines the amount of time over
+                  # which impressions per user are counted and capped.
+              "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the
+                  # specified time period.
+            },
+          ],
+          "creativeBlockingLevel": "A String", # Output only. Specified the creative blocking levels to be applied.
+          "deliveryRateType": "A String", # Output only. Specifies how the impression delivery will be paced.
+        },
+        "description": "A String", # Description for the deal terms.
+        "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
+        "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
+        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
+        "externalDealId": "A String", # Output only. The external deal ID assigned to this deal once the deal is
+            # finalized. This is the deal ID that shows up in serving/reporting etc.
+        "createTime": "A String", # Output only. The time of the deal creation.
+        "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things # The negotiable terms of the deal.
+            # like price per buyer, the type of pricing model (e.g., fixed price, auction)
+            # and expected impressions from the publisher.
+          "description": "A String", # Publisher provided description for the terms.
+          "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
+            "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage
+                # of guaranteed looks that the buyer is guaranteeing to buy.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types.
+            "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product.
+          },
+          "sellerTimeZone": "A String", # The time zone name. For deals with Cost Per Day billing, defines the
+              # time zone used to mark the boundaries of a day. It should be an
+              # IANA TZ name, such as "America/Los_Angeles". For more information,
+              # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
+          "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day.
+              # Can be set by buyer or seller.
+          "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. Note that Preferred Deals cannot be created via # The terms for non-guaranteed fixed price deals.
+              # the API at this time, but can be returned in a get or list request.
+            "fixedPrices": [ # Fixed price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+          },
+          "estimatedGrossSpend": { # Represents a price and a pricing type for a product / deal. # Non-binding estimate of the estimated gross spend for this deal.
+              # Can be set by buyer or seller.
+            "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+            "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+              "nanos": 42, # Number of nano (10^-9) units of the amount.
+                  # The value must be between -999,999,999 and +999,999,999 inclusive.
+                  # If `units` is positive, `nanos` must be positive or zero.
+                  # If `units` is zero, `nanos` can be positive, zero, or negative.
+                  # If `units` is negative, `nanos` must be negative or zero.
+                  # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+            },
+          },
+          "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only # The terms for non-guaranteed auction deals.
+              # by the seller, but they can be returned in a get or list request.
+            "reservePricesPerBuyer": [ # Reserve price for the specified buyer.
+              { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in
+                  # a product can become 0 or 1 deals. To check if there is a PricePerBuyer for
+                  # a particular buyer or buyer/advertiser pair, we look for the most specific
+                  # matching rule - we first look for a rule matching the buyer and advertiser,
+                  # next a rule with the buyer but an empty advertiser list, and otherwise look
+                  # for a matching rule where no buyer is set.
+                "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # The buyer who will pay this price. If unset, all buyers can pay this price
+                    # (if the
+                    # advertisers match, and there's no more specific rule matching the buyer).
+                    # Authorized Buyers account ID.
+                  "accountId": "A String", # Authorized Buyers account ID of the buyer.
+                },
+                "advertiserIds": [ # The list of advertisers for this price when associated with this buyer.
+                    # If empty, all advertisers with this buyer pay this price.
+                  "A String",
+                ],
+                "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
+                  "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
+                  "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
+                    "nanos": 42, # Number of nano (10^-9) units of the amount.
+                        # The value must be between -999,999,999 and +999,999,999 inclusive.
+                        # If `units` is positive, `nanos` must be positive or zero.
+                        # If `units` is zero, `nanos` can be positive, zero, or negative.
+                        # If `units` is negative, `nanos` must be negative or zero.
+                        # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    "units": "A String", # The whole units of the amount.
+                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                  },
+                },
+              },
+            ],
+            "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers
+                # in this private auction.
+          },
+          "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
+        },
+        "programmaticCreativeSource": "A String", # Output only. Specifies the creative source for programmatic deals.
+            # PUBLISHER means creative is provided by seller and ADVERTISER means
+            # creative is provided by buyer.
+        "displayName": "A String", # The name of the deal.
+        "buyerPrivateData": { # Buyers are allowed to store certain types of private data in a proposal/deal. # Buyer private data (hidden from seller).
+          "referenceId": "A String", # A buyer or seller specified reference ID. This can be queried in the list
+              # operations (max-length: 1024 unicode code units).
+        },
+        "syndicationProduct": "A String", # The syndication product associated with the deal.
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "targetingCriterion": [ # The shared targeting visible to buyers and sellers. Each shared
+            # targeting entity is AND'd together.
+          { # Advertisers can target different attributes of an ad slot. For example,
+              # they can choose to show ads only if the user is in the U.S. Such
+              # targeting criteria can be specified as part of Shared Targeting.
+            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd
+                # together.
+              { # A polymorphic targeting value used as part of Shared Targeting.
+                "stringValue": "A String", # The string value to include/exclude.
+                "longValue": "A String", # The long value to include/exclude.
+                "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude.
+                    # Filled in when key = GOOG_CREATIVE_SIZE
+                  "companionSizes": [ # For video creatives specifies the sizes of companion ads (if present).
+                      # Companion sizes may be filled in only when creative_size_type = VIDEO
+                    { # Message depicting the size of the creative. The units of width and
+                        # height depend on the type of the targeting.
+                      "width": 42, # The width of the creative
+                      "height": 42, # The height of the creative.
+                    },
+                  ],
+                  "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value
+                      # only if creative_size_type = CreativeSizeType.NATIVE.
+                  "allowedFormats": [ # What formats are allowed by the publisher.
+                      # If this repeated field is empty then all formats are allowed.
+                      # For example, if this field contains AllowedFormatType.AUDIO then the
+                      # publisher only allows an audio ad (without any video).
+                    "A String",
+                  ],
+                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
+                      # creative_size_type = CreativeSizeType.VIDEO.
+                  "creativeSizeType": "A String", # The creative size type.
+                  "size": { # Message depicting the size of the creative. The units of width and # For regular or video creative size type, specifies the size
+                      # of the creative
+                      # height depend on the type of the targeting.
+                    "width": 42, # The width of the creative
+                    "height": 42, # The height of the creative.
+                  },
+                },
+                "dayPartTargetingValue": { # Specifies the day part targeting criteria. # The daypart targeting to include / exclude.
+                    # Filled in when the key is GOOG_DAYPART_TARGETING.
+                    # The definition of this targeting is derived from the structure
+                    # used by Ad Manager.
+                  "dayParts": [ # A list of day part targeting criterion.
+                    { # Daypart targeting message that specifies if the ad can be shown
+                        # only during certain parts of a day/week.
+                      "dayOfWeek": "A String", # The day of the week to target. If unspecified, applicable to all days.
+                      "endTime": { # Represents a time of day. The date and time zone are either not significant # The ending time of the day for the ad to show (minute level
+                          # granularity). The end time is exclusive. This field is not available
+                          # for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                      "startTime": { # Represents a time of day. The date and time zone are either not significant # The starting time of day for the ad to show (minute level granularity).
+                          # The start time is inclusive.
+                          # This field is not available for filtering in PQL queries.
+                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
+                          # types are google.type.Date and `google.protobuf.Timestamp`.
+                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
+                            # allow the value 60 if it allows leap-seconds.
+                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
+                            # to allow the value "24:00:00" for scenarios like business closing time.
+                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+                      },
+                    },
+                  ],
+                  "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
+                },
+              },
+            ],
+            "key": "A String", # The key representing the shared targeting criterion.
+                # Targeting criteria defined by Google ad servers will begin with GOOG_.
+                # Third parties may define their own keys.
+                # A list of permissible keys along with the acceptable values will be
+                # provided as part of the external documentation.
+          },
+        ],
+        "dealServingMetadata": { # Message captures metadata about the serving status of a deal. # Output only. Metadata about the serving status of this deal.
+          "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. # Output only. Tracks which parties (if any) have paused a deal.
+              # The deal is considered paused if either hasBuyerPaused or
+              # hasSellPaused is true.
+            "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
+            "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
+            "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
+            "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
+            "firstPausedBy": "A String", # The role of the person who first paused this deal.
+          },
+        },
+        "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+            # deal.
+      },
+    ],
+    "proposalId": "A String", # Output only. The unique ID of the proposal.
+    "displayName": "A String", # The name for the proposal.
+    "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
+    "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique # Reference to the buyer on the proposal.
+        #
+        # Note: This field may be set only when creating the resource. Modifying
+        # this field while updating the resource will result in an error.
+        # Authorized Buyers account ID.
+      "accountId": "A String", # Authorized Buyers account ID of the buyer.
+    },
+    "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this
+        # proposal.
+    "notes": [ # Output only. The notes associated with this proposal.
+      { # A proposal may be associated to several notes.
+        "note": "A String", # The actual note to attach.
+            # (max-length: 1024 unicode code units)
+            #
+            # Note: This field may be set only when creating the resource. Modifying
+            # this field while updating the resource will result in an error.
+        "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
+        "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
+        "createTime": "A String", # Output only. The timestamp for when this note was created.
+        "noteId": "A String", # Output only. The unique ID for the note.
+      },
+    ],
+    "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or
+        # left a comment.
+    "buyerContacts": [ # Contact information for the buyer.
+      { # Contains information on how a buyer or seller can be reached.
+        "email": "A String", # Email address for the contact.
+        "name": "A String", # The name of the contact.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file