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 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`. Upon calling this endpoint, the buyer implicitly agrees to the terms and conditions optionally set within the proposal by the publisher.

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.

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.

close()

Close httplib2 connections.

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

You can opt-in to manually update proposals to indicate that setup is complete. By default, proposal setup is automatically completed after their deals are finalized. Contact your Technical Account Manager to opt in. Buyers can call this method when the proposal has been finalized, and all the required creatives have been uploaded using the Creatives API. This call updates the `is_setup_completed` field on the deals in the proposal, and notifies the seller. The server then advances the revision number of the most recent proposal. To mark an individual deal as ready to serve, call `buyers.finalizedDeals.setReadyToServe` in the Marketplace API.

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.

get(accountId, proposalId, x__xgafv=None)

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

list(accountId, filter=None, filterSyntax=None, pageSize=None, pageToken=None, x__xgafv=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.

list_next()

Retrieves the next page of results.

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.

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.

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.

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`. Upon calling this endpoint, the buyer implicitly agrees to the terms and conditions optionally set within the proposal by the publisher.

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:

    { # 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't update, create, or otherwise modify Private Auction deals through the API. Fields are updatable unless noted otherwise.
  "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # Output only. Reference to the buyer that will get billed for this proposal.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "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.
    },
  ],
  "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).
  },
  "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.
      "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.
      "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 (for example, in milliseconds) will be truncated towards the start of time in seconds.
      "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).
      },
      "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.
      "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 since 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.
      "createTime": "A String", # Output only. The time of the deal creation.
      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
      "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ Preferred Deal in Ad Manager. This doesn't apply to Private Auction and AdX Preferred Deals. # Output only. Restricitions about the creatives associated with the deal (for example, size) This is available for Programmatic Guaranteed/Preferred Deals in Ad Manager.
        "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
        "creativeSpecifications": [
          { # Represents information for a creative that is associated with a Programmatic Guaranteed/Preferred Deal in Ad Manager.
            "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
              { # Represents size of a single ad slot, or a creative.
                "height": "A String", # The height 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.
                "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
              },
            ],
            "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          },
        ],
        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
      },
      "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
      "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
      "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. The deal is considered paused if either hasBuyerPaused or hasSellPaused is true. # Output only. Tracks which parties (if any) have paused a deal.
          "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
          "firstPausedBy": "A String", # The role of the person who first paused this deal.
          "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
          "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
          "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
        },
      },
      "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (for example, fixed price, auction) and expected impressions from the publisher. # The negotiable terms of the deal.
        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
        "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.
          "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
            "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
            "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
            "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          },
          "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
        },
        "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day. Can be set by buyer or seller.
        "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
          "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
          "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
          "impressionCap": "A String", # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
          "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
          "percentShareOfVoice": "A String", # For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached.
          "reservationType": "A String", # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
        },
        "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
          "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. # The terms for non-guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "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.
      },
      "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.
        "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.
        "frequencyCaps": [ # Output only. Specifies any frequency caps.
          { # Frequency cap.
            "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the specified time period.
            "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.
          },
        ],
      },
      "description": "A String", # Description for the deal terms.
      "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.
      "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this deal.
      "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.
      "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
      "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.
        },
      ],
      "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.
      "targeting": { # Targeting represents different criteria that can be used by advertisers to 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. # Output only. Specifies the subset of inventory targeted by the deal.
        "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # Geo criteria IDs to be included/excluded.
          "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
            "A String",
          ],
          "targetedCriteriaIds": [ # A list of numeric IDs to be included.
            "A String",
          ],
        },
        "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad 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. # Inventory sizes to be included/excluded.
          "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
          "targetedInventorySizes": [ # A list of inventory sizes to be included.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
        },
        "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Placement targeting information, for example, URL, mobile applications.
          "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 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. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in.
              "excludedAppIds": [ # A list of application IDs to be excluded.
                "A String",
              ],
              "targetedAppIds": [ # A list of application IDs to be included.
                "A String",
              ],
            },
          },
          "urlTargeting": { # Represents a list of targeted and excluded URLs (for example, google.com). For Private Auction and AdX Preferred Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn't apply. # URLs to be included/excluded.
            "excludedUrls": [ # A list of URLs to be excluded.
              "A String",
            ],
            "targetedUrls": [ # A list of URLs to be included.
              "A String",
            ],
          },
        },
        "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, for example, operating system, device category.
          "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device capabilities to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "A String",
            ],
          },
          "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device categories to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "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 included and excluded numeric IDs. # IDs of operating systems to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
            "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of operating system versions to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
          },
        },
        "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",
          ],
        },
      },
      "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.
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "stringValue": "A String", # The string value to include/exclude.
            },
          ],
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "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.
        },
      ],
      "updateTime": "A String", # Output only. The time when the deal was last updated.
      "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
    },
  ],
  "displayName": "A String", # The name for the proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this proposal.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "notes": [ # Output only. The notes associated with this proposal.
    { # A proposal may be associated to several notes.
      "createTime": "A String", # Output only. The timestamp for when this note was created.
      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
      "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.
      "noteId": "A String", # Output only. The unique ID for the note.
      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction proposal.
  "proposalId": "A String", # Output only. The unique ID 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.
  "proposalState": "A String", # Output only. The current state of the proposal.
  "seller": { # Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID. # 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.
    "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.
    "subAccountId": "A String", # Output only. Ad manager network code for the seller.
  },
  "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.
    },
  ],
  "termsAndConditions": "A String", # Output only. The terms and conditions set by the publisher for this proposal.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}
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.
    "createTime": "A String", # Output only. The timestamp for when this note was created.
    "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
    "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.
    "noteId": "A String", # Output only. The unique ID for the note.
    "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
  },
}

  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.
  "createTime": "A String", # Output only. The timestamp for when this note was created.
  "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
  "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.
  "noteId": "A String", # Output only. The unique ID for the note.
  "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
}
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:

    { # 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't update, create, or otherwise modify Private Auction deals through the API. Fields are updatable unless noted otherwise.
  "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # Output only. Reference to the buyer that will get billed for this proposal.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "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.
    },
  ],
  "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).
  },
  "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.
      "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.
      "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 (for example, in milliseconds) will be truncated towards the start of time in seconds.
      "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).
      },
      "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.
      "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 since 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.
      "createTime": "A String", # Output only. The time of the deal creation.
      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
      "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ Preferred Deal in Ad Manager. This doesn't apply to Private Auction and AdX Preferred Deals. # Output only. Restricitions about the creatives associated with the deal (for example, size) This is available for Programmatic Guaranteed/Preferred Deals in Ad Manager.
        "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
        "creativeSpecifications": [
          { # Represents information for a creative that is associated with a Programmatic Guaranteed/Preferred Deal in Ad Manager.
            "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
              { # Represents size of a single ad slot, or a creative.
                "height": "A String", # The height 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.
                "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
              },
            ],
            "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          },
        ],
        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
      },
      "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
      "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
      "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. The deal is considered paused if either hasBuyerPaused or hasSellPaused is true. # Output only. Tracks which parties (if any) have paused a deal.
          "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
          "firstPausedBy": "A String", # The role of the person who first paused this deal.
          "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
          "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
          "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
        },
      },
      "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (for example, fixed price, auction) and expected impressions from the publisher. # The negotiable terms of the deal.
        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
        "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.
          "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
            "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
            "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
            "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          },
          "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
        },
        "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day. Can be set by buyer or seller.
        "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
          "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
          "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
          "impressionCap": "A String", # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
          "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
          "percentShareOfVoice": "A String", # For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached.
          "reservationType": "A String", # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
        },
        "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
          "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. # The terms for non-guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "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.
      },
      "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.
        "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.
        "frequencyCaps": [ # Output only. Specifies any frequency caps.
          { # Frequency cap.
            "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the specified time period.
            "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.
          },
        ],
      },
      "description": "A String", # Description for the deal terms.
      "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.
      "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this deal.
      "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.
      "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
      "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.
        },
      ],
      "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.
      "targeting": { # Targeting represents different criteria that can be used by advertisers to 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. # Output only. Specifies the subset of inventory targeted by the deal.
        "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # Geo criteria IDs to be included/excluded.
          "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
            "A String",
          ],
          "targetedCriteriaIds": [ # A list of numeric IDs to be included.
            "A String",
          ],
        },
        "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad 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. # Inventory sizes to be included/excluded.
          "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
          "targetedInventorySizes": [ # A list of inventory sizes to be included.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
        },
        "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Placement targeting information, for example, URL, mobile applications.
          "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 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. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in.
              "excludedAppIds": [ # A list of application IDs to be excluded.
                "A String",
              ],
              "targetedAppIds": [ # A list of application IDs to be included.
                "A String",
              ],
            },
          },
          "urlTargeting": { # Represents a list of targeted and excluded URLs (for example, google.com). For Private Auction and AdX Preferred Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn't apply. # URLs to be included/excluded.
            "excludedUrls": [ # A list of URLs to be excluded.
              "A String",
            ],
            "targetedUrls": [ # A list of URLs to be included.
              "A String",
            ],
          },
        },
        "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, for example, operating system, device category.
          "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device capabilities to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "A String",
            ],
          },
          "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device categories to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "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 included and excluded numeric IDs. # IDs of operating systems to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
            "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of operating system versions to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
          },
        },
        "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",
          ],
        },
      },
      "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.
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "stringValue": "A String", # The string value to include/exclude.
            },
          ],
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "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.
        },
      ],
      "updateTime": "A String", # Output only. The time when the deal was last updated.
      "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
    },
  ],
  "displayName": "A String", # The name for the proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this proposal.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "notes": [ # Output only. The notes associated with this proposal.
    { # A proposal may be associated to several notes.
      "createTime": "A String", # Output only. The timestamp for when this note was created.
      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
      "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.
      "noteId": "A String", # Output only. The unique ID for the note.
      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction proposal.
  "proposalId": "A String", # Output only. The unique ID 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.
  "proposalState": "A String", # Output only. The current state of the proposal.
  "seller": { # Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID. # 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.
    "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.
    "subAccountId": "A String", # Output only. Ad manager network code for the seller.
  },
  "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.
    },
  ],
  "termsAndConditions": "A String", # Output only. The terms and conditions set by the publisher for this proposal.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}
