---
title: "POST /v1/buyers/{buyersId}/proposals/{proposalsId}/deals:batchUpdate"
method: POST
path: "/v1/buyers/{buyersId}/proposals/{proposalsId}/deals:batchUpdate"
tags: ["buyers"]
---

# POST /v1/buyers/{buyersId}/proposals/{proposalsId}/deals:batchUpdate

`POST /v1/buyers/{buyersId}/proposals/{proposalsId}/deals:batchUpdate`

## Request

- Base URL: `https://authorizedbuyersmarketplace.googleapis.com`
- URL: `https://authorizedbuyersmarketplace.googleapis.com/v1/buyers/{buyersId}/proposals/{proposalsId}/deals:batchUpdate`
- Auth: OAuth 2 and OAuth 2
  - Implicit: `https://accounts.google.com/o/oauth2/auth`
  - Scopes: `https://www.googleapis.com/auth/authorized-buyers-marketplace`
  - Authorization code: `https://accounts.google.com/o/oauth2/auth`
  - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/authorized-buyers-marketplace`

Batch updates multiple deals in the same proposal.

## Path parameters

- `buyersId` string, required
- `proposalsId` string, required

## Request body

- BatchUpdateDealsRequest: Request message for batch updating deals.
  - `requests` UpdateDealRequest[]: Required. List of request messages to update deals.
    - `deal` Deal: A deal represents a segment of inventory for displaying ads that contains the terms and targeting information that is used for serving as well as the deal stats and status. Note: A proposal may contain multiple deals.
      - `billedBuyer` string: Output only. When the client field is populated, this field refers to the buyer who creates and manages the client buyer and gets billed on behalf of the client buyer; when the buyer field is populated, this field is the same value as buyer; when the deal belongs to a media planner account, this field will be empty. Format : `buyers/{buyerAccountId}`
      - `buyer` string: Output only. Refers to a buyer in Real-time Bidding API's Buyer resource. Format: `buyers/{buyerAccountId}`
      - `buyerPermissionType` 'BUYER_PERMISSION_TYPE_UNSPECIFIED' | 'NEGOTIATOR_ONLY' | 'BIDDER': Output only. The buyer permission type of the deal.
      - `client` string: Output only. Refers to a Client. Format: `buyers/{buyerAccountId}/clients/{clientAccountid}`
      - `createTime` string, google-datetime: Output only. The time of the deal creation.
      - `creativeRequirements` CreativeRequirements: Message captures data about the creatives in the deal.
        - `creativeFormat` 'CREATIVE_FORMAT_UNSPECIFIED' | 'DISPLAY' | 'VIDEO' | 'AUDIO': Output only. The format of the creative, only applicable for programmatic guaranteed and preferred deals.
        - `creativePreApprovalPolicy` 'CREATIVE_PRE_APPROVAL_POLICY_UNSPECIFIED' | 'SELLER_PRE_APPROVAL_REQUIRED' | 'SELLER_PRE_APPROVAL_NOT_REQUIRED': Output only. Specifies the creative pre-approval policy.
        - `creativeSafeFrameCompatibility` 'CREATIVE_SAFE_FRAME_COMPATIBILITY_UNSPECIFIED' | 'COMPATIBLE' | 'INCOMPATIBLE': Output only. Specifies whether the creative is safeFrame compatible.
        - `maxAdDurationMs` string, int64: Output only. The max duration of the video creative in milliseconds. only applicable for deals with video creatives.
        - `programmaticCreativeSource` 'PROGRAMMATIC_CREATIVE_SOURCE_UNSPECIFIED' | 'ADVERTISER' | 'PUBLISHER': Output only. Specifies the creative source for programmatic deals. PUBLISHER means creative is provided by seller and ADVERTISER means creative is provided by the buyer.
        - `skippableAdType` 'SKIPPABLE_AD_TYPE_UNSPECIFIED' | 'SKIPPABLE' | 'INSTREAM_SELECT' | 'NOT_SKIPPABLE' | 'ANY': Output only. Skippable video ads allow viewers to skip ads after 5 seconds. Only applicable for deals with video creatives.
      - `dealType` 'DEAL_TYPE_UNSPECIFIED' | 'PREFERRED_DEAL' | 'PRIVATE_AUCTION' | 'PROGRAMMATIC_GUARANTEED': Output only. Type of deal.
      - `deliveryControl` DeliveryControl: Message contains details about how the deal will be paced.
        - `companionDeliveryType` 'COMPANION_DELIVERY_TYPE_UNSPECIFIED' | 'DELIVERY_OPTIONAL' | 'DELIVERY_AT_LEAST_ONE' | 'DELIVERY_ALL': Output only. Specifies roadblocking in a main companion lineitem.
        - `creativeRotationType` 'CREATIVE_ROTATION_TYPE_UNSPECIFIED' | 'ROTATION_EVEN' | 'ROTATION_OPTIMIZED' | 'ROTATION_MANUAL' | 'ROTATION_SEQUENTIAL': Output only. Specifies strategy to use for selecting a creative when multiple creatives of the same size are available.
        - `deliveryRateType` 'DELIVERY_RATE_TYPE_UNSPECIFIED' | 'EVENLY' | 'FRONT_LOADED' | 'AS_FAST_AS_POSSIBLE': Output only. Specifies how the impression delivery will be paced.
        - `frequencyCap` FrequencyCap[]: Output only. Specifies any frequency caps. Cannot be filtered within ListDealsRequest.
          - `maxImpressions` integer: The maximum number of impressions that can be served to a user within the specified time period.
          - `timeUnitType` 'TIME_UNIT_TYPE_UNSPECIFIED' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' | 'MONTH' | 'LIFETIME' | 'POD' | 'STREAM': The time unit. Along with num_time_units defines the amount of time over which impressions per user are counted and capped.
          - `timeUnitsCount` integer: 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.
        - `roadblockingType` 'ROADBLOCKING_TYPE_UNSPECIFIED' | 'ONLY_ONE' | 'ONE_OR_MORE' | 'AS_MANY_AS_POSSIBLE' | 'ALL_ROADBLOCK' | 'CREATIVE_SET': Output only. Specifies the roadblocking type in display creatives.
      - `description` string: Output only. Free text description for the deal terms.
      - `displayName` string: Output only. The name of the deal. Maximum length of 255 unicode characters is allowed. Control characters are not allowed. Buyers cannot update this field. Note: Not to be confused with name, which is a unique identifier of the deal.
      - `eligibleSeatIds` string[]: Output only. If set, this field contains the list of DSP specific seat ids set by media planners that are eligible to transact on this deal. The seat ID is in the calling DSP's namespace.
      - `estimatedGrossSpend` Money: Represents an amount of money with its currency type.
        - `currencyCode` string: The three-letter currency code defined in ISO 4217.
        - `nanos` integer: 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` string, int64: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      - `flightEndTime` string, google-datetime: Proposed flight end time of the deal. This will generally be stored in a granularity of a second. A value is not necessary for Private Auction deals.
      - `flightStartTime` string, google-datetime: 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.
      - `mediaPlanner` MediaPlanner: Represents a media planner account.
        - `accountId` string: Output only. Account ID of the media planner.
        - `ancestorNames` string[]: Output only. The ancestor names of the media planner. Format: `mediaPlanners/{mediaPlannerAccountId}` Can be used to filter the response of the mediaPlanners.list method.
        - `displayName` string: Output only. The display name of the media planner. Can be used to filter the response of the mediaPlanners.list method.
        - `name` string: Identifier. The unique resource name of the media planner. Format: `mediaPlanners/{mediaPlannerAccountId}` Can be used to filter the response of the mediaPlanners.list method.
      - `name` string: Immutable. The unique identifier of the deal. Auto-generated by the server when a deal is created. Format: buyers/{accountId}/proposals/{proposalId}/deals/{dealId}
      - `preferredDealTerms` PreferredDealTerms: Pricing terms for Preferred Deals.
        - `fixedPrice` Price: Represents a price and a pricing type for a deal.
          - `amount` Money: Represents an amount of money with its currency type.
            - `currencyCode` string: The three-letter currency code defined in ISO 4217.
            - `nanos` integer: 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` string, int64: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          - `type` 'TYPE_UNSPECIFIED' | 'CPM' | 'CPD': The pricing type for the deal.
      - `privateAuctionTerms` PrivateAuctionTerms: Pricing terms for Private Auctions.
        - `floorPrice` Price: Represents a price and a pricing type for a deal.
          - `amount` Money: Represents an amount of money with its currency type.
            - `currencyCode` string: The three-letter currency code defined in ISO 4217.
            - `nanos` integer: 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` string, int64: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          - `type` 'TYPE_UNSPECIFIED' | 'CPM' | 'CPD': The pricing type for the deal.
        - `openAuctionAllowed` boolean: Output only. True if open auction buyers are allowed to compete with invited buyers in this private auction.
      - `programmaticGuaranteedTerms` ProgrammaticGuaranteedTerms: Pricing terms for Programmatic Guaranteed Deals.
        - `fixedPrice` Price: Represents a price and a pricing type for a deal.
          - `amount` Money: Represents an amount of money with its currency type.
            - `currencyCode` string: The three-letter currency code defined in ISO 4217.
            - `nanos` integer: 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` string, int64: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          - `type` 'TYPE_UNSPECIFIED' | 'CPM' | 'CPD': The pricing type for the deal.
        - `guaranteedLooks` string, int64: Count of guaranteed looks. For CPD deals, buyer changes to guaranteed_looks will be ignored.
        - `impressionCap` string, int64: The lifetime impression cap for CPM Sponsorship deals. Deal will stop serving when cap is reached.
        - `minimumDailyLooks` string, int64: Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
        - `percentShareOfVoice` string, int64: For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached. Valid value is within range 0~100.
        - `reservationType` 'RESERVATION_TYPE_UNSPECIFIED' | 'STANDARD' | 'SPONSORSHIP': 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.
      - `proposalRevision` string, int64: Output only. The revision number for the proposal and is the same value as proposal.proposal_revision. Each update to 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.
      - `publisherProfile` string: Immutable. Reference to the seller on the deal. Format: `buyers/{buyerAccountId}/publisherProfiles/{publisherProfileId}`
      - `sellerTimeZone` TimeZone: Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).
        - `id` string: IANA Time Zone Database time zone. For example "America/New_York".
        - `version` string: Optional. IANA Time Zone Database version number. For example "2019a".
      - `targeting` MarketplaceTargeting: Targeting represents different criteria that can be used to target deals or auction packages. For example, they can choose to target inventory only if the user is in the US. Multiple types of targeting are always applied as a logical AND, unless noted otherwise.
        - `daypartTargeting` DayPartTargeting: Represents Daypart targeting.
          - `dayParts` DayPart[]: The targeted weekdays and times
            - `dayOfWeek` 'DAY_OF_WEEK_UNSPECIFIED' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY': Day of week for the period.
            - `endTime` TimeOfDay: 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`.
              - …
            - `startTime` TimeOfDay: 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`.
              - …
          - `timeZoneType` 'TIME_ZONE_TYPE_UNSPECIFIED' | 'SELLER' | 'USER': The time zone type of the day parts
        - `excludedSensitiveCategoryIds` string[]: Output only. The sensitive content category label IDs excluded. Refer to this file https://storage.googleapis.com/adx-rtb-dictionaries/content-labels.txt for category IDs.
        - `geoTargeting` CriteriaTargeting: Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.
          - `excludedCriteriaIds` string[]: A list of numeric IDs to be excluded.
          - `targetedCriteriaIds` string[]: A list of numeric IDs to be included.
        - `inventorySizeTargeting` InventorySizeTargeting: Represents the size of an ad unit that can be targeted on a bid request.
          - `excludedInventorySizes` AdSize[]: A list of inventory sizes to be excluded.
            - `height` string, int64: The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            - `type` 'TYPE_UNSPECIFIED' | 'PIXEL' | 'INTERSTITIAL' | 'NATIVE' | 'FLUID': The type of the ad slot size.
            - `width` string, int64: The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
          - `targetedInventorySizes` AdSize[]: A list of inventory sizes to be included.
            - `height` string, int64: The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
            - `type` 'TYPE_UNSPECIFIED' | 'PIXEL' | 'INTERSTITIAL' | 'NATIVE' | 'FLUID': The type of the ad slot size.
            - `width` string, int64: The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
        - `inventoryTypeTargeting` InventoryTypeTargeting: Targeting of the inventory types a bid request can originate from.
          - `inventoryTypes` string[]: The list of targeted inventory types for the bid request.
        - `placementTargeting` 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.
          - `mobileApplicationTargeting` MobileApplicationTargeting: Mobile application targeting settings.
            - `firstPartyTargeting` FirstPartyMobileApplicationTargeting: Represents a list of targeted and excluded mobile application IDs that publishers own. 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.
              - …
          - `uriTargeting` UriTargeting: Represents a list of targeted and excluded URLs (for example, google.com). For Private Auction Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn't apply.
            - `excludedUris` string[]: A list of URLs to be excluded.
            - `targetedUris` string[]: A list of URLs to be included.
        - `technologyTargeting` TechnologyTargeting: Represents targeting about various types of technology.
          - `deviceCapabilityTargeting` CriteriaTargeting: Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.
            - `excludedCriteriaIds` string[]: A list of numeric IDs to be excluded.
            - `targetedCriteriaIds` string[]: A list of numeric IDs to be included.
          - `deviceCategoryTargeting` CriteriaTargeting: Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.
            - `excludedCriteriaIds` string[]: A list of numeric IDs to be excluded.
            - `targetedCriteriaIds` string[]: A list of numeric IDs to be included.
          - `operatingSystemTargeting` OperatingSystemTargeting: Represents targeting information for operating systems.
            - `operatingSystemCriteria` CriteriaTargeting: Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.
              - …
            - `operatingSystemVersionCriteria` CriteriaTargeting: Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.
              - …
        - `userListTargeting` CriteriaTargeting: Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.
          - `excludedCriteriaIds` string[]: A list of numeric IDs to be excluded.
          - `targetedCriteriaIds` string[]: A list of numeric IDs to be included.
        - `verticalTargeting` CriteriaTargeting: Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.
          - `excludedCriteriaIds` string[]: A list of numeric IDs to be excluded.
          - `targetedCriteriaIds` string[]: A list of numeric IDs to be included.
        - `videoTargeting` VideoTargeting: Represents targeting information about video.
          - `excludedPositionTypes` string[]: A list of video positions to be excluded. When this field is populated, the targeted_position_types field must be empty.
          - `targetedPositionTypes` string[]: A list of video positions to be included. When this field is populated, the excluded_position_types field must be empty.
      - `updateTime` string, google-datetime: Output only. The time when the deal was last updated.
    - `updateMask` string, google-fieldmask: List of fields to be updated. If empty or unspecified, the service will update all fields populated in the update request excluding the output only fields and primitive fields with default value. Note that explicit field mask is required in order to reset a primitive field back to its default value, for example, false for boolean fields, 0 for integer fields. A special field mask consisting of a single path "*" can be used to indicate full replacement(the equivalent of PUT method), updatable fields unset or unspecified in the input will be cleared or set to default value. Output only fields will be ignored regardless of the value of updateMask.

## Response `200`

Successful response

- BatchUpdateDealsResponse: Response message for batch updating deals.
  - `deals` Deal[]: Deals updated.
    - `billedBuyer` string: Output only. When the client field is populated, this field refers to the buyer who creates and manages the client buyer and gets billed on behalf of the client buyer; when the buyer field is populated, this field is the same value as buyer; when the deal belongs to a media planner account, this field will be empty. Format : `buyers/{buyerAccountId}`
    - `buyer` string: Output only. Refers to a buyer in Real-time Bidding API's Buyer resource. Format: `buyers/{buyerAccountId}`
    - `buyerPermissionType` 'BUYER_PERMISSION_TYPE_UNSPECIFIED' | 'NEGOTIATOR_ONLY' | 'BIDDER': Output only. The buyer permission type of the deal.
    - `client` string: Output only. Refers to a Client. Format: `buyers/{buyerAccountId}/clients/{clientAccountid}`
    - `createTime` string, google-datetime: Output only. The time of the deal creation.
    - `creativeRequirements` CreativeRequirements: Message captures data about the creatives in the deal.
      - `creativeFormat` 'CREATIVE_FORMAT_UNSPECIFIED' | 'DISPLAY' | 'VIDEO' | 'AUDIO': Output only. The format of the creative, only applicable for programmatic guaranteed and preferred deals.
      - `creativePreApprovalPolicy` 'CREATIVE_PRE_APPROVAL_POLICY_UNSPECIFIED' | 'SELLER_PRE_APPROVAL_REQUIRED' | 'SELLER_PRE_APPROVAL_NOT_REQUIRED': Output only. Specifies the creative pre-approval policy.
      - `creativeSafeFrameCompatibility` 'CREATIVE_SAFE_FRAME_COMPATIBILITY_UNSPECIFIED' | 'COMPATIBLE' | 'INCOMPATIBLE': Output only. Specifies whether the creative is safeFrame compatible.
      - `maxAdDurationMs` string, int64: Output only. The max duration of the video creative in milliseconds. only applicable for deals with video creatives.
      - `programmaticCreativeSource` 'PROGRAMMATIC_CREATIVE_SOURCE_UNSPECIFIED' | 'ADVERTISER' | 'PUBLISHER': Output only. Specifies the creative source for programmatic deals. PUBLISHER means creative is provided by seller and ADVERTISER means creative is provided by the buyer.
      - `skippableAdType` 'SKIPPABLE_AD_TYPE_UNSPECIFIED' | 'SKIPPABLE' | 'INSTREAM_SELECT' | 'NOT_SKIPPABLE' | 'ANY': Output only. Skippable video ads allow viewers to skip ads after 5 seconds. Only applicable for deals with video creatives.
    - `dealType` 'DEAL_TYPE_UNSPECIFIED' | 'PREFERRED_DEAL' | 'PRIVATE_AUCTION' | 'PROGRAMMATIC_GUARANTEED': Output only. Type of deal.
    - `deliveryControl` DeliveryControl: Message contains details about how the deal will be paced.
      - `companionDeliveryType` 'COMPANION_DELIVERY_TYPE_UNSPECIFIED' | 'DELIVERY_OPTIONAL' | 'DELIVERY_AT_LEAST_ONE' | 'DELIVERY_ALL': Output only. Specifies roadblocking in a main companion lineitem.
      - `creativeRotationType` 'CREATIVE_ROTATION_TYPE_UNSPECIFIED' | 'ROTATION_EVEN' | 'ROTATION_OPTIMIZED' | 'ROTATION_MANUAL' | 'ROTATION_SEQUENTIAL': Output only. Specifies strategy to use for selecting a creative when multiple creatives of the same size are available.
      - `deliveryRateType` 'DELIVERY_RATE_TYPE_UNSPECIFIED' | 'EVENLY' | 'FRONT_LOADED' | 'AS_FAST_AS_POSSIBLE': Output only. Specifies how the impression delivery will be paced.
      - `frequencyCap` FrequencyCap[]: Output only. Specifies any frequency caps. Cannot be filtered within ListDealsRequest.
        - `maxImpressions` integer: The maximum number of impressions that can be served to a user within the specified time period.
        - `timeUnitType` 'TIME_UNIT_TYPE_UNSPECIFIED' | 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' | 'MONTH' | 'LIFETIME' | 'POD' | 'STREAM': The time unit. Along with num_time_units defines the amount of time over which impressions per user are counted and capped.
        - `timeUnitsCount` integer: 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.
      - `roadblockingType` 'ROADBLOCKING_TYPE_UNSPECIFIED' | 'ONLY_ONE' | 'ONE_OR_MORE' | 'AS_MANY_AS_POSSIBLE' | 'ALL_ROADBLOCK' | 'CREATIVE_SET': Output only. Specifies the roadblocking type in display creatives.
    - `description` string: Output only. Free text description for the deal terms.
    - `displayName` string: Output only. The name of the deal. Maximum length of 255 unicode characters is allowed. Control characters are not allowed. Buyers cannot update this field. Note: Not to be confused with name, which is a unique identifier of the deal.
    - `eligibleSeatIds` string[]: Output only. If set, this field contains the list of DSP specific seat ids set by media planners that are eligible to transact on this deal. The seat ID is in the calling DSP's namespace.
    - `estimatedGrossSpend` Money: Represents an amount of money with its currency type.
      - `currencyCode` string: The three-letter currency code defined in ISO 4217.
      - `nanos` integer: 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` string, int64: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
    - `flightEndTime` string, google-datetime: Proposed flight end time of the deal. This will generally be stored in a granularity of a second. A value is not necessary for Private Auction deals.
    - `flightStartTime` string, google-datetime: 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.
    - `mediaPlanner` MediaPlanner: Represents a media planner account.
      - `accountId` string: Output only. Account ID of the media planner.
      - `ancestorNames` string[]: Output only. The ancestor names of the media planner. Format: `mediaPlanners/{mediaPlannerAccountId}` Can be used to filter the response of the mediaPlanners.list method.
      - `displayName` string: Output only. The display name of the media planner. Can be used to filter the response of the mediaPlanners.list method.
      - `name` string: Identifier. The unique resource name of the media planner. Format: `mediaPlanners/{mediaPlannerAccountId}` Can be used to filter the response of the mediaPlanners.list method.
    - `name` string: Immutable. The unique identifier of the deal. Auto-generated by the server when a deal is created. Format: buyers/{accountId}/proposals/{proposalId}/deals/{dealId}
    - `preferredDealTerms` PreferredDealTerms: Pricing terms for Preferred Deals.
      - `fixedPrice` Price: Represents a price and a pricing type for a deal.
        - `amount` Money: Represents an amount of money with its currency type.
          - `currencyCode` string: The three-letter currency code defined in ISO 4217.
          - `nanos` integer: 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` string, int64: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
        - `type` 'TYPE_UNSPECIFIED' | 'CPM' | 'CPD': The pricing type for the deal.
    - `privateAuctionTerms` PrivateAuctionTerms: Pricing terms for Private Auctions.
      - `floorPrice` Price: Represents a price and a pricing type for a deal.
        - `amount` Money: Represents an amount of money with its currency type.
          - `currencyCode` string: The three-letter currency code defined in ISO 4217.
          - `nanos` integer: 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` string, int64: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
        - `type` 'TYPE_UNSPECIFIED' | 'CPM' | 'CPD': The pricing type for the deal.
      - `openAuctionAllowed` boolean: Output only. True if open auction buyers are allowed to compete with invited buyers in this private auction.
    - `programmaticGuaranteedTerms` ProgrammaticGuaranteedTerms: Pricing terms for Programmatic Guaranteed Deals.
      - `fixedPrice` Price: Represents a price and a pricing type for a deal.
        - `amount` Money: Represents an amount of money with its currency type.
          - `currencyCode` string: The three-letter currency code defined in ISO 4217.
          - `nanos` integer: 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` string, int64: The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
        - `type` 'TYPE_UNSPECIFIED' | 'CPM' | 'CPD': The pricing type for the deal.
      - `guaranteedLooks` string, int64: Count of guaranteed looks. For CPD deals, buyer changes to guaranteed_looks will be ignored.
      - `impressionCap` string, int64: The lifetime impression cap for CPM Sponsorship deals. Deal will stop serving when cap is reached.
      - `minimumDailyLooks` string, int64: Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
      - `percentShareOfVoice` string, int64: For sponsorship deals, this is the percentage of the seller's eligible impressions that the deal will serve until the cap is reached. Valid value is within range 0~100.
      - `reservationType` 'RESERVATION_TYPE_UNSPECIFIED' | 'STANDARD' | 'SPONSORSHIP': 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.
    - `proposalRevision` string, int64: Output only. The revision number for the proposal and is the same value as proposal.proposal_revision. Each update to 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.
    - `publisherProfile` string: Immutable. Reference to the seller on the deal. Format: `buyers/{buyerAccountId}/publisherProfiles/{publisherProfileId}`
    - `sellerTimeZone` TimeZone: Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).
      - `id` string: IANA Time Zone Database time zone. For example "America/New_York".
      - `version` string: Optional. IANA Time Zone Database version number. For example "2019a".
    - `targeting` MarketplaceTargeting: Targeting represents different criteria that can be used to target deals or auction packages. For example, they can choose to target inventory only if the user is in the US. Multiple types of targeting are always applied as a logical AND, unless noted otherwise.
      - `daypartTargeting` DayPartTargeting: Represents Daypart targeting.
        - `dayParts` DayPart[]: The targeted weekdays and times
          - `dayOfWeek` 'DAY_OF_WEEK_UNSPECIFIED' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY': Day of week for the period.
          - `endTime` TimeOfDay: 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`.
            - `hours` integer: 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` integer: Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
            - `nanos` integer: Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
            - `seconds` integer: 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` TimeOfDay: 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`.
            - `hours` integer: 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` integer: Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
            - `nanos` integer: Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
            - `seconds` integer: 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` 'TIME_ZONE_TYPE_UNSPECIFIED' | 'SELLER' | 'USER': The time zone type of the day parts
      - `excludedSensitiveCategoryIds` string[]: Output only. The sensitive content category label IDs excluded. Refer to this file https://storage.googleapis.com/adx-rtb-dictionaries/content-labels.txt for category IDs.
      - `geoTargeting` CriteriaTargeting: Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.
        - `excludedCriteriaIds` string[]: A list of numeric IDs to be excluded.
        - `targetedCriteriaIds` string[]: A list of numeric IDs to be included.
      - `inventorySizeTargeting` InventorySizeTargeting: Represents the size of an ad unit that can be targeted on a bid request.
        - `excludedInventorySizes` AdSize[]: A list of inventory sizes to be excluded.
          - `height` string, int64: The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
          - `type` 'TYPE_UNSPECIFIED' | 'PIXEL' | 'INTERSTITIAL' | 'NATIVE' | 'FLUID': The type of the ad slot size.
          - `width` string, int64: The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
        - `targetedInventorySizes` AdSize[]: A list of inventory sizes to be included.
          - `height` string, int64: The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
          - `type` 'TYPE_UNSPECIFIED' | 'PIXEL' | 'INTERSTITIAL' | 'NATIVE' | 'FLUID': The type of the ad slot size.
          - `width` string, int64: The width of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
      - `inventoryTypeTargeting` InventoryTypeTargeting: Targeting of the inventory types a bid request can originate from.
        - `inventoryTypes` string[]: The list of targeted inventory types for the bid request.
      - `placementTargeting` 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.
        - `mobileApplicationTargeting` MobileApplicationTargeting: Mobile application targeting settings.
          - `firstPartyTargeting` FirstPartyMobileApplicationTargeting: Represents a list of targeted and excluded mobile application IDs that publishers own. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded.
            - `excludedAppIds` string[]: A list of application IDs to be excluded.
            - `targetedAppIds` string[]: A list of application IDs to be included.
        - `uriTargeting` UriTargeting: Represents a list of targeted and excluded URLs (for example, google.com). For Private Auction Deals, URLs are either included or excluded. For Programmatic Guaranteed and Preferred Deals, this doesn't apply.
          - `excludedUris` string[]: A list of URLs to be excluded.
          - `targetedUris` string[]: A list of URLs to be included.
      - `technologyTargeting` TechnologyTargeting: Represents targeting about various types of technology.
        - `deviceCapabilityTargeting` CriteriaTargeting: Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.
          - `excludedCriteriaIds` string[]: A list of numeric IDs to be excluded.
          - `targetedCriteriaIds` string[]: A list of numeric IDs to be included.
        - `deviceCategoryTargeting` CriteriaTargeting: Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.
          - `excludedCriteriaIds` string[]: A list of numeric IDs to be excluded.
          - `targetedCriteriaIds` string[]: A list of numeric IDs to be included.
        - `operatingSystemTargeting` OperatingSystemTargeting: Represents targeting information for operating systems.
          - `operatingSystemCriteria` CriteriaTargeting: Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.
            - `excludedCriteriaIds` string[]: A list of numeric IDs to be excluded.
            - `targetedCriteriaIds` string[]: A list of numeric IDs to be included.
          - `operatingSystemVersionCriteria` CriteriaTargeting: Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.
            - `excludedCriteriaIds` string[]: A list of numeric IDs to be excluded.
            - `targetedCriteriaIds` string[]: A list of numeric IDs to be included.
      - `userListTargeting` CriteriaTargeting: Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.
        - `excludedCriteriaIds` string[]: A list of numeric IDs to be excluded.
        - `targetedCriteriaIds` string[]: A list of numeric IDs to be included.
      - `verticalTargeting` CriteriaTargeting: Generic targeting used for targeting dimensions that contains a list of included and excluded numeric IDs. This cannot be filtered using list filter syntax.
        - `excludedCriteriaIds` string[]: A list of numeric IDs to be excluded.
        - `targetedCriteriaIds` string[]: A list of numeric IDs to be included.
      - `videoTargeting` VideoTargeting: Represents targeting information about video.
        - `excludedPositionTypes` string[]: A list of video positions to be excluded. When this field is populated, the targeted_position_types field must be empty.
        - `targetedPositionTypes` string[]: A list of video positions to be included. When this field is populated, the excluded_position_types field must be empty.
    - `updateTime` string, google-datetime: Output only. The time when the deal was last updated.

## Changes

- **2026-10-29** `4e374f878f32`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/google/apis/authorizedbuyersmarketplace/changes/v1/buyers/:buyersId/proposals/:proposalsId/deals:batchUpdate/post.md)

---

[API](https://skmtc.dev/google/apis/authorizedbuyersmarketplace.md) - [All operations](https://skmtc.dev/google/apis/authorizedbuyersmarketplace/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/authorizedbuyersmarketplace/revisions/4e374f878f32?raw)
