Ad Exchange Buyer API II . accounts . proposals

Instance Methods

accept(accountId=*, proposalId=*, body=None, x__xgafv=None)

Mark the proposal as accepted at the given revision number. If the number

addNote(accountId=*, proposalId=*, body=None, x__xgafv=None)

Create a new note and attach it to the proposal. The note is assigned

cancelNegotiation(accountId=*, proposalId=*, body=None, x__xgafv=None)

Cancel an ongoing negotiation on a proposal. This does not cancel or end

completeSetup(accountId=*, proposalId=*, body=None, x__xgafv=None)

Update the given proposal to indicate that setup has been completed.

create(accountId=*, body=None, x__xgafv=None)

Create the given proposal. Each created proposal and any deals it contains

get(accountId=*, proposalId=*, x__xgafv=None)

Gets a proposal given its ID. The proposal is returned at its head

list(accountId=*, pageSize=None, pageToken=None, x__xgafv=None, filterSyntax=None, filter=None)

List proposals. A filter expression (PQL query) may be specified to

list_next(previous_request=*, previous_response=*)

Retrieves the next page of results.

pause(accountId=*, proposalId=*, body=None, x__xgafv=None)

Update the given proposal to pause serving.

resume(accountId=*, proposalId=*, body=None, x__xgafv=None)

Update the given proposal to resume serving.

update(accountId=*, proposalId=*, body=None, x__xgafv=None)

Update the given proposal at the client known revision number. If the

Method Details

accept(accountId=*, proposalId=*, body=None, x__xgafv=None)
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.
    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.
    "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.
      },
    ],
    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the 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.
    },
    "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",
            ],
          },
          "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",
                ],
              },
            },
          },
          "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",
            ],
          },
          "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",
              ],
            },
          },
          "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`.
              },
            ],
          },
        },
        "createTime": "A String", # Output only. The time of the deal creation.
        "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.
        "displayName": "A String", # The name of the deal.
        "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.
        "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.
        "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.
          "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.
              "units": "A String", # The whole units of the amount.
                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
              "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.
              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
            },
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
                  },
                },
              },
            ],
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
        "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
    "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.
    "displayName": "A String", # The name for the proposal.
    "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.
      },
    ],
  }
addNote(accountId=*, proposalId=*, body=None, x__xgafv=None)
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.
    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.
  }
cancelNegotiation(accountId=*, proposalId=*, body=None, x__xgafv=None)
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.
    "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.
      },
    ],
    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the 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.
    },
    "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",
            ],
          },
          "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",
                ],
              },
            },
          },
          "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",
            ],
          },
          "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",
              ],
            },
          },
          "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`.
              },
            ],
          },
        },
        "createTime": "A String", # Output only. The time of the deal creation.
        "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.
        "displayName": "A String", # The name of the deal.
        "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.
        "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.
        "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.
          "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.
              "units": "A String", # The whole units of the amount.
                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
              "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.
              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
            },
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
                  },
                },
              },
            ],
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
        "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
    "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.
    "displayName": "A String", # The name for the proposal.
    "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.
      },
    ],
  }
completeSetup(accountId=*, proposalId=*, body=None, x__xgafv=None)
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.
    "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.
      },
    ],
    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the 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.
    },
    "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",
            ],
          },
          "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",
                ],
              },
            },
          },
          "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",
            ],
          },
          "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",
              ],
            },
          },
          "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`.
              },
            ],
          },
        },
        "createTime": "A String", # Output only. The time of the deal creation.
        "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.
        "displayName": "A String", # The name of the deal.
        "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.
        "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.
        "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.
          "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.
              "units": "A String", # The whole units of the amount.
                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
              "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.
              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
            },
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
                  },
                },
              },
            ],
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
        "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
    "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.
    "displayName": "A String", # The name for the proposal.
    "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.
      },
    ],
  }