close()
Close httplib2 connections.
completeSetup(accountId, proposalId, body=None, x__xgafv=None)
You can opt-in to manually update proposals to indicate that setup is complete. By default, proposal setup is automatically completed after their deals are finalized. Contact your Technical Account Manager to opt in. Buyers can call this method when the proposal has been finalized, and all the required creatives have been uploaded using the Creatives API. This call updates the `is_setup_completed` field on the deals in the proposal, and notifies the seller. The server then advances the revision number of the most recent proposal. To mark an individual deal as ready to serve, call `buyers.finalizedDeals.setReadyToServe` in the Marketplace API.

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:

    { # 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't update, create, or otherwise modify Private Auction deals through the API. Fields are updatable unless noted otherwise.
  "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # Output only. Reference to the buyer that will get billed for this proposal.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "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.
    },
  ],
  "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).
  },
  "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.
      "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.
      "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 (for example, in milliseconds) will be truncated towards the start of time in seconds.
      "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).
      },
      "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.
      "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 since 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.
      "createTime": "A String", # Output only. The time of the deal creation.
      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
      "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ Preferred Deal in Ad Manager. This doesn't apply to Private Auction and AdX Preferred Deals. # Output only. Restricitions about the creatives associated with the deal (for example, size) This is available for Programmatic Guaranteed/Preferred Deals in Ad Manager.
        "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
        "creativeSpecifications": [
          { # Represents information for a creative that is associated with a Programmatic Guaranteed/Preferred Deal in Ad Manager.
            "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
              { # Represents size of a single ad slot, or a creative.
                "height": "A String", # The height 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.
                "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
              },
            ],
            "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          },
        ],
        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
      },
      "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
      "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
      "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. The deal is considered paused if either hasBuyerPaused or hasSellPaused is true. # Output only. Tracks which parties (if any) have paused a deal.
          "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
          "firstPausedBy": "A String", # The role of the person who first paused this deal.
          "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
          "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
          "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
        },
      },
      "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (for example, fixed price, auction) and expected impressions from the publisher. # The negotiable terms of the deal.
        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
        "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.
          "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
            "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
            "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
            "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          },
          "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
        },
        "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day. Can be set by buyer or seller.
        "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
          "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
          "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
          "impressionCap": "A String", # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
          "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
          "percentShareOfVoice": "A String", # For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached.
          "reservationType": "A String", # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
        },
        "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
          "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. # The terms for non-guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "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.
      },
      "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.
        "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.
        "frequencyCaps": [ # Output only. Specifies any frequency caps.
          { # Frequency cap.
            "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the specified time period.
            "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.
          },
        ],
      },
      "description": "A String", # Description for the deal terms.
      "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.
      "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this deal.
      "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.
      "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
      "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.
        },
      ],
      "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.
      "targeting": { # Targeting represents different criteria that can be used by advertisers to 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. # Output only. Specifies the subset of inventory targeted by the deal.
        "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # Geo criteria IDs to be included/excluded.
          "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
            "A String",
          ],
          "targetedCriteriaIds": [ # A list of numeric IDs to be included.
            "A String",
          ],
        },
        "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad 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. # Inventory sizes to be included/excluded.
          "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
          "targetedInventorySizes": [ # A list of inventory sizes to be included.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
        },
        "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Placement targeting information, for example, URL, mobile applications.
          "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 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. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in.
              "excludedAppIds": [ # A list of application IDs to be excluded.
                "A String",
              ],
              "targetedAppIds": [ # A list of application IDs to be included.
                "A String",
              ],
            },
          },
          "urlTargeting": { # Represents a list of targeted and excluded URLs (for example, google.com). For Private Auction and AdX Preferred Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn't apply. # URLs to be included/excluded.
            "excludedUrls": [ # A list of URLs to be excluded.
              "A String",
            ],
            "targetedUrls": [ # A list of URLs to be included.
              "A String",
            ],
          },
        },
        "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, for example, operating system, device category.
          "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device capabilities to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "A String",
            ],
          },
          "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device categories to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "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 included and excluded numeric IDs. # IDs of operating systems to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
            "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of operating system versions to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
          },
        },
        "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",
          ],
        },
      },
      "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.
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "stringValue": "A String", # The string value to include/exclude.
            },
          ],
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "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.
        },
      ],
      "updateTime": "A String", # Output only. The time when the deal was last updated.
      "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
    },
  ],
  "displayName": "A String", # The name for the proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this proposal.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "notes": [ # Output only. The notes associated with this proposal.
    { # A proposal may be associated to several notes.
      "createTime": "A String", # Output only. The timestamp for when this note was created.
      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
      "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.
      "noteId": "A String", # Output only. The unique ID for the note.
      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction proposal.
  "proposalId": "A String", # Output only. The unique ID 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.
  "proposalState": "A String", # Output only. The current state of the proposal.
  "seller": { # Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID. # 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.
    "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.
    "subAccountId": "A String", # Output only. Ad manager network code for the seller.
  },
  "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.
    },
  ],
  "termsAndConditions": "A String", # Output only. The terms and conditions set by the publisher for this proposal.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}
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:

