---
title: "POST /v1/{+parent}/deals:batchUpdate"
method: POST
path: "/v1/{+parent}/deals:batchUpdate"
tags: ["buyers"]
---

# POST /v1/{+parent}/deals:batchUpdate

`POST /v1/{+parent}/deals:batchUpdate`

Batch updates multiple deals in the same proposal.

## Path parameters

- `parent` string, required

## Request body

- BatchUpdateDealsRequest — Request message for batch updating deals.
  - `requests` UpdateDealRequest[] — Required. List of request messages to update deals.
    - `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.
    - `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.
      - `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.
        - `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.
          - `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.
          - `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.
              - …
        - `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.
        - `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.
        - `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.
        - `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.
        - `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.
            - `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`.
              - …
            - `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`.
              - …
          - `timeZoneType` 'TIME_ZONE_TYPE_UNSPECIFIED' | 'SELLER' | 'USER' — The time zone type of the day parts
        - `inventorySizeTargeting` InventorySizeTargeting — Represents the size of an ad unit that can be targeted on a bid request.
          - `targetedInventorySizes` AdSize[] — A list of inventory sizes to be included.
            - `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`.
            - `height` string, int64 — The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
          - `excludedInventorySizes` AdSize[] — A list of inventory sizes to be excluded.
            - `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`.
            - `height` string, int64 — The height of the ad slot in pixels. This field will be present only when size type is `PIXEL`.
        - `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.
        - `videoTargeting` VideoTargeting — Represents targeting information about video.
          - `targetedPositionTypes` string[] — A list of video positions to be included. When this field is populated, the excluded_position_types field must be empty.
          - `excludedPositionTypes` string[] — A list of video positions to be excluded. When this field is populated, the targeted_position_types field must be empty.
        - `technologyTargeting` TechnologyTargeting — Represents targeting about various types of technology.
          - `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.
          - `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.
          - `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.
              - …
      - `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.
      - `dealType` 'DEAL_TYPE_UNSPECIFIED' | 'PREFERRED_DEAL' | 'PRIVATE_AUCTION' | 'PROGRAMMATIC_GUARANTEED' — Output only. Type of deal.
      - `client` string — Output only. Refers to a Client. Format: `buyers/{buyerAccountId}/clients/{clientAccountid}`
      - `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.
      - `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.
        - `frequencyCap` FrequencyCap[] — Output only. Specifies any frequency caps. Cannot be filtered within ListDealsRequest.
          - `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.
          - `maxImpressions` integer — The maximum number of impressions that can be served to a user within the specified time period.
        - `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.
        - `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.
        - `deliveryRateType` 'DELIVERY_RATE_TYPE_UNSPECIFIED' | 'EVENLY' | 'FRONT_LOADED' | 'AS_FAST_AS_POSSIBLE' — Output only. Specifies how the impression delivery will be paced.
      - `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.
      - `mediaPlanner` MediaPlanner — Represents a media planner account.
        - `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.
        - `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.
        - `accountId` string — Output only. Account ID of the media planner.
      - `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}`
      - `preferredDealTerms` PreferredDealTerms — Pricing terms for Preferred Deals.
        - `fixedPrice` Price — Represents a price and a pricing type for a deal.
          - `type` 'TYPE_UNSPECIFIED' | 'CPM' | 'CPD' — The pricing type for the 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.
      - `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".
      - `buyer` string — Output only. Refers to a buyer in Real-time Bidding API's Buyer resource. Format: `buyers/{buyerAccountId}`
      - `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}
      - `creativeRequirements` CreativeRequirements — Message captures data about the creatives in the deal.
        - `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.
        - `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.
        - `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.
        - `creativeFormat` 'CREATIVE_FORMAT_UNSPECIFIED' | 'DISPLAY' | 'VIDEO' | 'AUDIO' — Output only. The format of the creative, only applicable for programmatic guaranteed and preferred deals.
      - `updateTime` string, google-datetime — Output only. The time when the deal was last updated.
      - `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.
      - `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.
      - `description` string — Output only. Free text description for the deal terms.
      - `createTime` string, google-datetime — Output only. The time of the deal creation.
      - `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.
      - `programmaticGuaranteedTerms` ProgrammaticGuaranteedTerms — Pricing terms for Programmatic Guaranteed Deals.
        - `guaranteedLooks` string, int64 — Count of guaranteed looks. For CPD deals, buyer changes to guaranteed_looks will be ignored.
        - `fixedPrice` Price — Represents a price and a pricing type for a deal.
          - `type` 'TYPE_UNSPECIFIED' | 'CPM' | 'CPD' — The pricing type for the 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.
        - `minimumDailyLooks` string, int64 — Daily minimum looks for CPD deal types. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.
        - `impressionCap` string, int64 — The lifetime impression cap for CPM Sponsorship deals. Deal will stop serving when cap is reached.
        - `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.
      - `privateAuctionTerms` PrivateAuctionTerms — Pricing terms for Private Auctions.
        - `floorPrice` Price — Represents a price and a pricing type for a deal.
          - `type` 'TYPE_UNSPECIFIED' | 'CPM' | 'CPD' — The pricing type for the 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.
        - `openAuctionAllowed` boolean — Output only. True if open auction buyers are allowed to compete with invited buyers in this private auction.
      - `buyerPermissionType` 'BUYER_PERMISSION_TYPE_UNSPECIFIED' | 'NEGOTIATOR_ONLY' | 'BIDDER' — Output only. The buyer permission type of the deal.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/authorizedbuyersmarketplace.md) · [All operations](https://skmtc.net/google/apis/authorizedbuyersmarketplace/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/authorizedbuyersmarketplace/versions/13e307206f76/schema)