create(accountId=*, body=None, x__xgafv=None)
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.
    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.
  "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.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the 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.
  },
  "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",
          ],
        },
        "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",
              ],
            },
          },
        },
        "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",
          ],
        },
        "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",
            ],
          },
        },
        "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`.
            },
          ],
        },
      },
      "createTime": "A String", # Output only. The time of the deal creation.
      "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.
      "displayName": "A String", # The name of the deal.
      "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.
      "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.
      "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.
        "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.
            "units": "A String", # The whole units of the amount.
                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
            "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.
            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
          },
        },
        "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.
                  "units": "A String", # The whole units of the amount.
                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                  "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.
                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
                },
              },
            },
          ],
        },
        "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.
                  "units": "A String", # The whole units of the amount.
                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                  "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.
                  "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.
        },
        "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.
                  "units": "A String", # The whole units of the amount.
                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                  "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.
                  "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.
      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
      "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.
              "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.
              },
              "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",
                ],
                "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.
                },
                "creativeSizeType": "A String", # The creative size type.
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                    # creative_size_type = CreativeSizeType.VIDEO.
              },
              "stringValue": "A String", # The string value to include/exclude.
            },
          ],
          "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.
              "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.
              },
              "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",
                ],
                "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.
                },
                "creativeSizeType": "A String", # The creative size type.
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                    # creative_size_type = CreativeSizeType.VIDEO.
              },
              "stringValue": "A String", # The string value to include/exclude.
            },
          ],
          "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.
  "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.
  "displayName": "A String", # The name for the proposal.
  "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.
    "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.
      },
    ],
    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the 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.
    },
    "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",
            ],
          },
          "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",
                ],
              },
            },
          },
          "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",
            ],
          },
          "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",
              ],
            },
          },
          "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`.
              },
            ],
          },
        },
        "createTime": "A String", # Output only. The time of the deal creation.
        "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.
        "displayName": "A String", # The name of the deal.
        "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.
        "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.
        "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.
          "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.
              "units": "A String", # The whole units of the amount.
                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
              "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.
              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
            },
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
                  },
                },
              },
            ],
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
        "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
    "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.
    "displayName": "A String", # The name for the proposal.
    "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.
      },
    ],
  }
get(accountId=*, proposalId=*, x__xgafv=None)
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.
    "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.
      },
    ],
    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the 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.
    },
    "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",
            ],
          },
          "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",
                ],
              },
            },
          },
          "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",
            ],
          },
          "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",
              ],
            },
          },
          "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`.
              },
            ],
          },
        },
        "createTime": "A String", # Output only. The time of the deal creation.
        "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.
        "displayName": "A String", # The name of the deal.
        "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.
        "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.
        "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.
          "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.
              "units": "A String", # The whole units of the amount.
                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
              "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.
              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
            },
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
                  },
                },
              },
            ],
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
        "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
    "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.
    "displayName": "A String", # The name for the proposal.
    "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.
      },
    ],
  }
list(accountId=*, pageSize=None, pageToken=None, x__xgafv=None, filterSyntax=None, filter=None)
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.
        "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.
          },
        ],
        "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the 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.
        },
        "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",
                ],
              },
              "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",
                    ],
                  },
                },
              },
              "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",
                ],
              },
              "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",
                  ],
                },
              },
              "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`.
                  },
                ],
              },
            },
            "createTime": "A String", # Output only. The time of the deal creation.
            "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.
            "displayName": "A String", # The name of the deal.
            "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.
            "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.
            "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.
              "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.
                  "units": "A String", # The whole units of the amount.
                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                  "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.
                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
                },
              },
              "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.
                        "units": "A String", # The whole units of the amount.
                            # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                        "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.
                        "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
                      },
                    },
                  },
                ],
              },
              "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.
                        "units": "A String", # The whole units of the amount.
                            # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                        "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.
                        "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.
              },
              "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.
                        "units": "A String", # The whole units of the amount.
                            # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                        "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.
                        "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.
            "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
            "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.
                    "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.
                    },
                    "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",
                      ],
                      "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.
                      },
                      "creativeSizeType": "A String", # The creative size type.
                      "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                          # creative_size_type = CreativeSizeType.VIDEO.
                    },
                    "stringValue": "A String", # The string value to include/exclude.
                  },
                ],
                "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.
                    "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.
                    },
                    "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",
                      ],
                      "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.
                      },
                      "creativeSizeType": "A String", # The creative size type.
                      "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                          # creative_size_type = CreativeSizeType.VIDEO.
                    },
                    "stringValue": "A String", # The string value to include/exclude.
                  },
                ],
                "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.
        "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.
        "displayName": "A String", # The name for the proposal.
        "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.
          },
        ],
      },
    ],
  }