{ # 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't update, create, or otherwise modify Private Auction deals through the API. Fields are updatable unless noted otherwise.
  "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # Output only. Reference to the buyer that will get billed for this proposal.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "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.
    },
  ],
  "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).
  },
  "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.
      "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.
      "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 (for example, in milliseconds) will be truncated towards the start of time in seconds.
      "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).
      },
      "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.
      "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 since 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.
      "createTime": "A String", # Output only. The time of the deal creation.
      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
      "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ Preferred Deal in Ad Manager. This doesn't apply to Private Auction and AdX Preferred Deals. # Output only. Restricitions about the creatives associated with the deal (for example, size) This is available for Programmatic Guaranteed/Preferred Deals in Ad Manager.
        "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
        "creativeSpecifications": [
          { # Represents information for a creative that is associated with a Programmatic Guaranteed/Preferred Deal in Ad Manager.
            "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
              { # Represents size of a single ad slot, or a creative.
                "height": "A String", # The height 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.
                "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
              },
            ],
            "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          },
        ],
        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
      },
      "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
      "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
      "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. The deal is considered paused if either hasBuyerPaused or hasSellPaused is true. # Output only. Tracks which parties (if any) have paused a deal.
          "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
          "firstPausedBy": "A String", # The role of the person who first paused this deal.
          "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
          "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
          "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
        },
      },
      "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (for example, fixed price, auction) and expected impressions from the publisher. # The negotiable terms of the deal.
        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
        "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.
          "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
            "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
            "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
            "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          },
          "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
        },
        "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day. Can be set by buyer or seller.
        "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
          "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
          "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
          "impressionCap": "A String", # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
          "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
          "percentShareOfVoice": "A String", # For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached.
          "reservationType": "A String", # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
        },
        "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
          "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. # The terms for non-guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "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.
      },
      "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.
        "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.
        "frequencyCaps": [ # Output only. Specifies any frequency caps.
          { # Frequency cap.
            "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the specified time period.
            "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.
          },
        ],
      },
      "description": "A String", # Description for the deal terms.
      "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.
      "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this deal.
      "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.
      "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
      "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.
        },
      ],
      "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.
      "targeting": { # Targeting represents different criteria that can be used by advertisers to 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. # Output only. Specifies the subset of inventory targeted by the deal.
        "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # Geo criteria IDs to be included/excluded.
          "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
            "A String",
          ],
          "targetedCriteriaIds": [ # A list of numeric IDs to be included.
            "A String",
          ],
        },
        "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad 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. # Inventory sizes to be included/excluded.
          "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
          "targetedInventorySizes": [ # A list of inventory sizes to be included.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
        },
        "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Placement targeting information, for example, URL, mobile applications.
          "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 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. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in.
              "excludedAppIds": [ # A list of application IDs to be excluded.
                "A String",
              ],
              "targetedAppIds": [ # A list of application IDs to be included.
                "A String",
              ],
            },
          },
          "urlTargeting": { # Represents a list of targeted and excluded URLs (for example, google.com). For Private Auction and AdX Preferred Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn't apply. # URLs to be included/excluded.
            "excludedUrls": [ # A list of URLs to be excluded.
              "A String",
            ],
            "targetedUrls": [ # A list of URLs to be included.
              "A String",
            ],
          },
        },
        "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, for example, operating system, device category.
          "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device capabilities to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "A String",
            ],
          },
          "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device categories to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "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 included and excluded numeric IDs. # IDs of operating systems to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
            "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of operating system versions to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
          },
        },
        "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",
          ],
        },
      },
      "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.
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "stringValue": "A String", # The string value to include/exclude.
            },
          ],
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "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.
        },
      ],
      "updateTime": "A String", # Output only. The time when the deal was last updated.
      "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
    },
  ],
  "displayName": "A String", # The name for the proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this proposal.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "notes": [ # Output only. The notes associated with this proposal.
    { # A proposal may be associated to several notes.
      "createTime": "A String", # Output only. The timestamp for when this note was created.
      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
      "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.
      "noteId": "A String", # Output only. The unique ID for the note.
      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction proposal.
  "proposalId": "A String", # Output only. The unique ID 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.
  "proposalState": "A String", # Output only. The current state of the proposal.
  "seller": { # Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID. # 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.
    "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.
    "subAccountId": "A String", # Output only. Ad manager network code for the seller.
  },
  "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.
    },
  ],
  "termsAndConditions": "A String", # Output only. The terms and conditions set by the publisher for this proposal.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}

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

Returns:
  An object of the form:

    { # 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't update, create, or otherwise modify Private Auction deals through the API. Fields are updatable unless noted otherwise.
  "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # Output only. Reference to the buyer that will get billed for this proposal.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "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.
    },
  ],
  "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).
  },
  "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.
      "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.
      "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 (for example, in milliseconds) will be truncated towards the start of time in seconds.
      "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).
      },
      "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.
      "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 since 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.
      "createTime": "A String", # Output only. The time of the deal creation.
      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
      "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ Preferred Deal in Ad Manager. This doesn't apply to Private Auction and AdX Preferred Deals. # Output only. Restricitions about the creatives associated with the deal (for example, size) This is available for Programmatic Guaranteed/Preferred Deals in Ad Manager.
        "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
        "creativeSpecifications": [
          { # Represents information for a creative that is associated with a Programmatic Guaranteed/Preferred Deal in Ad Manager.
            "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
              { # Represents size of a single ad slot, or a creative.
                "height": "A String", # The height 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.
                "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
              },
            ],
            "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          },
        ],
        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
      },
      "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
      "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
      "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. The deal is considered paused if either hasBuyerPaused or hasSellPaused is true. # Output only. Tracks which parties (if any) have paused a deal.
          "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
          "firstPausedBy": "A String", # The role of the person who first paused this deal.
          "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
          "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
          "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
        },
      },
      "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (for example, fixed price, auction) and expected impressions from the publisher. # The negotiable terms of the deal.
        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
        "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.
          "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
            "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
            "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
            "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          },
          "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
        },
        "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day. Can be set by buyer or seller.
        "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
          "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
          "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
          "impressionCap": "A String", # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
          "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
          "percentShareOfVoice": "A String", # For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached.
          "reservationType": "A String", # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
        },
        "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
          "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. # The terms for non-guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "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.
      },
      "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.
        "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.
        "frequencyCaps": [ # Output only. Specifies any frequency caps.
          { # Frequency cap.
            "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the specified time period.
            "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.
          },
        ],
      },
      "description": "A String", # Description for the deal terms.
      "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.
      "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this deal.
      "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.
      "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
      "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.
        },
      ],
      "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.
      "targeting": { # Targeting represents different criteria that can be used by advertisers to 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. # Output only. Specifies the subset of inventory targeted by the deal.
        "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # Geo criteria IDs to be included/excluded.
          "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
            "A String",
          ],
          "targetedCriteriaIds": [ # A list of numeric IDs to be included.
            "A String",
          ],
        },
        "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad 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. # Inventory sizes to be included/excluded.
          "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
          "targetedInventorySizes": [ # A list of inventory sizes to be included.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
        },
        "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Placement targeting information, for example, URL, mobile applications.
          "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 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. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in.
              "excludedAppIds": [ # A list of application IDs to be excluded.
                "A String",
              ],
              "targetedAppIds": [ # A list of application IDs to be included.
                "A String",
              ],
            },
          },
          "urlTargeting": { # Represents a list of targeted and excluded URLs (for example, google.com). For Private Auction and AdX Preferred Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn't apply. # URLs to be included/excluded.
            "excludedUrls": [ # A list of URLs to be excluded.
              "A String",
            ],
            "targetedUrls": [ # A list of URLs to be included.
              "A String",
            ],
          },
        },
        "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, for example, operating system, device category.
          "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device capabilities to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "A String",
            ],
          },
          "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device categories to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "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 included and excluded numeric IDs. # IDs of operating systems to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
            "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of operating system versions to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
          },
        },
        "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",
          ],
        },
      },
      "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.
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "stringValue": "A String", # The string value to include/exclude.
            },
          ],
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "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.
        },
      ],
      "updateTime": "A String", # Output only. The time when the deal was last updated.
      "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
    },
  ],
  "displayName": "A String", # The name for the proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this proposal.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "notes": [ # Output only. The notes associated with this proposal.
    { # A proposal may be associated to several notes.
      "createTime": "A String", # Output only. The timestamp for when this note was created.
      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
      "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.
      "noteId": "A String", # Output only. The unique ID for the note.
      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction proposal.
  "proposalId": "A String", # Output only. The unique ID 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.
  "proposalState": "A String", # Output only. The current state of the proposal.
  "seller": { # Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID. # 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.
    "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.
    "subAccountId": "A String", # Output only. Ad manager network code for the seller.
  },
  "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.
    },
  ],
  "termsAndConditions": "A String", # Output only. The terms and conditions set by the publisher for this proposal.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}
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:

    { # 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't update, create, or otherwise modify Private Auction deals through the API. Fields are updatable unless noted otherwise.
  "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # Output only. Reference to the buyer that will get billed for this proposal.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "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.
    },
  ],
  "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).
  },
  "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.
      "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.
      "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 (for example, in milliseconds) will be truncated towards the start of time in seconds.
      "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).
      },
      "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.
      "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 since 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.
      "createTime": "A String", # Output only. The time of the deal creation.
      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
      "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ Preferred Deal in Ad Manager. This doesn't apply to Private Auction and AdX Preferred Deals. # Output only. Restricitions about the creatives associated with the deal (for example, size) This is available for Programmatic Guaranteed/Preferred Deals in Ad Manager.
        "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
        "creativeSpecifications": [
          { # Represents information for a creative that is associated with a Programmatic Guaranteed/Preferred Deal in Ad Manager.
            "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
              { # Represents size of a single ad slot, or a creative.
                "height": "A String", # The height 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.
                "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
              },
            ],
            "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          },
        ],
        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
      },
      "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
      "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
      "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. The deal is considered paused if either hasBuyerPaused or hasSellPaused is true. # Output only. Tracks which parties (if any) have paused a deal.
          "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
          "firstPausedBy": "A String", # The role of the person who first paused this deal.
          "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
          "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
          "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
        },
      },
      "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (for example, fixed price, auction) and expected impressions from the publisher. # The negotiable terms of the deal.
        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
        "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.
          "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
            "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
            "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
            "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          },
          "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
        },
        "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day. Can be set by buyer or seller.
        "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
          "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
          "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
          "impressionCap": "A String", # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
          "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
          "percentShareOfVoice": "A String", # For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached.
          "reservationType": "A String", # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
        },
        "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
          "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. # The terms for non-guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "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.
      },
      "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.
        "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.
        "frequencyCaps": [ # Output only. Specifies any frequency caps.
          { # Frequency cap.
            "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the specified time period.
            "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.
          },
        ],
      },
      "description": "A String", # Description for the deal terms.
      "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.
      "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this deal.
      "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.
      "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
      "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.
        },
      ],
      "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.
      "targeting": { # Targeting represents different criteria that can be used by advertisers to 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. # Output only. Specifies the subset of inventory targeted by the deal.
        "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # Geo criteria IDs to be included/excluded.
          "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
            "A String",
          ],
          "targetedCriteriaIds": [ # A list of numeric IDs to be included.
            "A String",
          ],
        },
        "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad 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. # Inventory sizes to be included/excluded.
          "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
          "targetedInventorySizes": [ # A list of inventory sizes to be included.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
        },
        "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Placement targeting information, for example, URL, mobile applications.
          "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 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. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in.
              "excludedAppIds": [ # A list of application IDs to be excluded.
                "A String",
              ],
              "targetedAppIds": [ # A list of application IDs to be included.
                "A String",
              ],
            },
          },
          "urlTargeting": { # Represents a list of targeted and excluded URLs (for example, google.com). For Private Auction and AdX Preferred Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn't apply. # URLs to be included/excluded.
            "excludedUrls": [ # A list of URLs to be excluded.
              "A String",
            ],
            "targetedUrls": [ # A list of URLs to be included.
              "A String",
            ],
          },
        },
        "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, for example, operating system, device category.
          "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device capabilities to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "A String",
            ],
          },
          "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device categories to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "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 included and excluded numeric IDs. # IDs of operating systems to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
            "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of operating system versions to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
          },
        },
        "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",
          ],
        },
      },
      "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.
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "stringValue": "A String", # The string value to include/exclude.
            },
          ],
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "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.
        },
      ],
      "updateTime": "A String", # Output only. The time when the deal was last updated.
      "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
    },
  ],
  "displayName": "A String", # The name for the proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this proposal.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "notes": [ # Output only. The notes associated with this proposal.
    { # A proposal may be associated to several notes.
      "createTime": "A String", # Output only. The timestamp for when this note was created.
      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
      "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.
      "noteId": "A String", # Output only. The unique ID for the note.
      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction proposal.
  "proposalId": "A String", # Output only. The unique ID 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.
  "proposalState": "A String", # Output only. The current state of the proposal.
  "seller": { # Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID. # 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.
    "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.
    "subAccountId": "A String", # Output only. Ad manager network code for the seller.
  },
  "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.
    },
  ],
  "termsAndConditions": "A String", # Output only. The terms and conditions set by the publisher for this proposal.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}