list_next(previous_request=*, previous_response=*)
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.
    
pause(accountId=*, proposalId=*, body=None, x__xgafv=None)
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.
    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.
    "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.
      },
    ],
    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the 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.
    },
    "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",
            ],
          },
          "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",
                ],
              },
            },
          },
          "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",
            ],
          },
          "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",
              ],
            },
          },
          "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`.
              },
            ],
          },
        },
        "createTime": "A String", # Output only. The time of the deal creation.
        "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.
        "displayName": "A String", # The name of the deal.
        "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.
        "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.
        "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.
          "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.
              "units": "A String", # The whole units of the amount.
                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
              "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.
              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
            },
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
                  },
                },
              },
            ],
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
        "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
    "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.
    "displayName": "A String", # The name for the proposal.
    "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.
      },
    ],
  }
resume(accountId=*, proposalId=*, body=None, x__xgafv=None)
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.
    "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.
      },
    ],
    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the 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.
    },
    "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",
            ],
          },
          "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",
                ],
              },
            },
          },
          "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",
            ],
          },
          "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",
              ],
            },
          },
          "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`.
              },
            ],
          },
        },
        "createTime": "A String", # Output only. The time of the deal creation.
        "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.
        "displayName": "A String", # The name of the deal.
        "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.
        "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.
        "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.
          "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.
              "units": "A String", # The whole units of the amount.
                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
              "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.
              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
            },
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
                  },
                },
              },
            ],
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
        "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
    "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.
    "displayName": "A String", # The name for the proposal.
    "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.
      },
    ],
  }
update(accountId=*, proposalId=*, body=None, x__xgafv=None)
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.
    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.
  "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.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the 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.
  },
  "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",
          ],
        },
        "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",
              ],
            },
          },
        },
        "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",
          ],
        },
        "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",
            ],
          },
        },
        "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`.
            },
          ],
        },
      },
      "createTime": "A String", # Output only. The time of the deal creation.
      "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.
      "displayName": "A String", # The name of the deal.
      "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.
      "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.
      "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.
        "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.
            "units": "A String", # The whole units of the amount.
                # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
            "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.
            "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
          },
        },
        "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.
                  "units": "A String", # The whole units of the amount.
                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                  "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.
                  "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
                },
              },
            },
          ],
        },
        "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.
                  "units": "A String", # The whole units of the amount.
                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                  "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.
                  "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.
        },
        "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.
                  "units": "A String", # The whole units of the amount.
                      # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                  "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.
                  "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.
      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
      "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.
              "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.
              },
              "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",
                ],
                "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.
                },
                "creativeSizeType": "A String", # The creative size type.
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                    # creative_size_type = CreativeSizeType.VIDEO.
              },
              "stringValue": "A String", # The string value to include/exclude.
            },
          ],
          "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.
              "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.
              },
              "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",
                ],
                "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.
                },
                "creativeSizeType": "A String", # The creative size type.
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                    # creative_size_type = CreativeSizeType.VIDEO.
              },
              "stringValue": "A String", # The string value to include/exclude.
            },
          ],
          "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.
  "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.
  "displayName": "A String", # The name for the proposal.
  "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.
    "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.
      },
    ],
    "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the 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.
    },
    "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",
            ],
          },
          "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",
                ],
              },
            },
          },
          "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",
            ],
          },
          "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",
              ],
            },
          },
          "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`.
              },
            ],
          },
        },
        "createTime": "A String", # Output only. The time of the deal creation.
        "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.
        "displayName": "A String", # The name of the deal.
        "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.
        "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.
        "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.
          "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.
              "units": "A String", # The whole units of the amount.
                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
              "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.
              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
            },
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
                  },
                },
              },
            ],
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
          },
          "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.
                    "units": "A String", # The whole units of the amount.
                        # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    "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.
                    "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.
        "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
        "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
                "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.
                },
                "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",
                  ],
                  "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.
                  },
                  "creativeSizeType": "A String", # The creative size type.
                  "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if
                      # creative_size_type = CreativeSizeType.VIDEO.
                },
                "stringValue": "A String", # The string value to include/exclude.
              },
            ],
            "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.
    "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.
    "displayName": "A String", # The name for the proposal.
    "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.
      },
    ],
  }