list(accountId, filter=None, filterSyntax=None, pageSize=None, pageToken=None, x__xgafv=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)
  filter: string, An optional PQL filter query used to query for proposals. Nested repeated fields, such as proposal.deals.targetingCriterion, cannot be filtered.
  filterSyntax: string, Syntax the filter is written in. Current implementation defaults to PQL but in the future it will be LIST_FILTER.
    Allowed values
      FILTER_SYNTAX_UNSPECIFIED - A placeholder for an undefined filter syntax.
      PQL - PQL query syntax. Visit https://developers.google.com/ad-manager/api/pqlreference for PQL documentation and examples.
      LIST_FILTER - API list filtering syntax. Read about syntax and usage at https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters.
  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

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.
    { # 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't update, create, or otherwise modify Private Auction deals through the API. Fields are updatable unless noted otherwise.
      "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # Output only. Reference to the buyer that will get billed for this proposal.
        "accountId": "A String", # Authorized Buyers account ID of the buyer.
      },
      "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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.
        "accountId": "A String", # Authorized Buyers account ID of the buyer.
      },
      "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.
        },
      ],
      "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).
      },
      "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.
          "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.
          "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 (for example, in milliseconds) will be truncated towards the start of time in seconds.
          "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).
          },
          "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.
          "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 since 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.
          "createTime": "A String", # Output only. The time of the deal creation.
          "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
          "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ Preferred Deal in Ad Manager. This doesn't apply to Private Auction and AdX Preferred Deals. # Output only. Restricitions about the creatives associated with the deal (for example, size) This is available for Programmatic Guaranteed/Preferred Deals in Ad Manager.
            "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
            "creativeSpecifications": [
              { # Represents information for a creative that is associated with a Programmatic Guaranteed/Preferred Deal in Ad Manager.
                "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
                  { # Represents size of a single ad slot, or a creative.
                    "height": "A String", # The height 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.
                    "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
                  },
                ],
                "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
                  "height": "A String", # The height 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.
                  "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
                },
              },
            ],
            "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
          },
          "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
          "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
          "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. The deal is considered paused if either hasBuyerPaused or hasSellPaused is true. # Output only. Tracks which parties (if any) have paused a deal.
              "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
              "firstPausedBy": "A String", # The role of the person who first paused this deal.
              "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
              "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
              "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
            },
          },
          "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (for example, fixed price, auction) and expected impressions from the publisher. # The negotiable terms of the deal.
            "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
            "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.
              "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
              },
              "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
            },
            "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day. Can be set by buyer or seller.
            "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
              "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.
                  "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",
                  ],
                  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                    "accountId": "A String", # Authorized Buyers account ID of the buyer.
                  },
                  "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                    "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                      "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                      "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                      "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    },
                    "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
                  },
                },
              ],
              "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
              "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
              "impressionCap": "A String", # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
              "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
              "percentShareOfVoice": "A String", # For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached.
              "reservationType": "A String", # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
            },
            "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
              "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
              "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.
                  "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",
                  ],
                  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                    "accountId": "A String", # Authorized Buyers account ID of the buyer.
                  },
                  "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                    "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                      "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                      "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                      "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    },
                    "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
                  },
                },
              ],
            },
            "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. # The terms for non-guaranteed fixed price deals.
              "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.
                  "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",
                  ],
                  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                    "accountId": "A String", # Authorized Buyers account ID of the buyer.
                  },
                  "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                    "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                      "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                      "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                      "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                    },
                    "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
                  },
                },
              ],
            },
            "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.
          },
          "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.
            "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.
            "frequencyCaps": [ # Output only. Specifies any frequency caps.
              { # Frequency cap.
                "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the specified time period.
                "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.
              },
            ],
          },
          "description": "A String", # Description for the deal terms.
          "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.
          "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this deal.
          "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.
          "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
          "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.
            },
          ],
          "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.
          "targeting": { # Targeting represents different criteria that can be used by advertisers to 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. # Output only. Specifies the subset of inventory targeted by the deal.
            "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # Geo criteria IDs to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
            "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad 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. # Inventory sizes to be included/excluded.
              "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
                { # Represents size of a single ad slot, or a creative.
                  "height": "A String", # The height 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.
                  "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
                },
              ],
              "targetedInventorySizes": [ # A list of inventory sizes to be included.
                { # Represents size of a single ad slot, or a creative.
                  "height": "A String", # The height 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.
                  "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
                },
              ],
            },
            "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Placement targeting information, for example, URL, mobile applications.
              "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 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. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in.
                  "excludedAppIds": [ # A list of application IDs to be excluded.
                    "A String",
                  ],
                  "targetedAppIds": [ # A list of application IDs to be included.
                    "A String",
                  ],
                },
              },
              "urlTargeting": { # Represents a list of targeted and excluded URLs (for example, google.com). For Private Auction and AdX Preferred Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn't apply. # URLs to be included/excluded.
                "excludedUrls": [ # A list of URLs to be excluded.
                  "A String",
                ],
                "targetedUrls": [ # A list of URLs to be included.
                  "A String",
                ],
              },
            },
            "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, for example, operating system, device category.
              "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device capabilities to be included/excluded.
                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                  "A String",
                ],
                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                  "A String",
                ],
              },
              "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device categories to be included/excluded.
                "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                  "A String",
                ],
                "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                  "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 included and excluded numeric IDs. # IDs of operating systems to be included/excluded.
                  "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                    "A String",
                  ],
                  "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                    "A String",
                  ],
                },
                "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of operating system versions to be included/excluded.
                  "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                    "A String",
                  ],
                  "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                    "A String",
                  ],
                },
              },
            },
            "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",
              ],
            },
          },
          "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.
              "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.
                  "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                    "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",
                    ],
                    "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.
                        "height": 42, # The height of the creative.
                        "width": 42, # The width of the creative
                      },
                    ],
                    "creativeSizeType": "A String", # The creative size type.
                    "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                    "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                      "height": 42, # The height of the creative.
                      "width": 42, # The width of the creative
                    },
                    "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
                  },
                  "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                          "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                          "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                          "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                          "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                        },
                        "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                          "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                          "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                          "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                          "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                        },
                      },
                    ],
                    "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
                  },
                  "longValue": "A String", # The long value to include/exclude.
                  "stringValue": "A String", # The string value to include/exclude.
                },
              ],
              "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.
                  "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                    "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",
                    ],
                    "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.
                        "height": 42, # The height of the creative.
                        "width": 42, # The width of the creative
                      },
                    ],
                    "creativeSizeType": "A String", # The creative size type.
                    "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                    "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                      "height": 42, # The height of the creative.
                      "width": 42, # The width of the creative
                    },
                    "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
                  },
                  "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                          "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                          "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                          "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                          "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                        },
                        "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                          "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                          "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                          "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                          "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                        },
                      },
                    ],
                    "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
                  },
                  "longValue": "A String", # The long value to include/exclude.
                  "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.
            },
          ],
          "updateTime": "A String", # Output only. The time when the deal was last updated.
          "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
        },
      ],
      "displayName": "A String", # The name for the proposal.
      "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
      "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this proposal.
      "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
      "notes": [ # Output only. The notes associated with this proposal.
        { # A proposal may be associated to several notes.
          "createTime": "A String", # Output only. The timestamp for when this note was created.
          "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
          "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.
          "noteId": "A String", # Output only. The unique ID for the note.
          "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
        },
      ],
      "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
      "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction proposal.
      "proposalId": "A String", # Output only. The unique ID 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.
      "proposalState": "A String", # Output only. The current state of the proposal.
      "seller": { # Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID. # 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.
        "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.
        "subAccountId": "A String", # Output only. Ad manager network code for the seller.
      },
      "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.
        },
      ],
      "termsAndConditions": "A String", # Output only. The terms and conditions set by the publisher for this proposal.
      "updateTime": "A String", # Output only. The time when the proposal was last revised.
    },
  ],
}
list_next()
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:

    { # 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't update, create, or otherwise modify Private Auction deals through the API. Fields are updatable unless noted otherwise.
  "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # Output only. Reference to the buyer that will get billed for this proposal.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "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.
    },
  ],
  "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).
  },
  "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.
      "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.
      "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 (for example, in milliseconds) will be truncated towards the start of time in seconds.
      "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).
      },
      "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.
      "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 since 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.
      "createTime": "A String", # Output only. The time of the deal creation.
      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
      "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ Preferred Deal in Ad Manager. This doesn't apply to Private Auction and AdX Preferred Deals. # Output only. Restricitions about the creatives associated with the deal (for example, size) This is available for Programmatic Guaranteed/Preferred Deals in Ad Manager.
        "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
        "creativeSpecifications": [
          { # Represents information for a creative that is associated with a Programmatic Guaranteed/Preferred Deal in Ad Manager.
            "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
              { # Represents size of a single ad slot, or a creative.
                "height": "A String", # The height 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.
                "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
              },
            ],
            "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          },
        ],
        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
      },
      "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
      "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
      "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. The deal is considered paused if either hasBuyerPaused or hasSellPaused is true. # Output only. Tracks which parties (if any) have paused a deal.
          "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
          "firstPausedBy": "A String", # The role of the person who first paused this deal.
          "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
          "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
          "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
        },
      },
      "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (for example, fixed price, auction) and expected impressions from the publisher. # The negotiable terms of the deal.
        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
        "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.
          "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
            "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
            "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
            "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          },
          "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
        },
        "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day. Can be set by buyer or seller.
        "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
          "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
          "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
          "impressionCap": "A String", # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
          "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
          "percentShareOfVoice": "A String", # For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached.
          "reservationType": "A String", # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
        },
        "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
          "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. # The terms for non-guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "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.
      },
      "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.
        "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.
        "frequencyCaps": [ # Output only. Specifies any frequency caps.
          { # Frequency cap.
            "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the specified time period.
            "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.
          },
        ],
      },
      "description": "A String", # Description for the deal terms.
      "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.
      "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this deal.
      "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.
      "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
      "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.
        },
      ],
      "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.
      "targeting": { # Targeting represents different criteria that can be used by advertisers to 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. # Output only. Specifies the subset of inventory targeted by the deal.
        "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # Geo criteria IDs to be included/excluded.
          "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
            "A String",
          ],
          "targetedCriteriaIds": [ # A list of numeric IDs to be included.
            "A String",
          ],
        },
        "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad 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. # Inventory sizes to be included/excluded.
          "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
          "targetedInventorySizes": [ # A list of inventory sizes to be included.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
        },
        "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Placement targeting information, for example, URL, mobile applications.
          "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 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. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in.
              "excludedAppIds": [ # A list of application IDs to be excluded.
                "A String",
              ],
              "targetedAppIds": [ # A list of application IDs to be included.
                "A String",
              ],
            },
          },
          "urlTargeting": { # Represents a list of targeted and excluded URLs (for example, google.com). For Private Auction and AdX Preferred Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn't apply. # URLs to be included/excluded.
            "excludedUrls": [ # A list of URLs to be excluded.
              "A String",
            ],
            "targetedUrls": [ # A list of URLs to be included.
              "A String",
            ],
          },
        },
        "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, for example, operating system, device category.
          "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device capabilities to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "A String",
            ],
          },
          "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device categories to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "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 included and excluded numeric IDs. # IDs of operating systems to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
            "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of operating system versions to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
          },
        },
        "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",
          ],
        },
      },
      "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.
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "stringValue": "A String", # The string value to include/exclude.
            },
          ],
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "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.
        },
      ],
      "updateTime": "A String", # Output only. The time when the deal was last updated.
      "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
    },
  ],
  "displayName": "A String", # The name for the proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this proposal.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "notes": [ # Output only. The notes associated with this proposal.
    { # A proposal may be associated to several notes.
      "createTime": "A String", # Output only. The timestamp for when this note was created.
      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
      "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.
      "noteId": "A String", # Output only. The unique ID for the note.
      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction proposal.
  "proposalId": "A String", # Output only. The unique ID 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.
  "proposalState": "A String", # Output only. The current state of the proposal.
  "seller": { # Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID. # 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.
    "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.
    "subAccountId": "A String", # Output only. Ad manager network code for the seller.
  },
  "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.
    },
  ],
  "termsAndConditions": "A String", # Output only. The terms and conditions set by the publisher for this proposal.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}
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:

    { # 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't update, create, or otherwise modify Private Auction deals through the API. Fields are updatable unless noted otherwise.
  "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # Output only. Reference to the buyer that will get billed for this proposal.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "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.
    },
  ],
  "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).
  },
  "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.
      "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.
      "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 (for example, in milliseconds) will be truncated towards the start of time in seconds.
      "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).
      },
      "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.
      "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 since 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.
      "createTime": "A String", # Output only. The time of the deal creation.
      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
      "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ Preferred Deal in Ad Manager. This doesn't apply to Private Auction and AdX Preferred Deals. # Output only. Restricitions about the creatives associated with the deal (for example, size) This is available for Programmatic Guaranteed/Preferred Deals in Ad Manager.
        "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
        "creativeSpecifications": [
          { # Represents information for a creative that is associated with a Programmatic Guaranteed/Preferred Deal in Ad Manager.
            "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
              { # Represents size of a single ad slot, or a creative.
                "height": "A String", # The height 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.
                "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
              },
            ],
            "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          },
        ],
        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
      },
      "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
      "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
      "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. The deal is considered paused if either hasBuyerPaused or hasSellPaused is true. # Output only. Tracks which parties (if any) have paused a deal.
          "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
          "firstPausedBy": "A String", # The role of the person who first paused this deal.
          "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
          "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
          "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
        },
      },
      "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (for example, fixed price, auction) and expected impressions from the publisher. # The negotiable terms of the deal.
        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
        "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.
          "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
            "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
            "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
            "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          },
          "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
        },
        "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day. Can be set by buyer or seller.
        "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
          "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
          "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
          "impressionCap": "A String", # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
          "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
          "percentShareOfVoice": "A String", # For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached.
          "reservationType": "A String", # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
        },
        "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
          "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. # The terms for non-guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "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.
      },
      "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.
        "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.
        "frequencyCaps": [ # Output only. Specifies any frequency caps.
          { # Frequency cap.
            "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the specified time period.
            "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.
          },
        ],
      },
      "description": "A String", # Description for the deal terms.
      "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.
      "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this deal.
      "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.
      "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
      "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.
        },
      ],
      "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.
      "targeting": { # Targeting represents different criteria that can be used by advertisers to 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. # Output only. Specifies the subset of inventory targeted by the deal.
        "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # Geo criteria IDs to be included/excluded.
          "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
            "A String",
          ],
          "targetedCriteriaIds": [ # A list of numeric IDs to be included.
            "A String",
          ],
        },
        "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad 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. # Inventory sizes to be included/excluded.
          "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
          "targetedInventorySizes": [ # A list of inventory sizes to be included.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
        },
        "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Placement targeting information, for example, URL, mobile applications.
          "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 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. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in.
              "excludedAppIds": [ # A list of application IDs to be excluded.
                "A String",
              ],
              "targetedAppIds": [ # A list of application IDs to be included.
                "A String",
              ],
            },
          },
          "urlTargeting": { # Represents a list of targeted and excluded URLs (for example, google.com). For Private Auction and AdX Preferred Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn't apply. # URLs to be included/excluded.
            "excludedUrls": [ # A list of URLs to be excluded.
              "A String",
            ],
            "targetedUrls": [ # A list of URLs to be included.
              "A String",
            ],
          },
        },
        "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, for example, operating system, device category.
          "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device capabilities to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "A String",
            ],
          },
          "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device categories to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "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 included and excluded numeric IDs. # IDs of operating systems to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
            "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of operating system versions to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
          },
        },
        "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",
          ],
        },
      },
      "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.
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "stringValue": "A String", # The string value to include/exclude.
            },
          ],
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "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.
        },
      ],
      "updateTime": "A String", # Output only. The time when the deal was last updated.
      "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
    },
  ],
  "displayName": "A String", # The name for the proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this proposal.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "notes": [ # Output only. The notes associated with this proposal.
    { # A proposal may be associated to several notes.
      "createTime": "A String", # Output only. The timestamp for when this note was created.
      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
      "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.
      "noteId": "A String", # Output only. The unique ID for the note.
      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction proposal.
  "proposalId": "A String", # Output only. The unique ID 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.
  "proposalState": "A String", # Output only. The current state of the proposal.
  "seller": { # Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID. # 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.
    "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.
    "subAccountId": "A String", # Output only. Ad manager network code for the seller.
  },
  "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.
    },
  ],
  "termsAndConditions": "A String", # Output only. The terms and conditions set by the publisher for this proposal.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}
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:

{ # 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't update, create, or otherwise modify Private Auction deals through the API. Fields are updatable unless noted otherwise.
  "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # Output only. Reference to the buyer that will get billed for this proposal.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "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.
    },
  ],
  "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).
  },
  "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.
      "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.
      "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 (for example, in milliseconds) will be truncated towards the start of time in seconds.
      "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).
      },
      "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.
      "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 since 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.
      "createTime": "A String", # Output only. The time of the deal creation.
      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
      "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ Preferred Deal in Ad Manager. This doesn't apply to Private Auction and AdX Preferred Deals. # Output only. Restricitions about the creatives associated with the deal (for example, size) This is available for Programmatic Guaranteed/Preferred Deals in Ad Manager.
        "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
        "creativeSpecifications": [
          { # Represents information for a creative that is associated with a Programmatic Guaranteed/Preferred Deal in Ad Manager.
            "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
              { # Represents size of a single ad slot, or a creative.
                "height": "A String", # The height 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.
                "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
              },
            ],
            "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          },
        ],
        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
      },
      "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
      "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
      "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. The deal is considered paused if either hasBuyerPaused or hasSellPaused is true. # Output only. Tracks which parties (if any) have paused a deal.
          "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
          "firstPausedBy": "A String", # The role of the person who first paused this deal.
          "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
          "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
          "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
        },
      },
      "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (for example, fixed price, auction) and expected impressions from the publisher. # The negotiable terms of the deal.
        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
        "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.
          "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
            "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
            "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
            "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          },
          "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
        },
        "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day. Can be set by buyer or seller.
        "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
          "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
          "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
          "impressionCap": "A String", # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
          "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
          "percentShareOfVoice": "A String", # For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached.
          "reservationType": "A String", # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
        },
        "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
          "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. # The terms for non-guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "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.
      },
      "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.
        "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.
        "frequencyCaps": [ # Output only. Specifies any frequency caps.
          { # Frequency cap.
            "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the specified time period.
            "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.
          },
        ],
      },
      "description": "A String", # Description for the deal terms.
      "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.
      "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this deal.
      "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.
      "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
      "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.
        },
      ],
      "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.
      "targeting": { # Targeting represents different criteria that can be used by advertisers to 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. # Output only. Specifies the subset of inventory targeted by the deal.
        "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # Geo criteria IDs to be included/excluded.
          "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
            "A String",
          ],
          "targetedCriteriaIds": [ # A list of numeric IDs to be included.
            "A String",
          ],
        },
        "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad 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. # Inventory sizes to be included/excluded.
          "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
          "targetedInventorySizes": [ # A list of inventory sizes to be included.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
        },
        "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Placement targeting information, for example, URL, mobile applications.
          "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 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. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in.
              "excludedAppIds": [ # A list of application IDs to be excluded.
                "A String",
              ],
              "targetedAppIds": [ # A list of application IDs to be included.
                "A String",
              ],
            },
          },
          "urlTargeting": { # Represents a list of targeted and excluded URLs (for example, google.com). For Private Auction and AdX Preferred Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn't apply. # URLs to be included/excluded.
            "excludedUrls": [ # A list of URLs to be excluded.
              "A String",
            ],
            "targetedUrls": [ # A list of URLs to be included.
              "A String",
            ],
          },
        },
        "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, for example, operating system, device category.
          "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device capabilities to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "A String",
            ],
          },
          "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device categories to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "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 included and excluded numeric IDs. # IDs of operating systems to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
            "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of operating system versions to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
          },
        },
        "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",
          ],
        },
      },
      "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.
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "stringValue": "A String", # The string value to include/exclude.
            },
          ],
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "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.
        },
      ],
      "updateTime": "A String", # Output only. The time when the deal was last updated.
      "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
    },
  ],
  "displayName": "A String", # The name for the proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this proposal.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "notes": [ # Output only. The notes associated with this proposal.
    { # A proposal may be associated to several notes.
      "createTime": "A String", # Output only. The timestamp for when this note was created.
      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
      "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.
      "noteId": "A String", # Output only. The unique ID for the note.
      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction proposal.
  "proposalId": "A String", # Output only. The unique ID 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.
  "proposalState": "A String", # Output only. The current state of the proposal.
  "seller": { # Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID. # 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.
    "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.
    "subAccountId": "A String", # Output only. Ad manager network code for the seller.
  },
  "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.
    },
  ],
  "termsAndConditions": "A String", # Output only. The terms and conditions set by the publisher for this proposal.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}

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

Returns:
  An object of the form:

    { # 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't update, create, or otherwise modify Private Auction deals through the API. Fields are updatable unless noted otherwise.
  "billedBuyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # Output only. Reference to the buyer that will get billed for this proposal.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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.
    "accountId": "A String", # Authorized Buyers account ID of the buyer.
  },
  "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.
    },
  ],
  "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).
  },
  "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.
      "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.
      "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 (for example, in milliseconds) will be truncated towards the start of time in seconds.
      "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).
      },
      "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.
      "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 since 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.
      "createTime": "A String", # Output only. The time of the deal creation.
      "creativePreApprovalPolicy": "A String", # Output only. Specifies the creative pre-approval policy.
      "creativeRestrictions": { # Represents creative restrictions associated to Programmatic Guaranteed/ Preferred Deal in Ad Manager. This doesn't apply to Private Auction and AdX Preferred Deals. # Output only. Restricitions about the creatives associated with the deal (for example, size) This is available for Programmatic Guaranteed/Preferred Deals in Ad Manager.
        "creativeFormat": "A String", # The format of the environment that the creatives will be displayed in.
        "creativeSpecifications": [
          { # Represents information for a creative that is associated with a Programmatic Guaranteed/Preferred Deal in Ad Manager.
            "creativeCompanionSizes": [ # Companion sizes may be filled in only when this is a video creative.
              { # Represents size of a single ad slot, or a creative.
                "height": "A String", # The height 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.
                "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
              },
            ],
            "creativeSize": { # Represents size of a single ad slot, or a creative. # The size of the creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          },
        ],
        "skippableAdType": "A String", # Skippable video ads allow viewers to skip ads after 5 seconds.
      },
      "creativeSafeFrameCompatibility": "A String", # Output only. Specifies whether the creative is safeFrame compatible.
      "dealId": "A String", # Output only. A unique deal ID for the deal (server-assigned).
      "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. The deal is considered paused if either hasBuyerPaused or hasSellPaused is true. # Output only. Tracks which parties (if any) have paused a deal.
          "buyerPauseReason": "A String", # The buyer's reason for pausing, if the buyer paused the deal.
          "firstPausedBy": "A String", # The role of the person who first paused this deal.
          "hasBuyerPaused": True or False, # True, if the buyer has paused the deal unilaterally.
          "hasSellerPaused": True or False, # True, if the seller has paused the deal unilaterally.
          "sellerPauseReason": "A String", # The seller's reason for pausing, if the seller paused the deal.
        },
      },
      "dealTerms": { # The deal terms specify the details of a Product/deal. They specify things like price per buyer, the type of pricing model (for example, fixed price, auction) and expected impressions from the publisher. # The negotiable terms of the deal.
        "brandingType": "A String", # Visibility of the URL in bid requests. (default: BRANDED)
        "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.
          "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
            "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
            "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
            "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          },
          "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
        },
        "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day. Can be set by buyer or seller.
        "guaranteedFixedPriceTerms": { # Terms for Programmatic Guaranteed Deals. # The terms for guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
          "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.
          "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.
          "impressionCap": "A String", # The lifetime impression cap for CPM sponsorship deals. The deal will stop serving when the cap is reached.
          "minimumDailyLooks": "A String", # Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
          "percentShareOfVoice": "A String", # For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached.
          "reservationType": "A String", # The reservation type for a Programmatic Guaranteed deal. This indicates whether the number of impressions is fixed, or a percent of available impressions. If not specified, the default reservation type is STANDARD.
        },
        "nonGuaranteedAuctionTerms": { # Terms for Private Auctions. Note that Private Auctions can be created only by the seller, but they can be returned in a get or list request. # The terms for non-guaranteed auction deals.
          "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "nonGuaranteedFixedPriceTerms": { # Terms for Preferred Deals. # The terms for non-guaranteed fixed price deals.
          "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.
              "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",
              ],
              "buyer": { # Represents a buyer of inventory. Each buyer is identified by a unique Authorized Buyers account ID. # 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).
                "accountId": "A String", # Authorized Buyers account ID of the buyer.
              },
              "price": { # Represents a price and a pricing type for a product / deal. # The specified price.
                "amount": { # Represents an amount of money with its currency type. # The actual price with currency specified.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "pricingType": "A String", # The pricing type for the deal/product. (default: CPM)
              },
            },
          ],
        },
        "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.
      },
      "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.
        "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.
        "frequencyCaps": [ # Output only. Specifies any frequency caps.
          { # Frequency cap.
            "maxImpressions": 42, # The maximum number of impressions that can be served to a user within the specified time period.
            "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.
          },
        ],
      },
      "description": "A String", # Description for the deal terms.
      "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.
      "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this deal.
      "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.
      "proposalId": "A String", # Output only. ID of the proposal that this deal is part of.
      "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.
        },
      ],
      "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.
      "targeting": { # Targeting represents different criteria that can be used by advertisers to 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. # Output only. Specifies the subset of inventory targeted by the deal.
        "geoTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # Geo criteria IDs to be included/excluded.
          "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
            "A String",
          ],
          "targetedCriteriaIds": [ # A list of numeric IDs to be included.
            "A String",
          ],
        },
        "inventorySizeTargeting": { # Represents the size of an ad unit that can be targeted on an ad 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. # Inventory sizes to be included/excluded.
          "excludedInventorySizes": [ # A list of inventory sizes to be excluded.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
          "targetedInventorySizes": [ # A list of inventory sizes to be included.
            { # Represents size of a single ad slot, or a creative.
              "height": "A String", # The height 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.
              "width": "A String", # The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            },
          ],
        },
        "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Placement targeting information, for example, URL, mobile applications.
          "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 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. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in.
              "excludedAppIds": [ # A list of application IDs to be excluded.
                "A String",
              ],
              "targetedAppIds": [ # A list of application IDs to be included.
                "A String",
              ],
            },
          },
          "urlTargeting": { # Represents a list of targeted and excluded URLs (for example, google.com). For Private Auction and AdX Preferred Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn't apply. # URLs to be included/excluded.
            "excludedUrls": [ # A list of URLs to be excluded.
              "A String",
            ],
            "targetedUrls": [ # A list of URLs to be included.
              "A String",
            ],
          },
        },
        "technologyTargeting": { # Represents targeting about various types of technology. # Technology targeting information, for example, operating system, device category.
          "deviceCapabilityTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device capabilities to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "A String",
            ],
          },
          "deviceCategoryTargeting": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of device categories to be included/excluded.
            "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
              "A String",
            ],
            "targetedCriteriaIds": [ # A list of numeric IDs to be included.
              "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 included and excluded numeric IDs. # IDs of operating systems to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
            "operatingSystemVersionCriteria": { # Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. # IDs of operating system versions to be included/excluded.
              "excludedCriteriaIds": [ # A list of numeric IDs to be excluded.
                "A String",
              ],
              "targetedCriteriaIds": [ # A list of numeric IDs to be included.
                "A String",
              ],
            },
          },
        },
        "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",
          ],
        },
      },
      "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.
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "stringValue": "A String", # The string value to include/exclude.
            },
          ],
          "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.
              "creativeSizeValue": { # Specifies the size of the creative. # The creative size value to include/exclude. Filled in when key = GOOG_CREATIVE_SIZE
                "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",
                ],
                "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.
                    "height": 42, # The height of the creative.
                    "width": 42, # The width of the creative
                  },
                ],
                "creativeSizeType": "A String", # The creative size type.
                "nativeTemplate": "A String", # Output only. The native template for this creative. It will have a value only if creative_size_type = CreativeSizeType.NATIVE.
                "size": { # Message depicting the size of the creative. The units of width and height depend on the type of the targeting. # For regular or video creative size type, specifies the size of the creative
                  "height": 42, # The height of the creative.
                  "width": 42, # The width of the creative
                },
                "skippableAdType": "A String", # The type of skippable ad for this creative. It will have a value only if creative_size_type = CreativeSizeType.VIDEO.
              },
              "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 or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                    "startTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # 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.
                      "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
                      "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
                      "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
                      "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
                    },
                  },
                ],
                "timeZoneType": "A String", # The timezone to use for interpreting the day part targeting.
              },
              "longValue": "A String", # The long value to include/exclude.
              "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.
        },
      ],
      "updateTime": "A String", # Output only. The time when the deal was last updated.
      "webPropertyCode": "A String", # The web property code for the seller copied over from the product.
    },
  ],
  "displayName": "A String", # The name for the proposal.
  "isRenegotiating": True or False, # Output only. True if the proposal is being renegotiated.
  "isSetupComplete": True or False, # Output only. True, if the buyside inventory setup is complete for this proposal.
  "lastUpdaterOrCommentorRole": "A String", # Output only. The role of the last user that either updated the proposal or left a comment.
  "notes": [ # Output only. The notes associated with this proposal.
    { # A proposal may be associated to several notes.
      "createTime": "A String", # Output only. The timestamp for when this note was created.
      "creatorRole": "A String", # Output only. The role of the person (buyer/seller) creating the note.
      "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.
      "noteId": "A String", # Output only. The unique ID for the note.
      "proposalRevision": "A String", # Output only. The revision number of the proposal when the note is created.
    },
  ],
  "originatorRole": "A String", # Output only. Indicates whether the buyer/seller created the proposal.
  "privateAuctionId": "A String", # Output only. Private auction ID if this proposal is a private auction proposal.
  "proposalId": "A String", # Output only. The unique ID 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.
  "proposalState": "A String", # Output only. The current state of the proposal.
  "seller": { # Represents a seller of inventory. Each seller is identified by a unique Ad Manager account ID. # 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.
    "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.
    "subAccountId": "A String", # Output only. Ad manager network code for the seller.
  },
  "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.
    },
  ],
  "termsAndConditions": "A String", # Output only. The terms and conditions set by the publisher for this proposal.
  "updateTime": "A String", # Output only. The time when the proposal was last revised.
}