Seller Deals V2 — Migration Guide

Greta
Greta
  • Updated

API Name (Version)

Deprecation Date

Sunset Date

Seller Deals (V1)

November 1, 2026

May 1, 2027

With Seller Deals v2, you can create and manage preferred, private auction, and programmatic guaranteed deals. Seller Deals v2 introduces an updated demandPartners property that ensures compatibility with Google DV360. For more information about Google DV360 deal requirements, see Create Deals.

If you have been using any Seller Deals (v1) endpoints, follow this guide to migrate v1 to v2 before the sunset date (May 1, 2027). For all the information about Seller Deals v2 endpoints, see Guide to Setting Up Deals With Deals V2 API.

Understand Affected Endpoints

Endpoints to Deprecate

New Endpoints

Use Case

GET /v1/seller/deals/{dealid}

GET /v1/seller/deals/{id}

GET /v2/seller/deals/{dealid}

Retrieve a deal by deal ID.

PUT /v1/seller/deals/{dealid}

PUT /v2/seller/deals/{dealid}

Update a deal by deal ID.

GET /v1/seller/deals

GET /v2/seller/deals

Retrieve a list of existing deals.

POST /v1/seller/deals

POST /v2/seller/deals

Create a new deal.

PUT /v1/seller/deals/{dealid}/placements/{placementid}/creativesettings

PUT /v2/seller/deals/{dealid}/placements/{placementid}/creativesettings

Update a deal placement's creative settings by deal ID and placement ID.

PUT /v1/seller/deals/{dealid}/status

PUT /v2/seller/deals/{dealid}/status

Update a deal status by deal ID.

New Features Introduced With Seller Deals V2

  • Buyer targeting now uses a new demandPartners property.

Breaking Changes

See the request samples and field parameters that change when migrating from v1 to v2.

Create a Deal

Seller Deals endpoint POST /v1/seller/deals is replaced by Seller Deals v2 endpoint POST /v2/seller/deals. Use the new endpoint to create a deal. The overall creation flow remains the same, only the buyers section of the request body is impacted. See the changes in the request body and the changed parameters described in Demand Partner Targeting section.

Update a Deal

Seller Deals endpoint PUT /v1/seller/deals/{dealid} is replaced by Seller Deals v2 endpoint PUT /v2/seller/deals/{dealid}. Use the new endpoint to update all deal details.

To update only parts of the deal:

  • To change the deal's creative settings, use the Seller Deals v2 endpoint PUT /v2/seller/deals/{dealid}/placements/{placementid}/creativesettings that replaces the Seller Deals endpoint PUT /v1/seller/deals/{dealid}/placements/{placementid}/creativesettings.

  • To change a deal's status, use the Seller Deals v2 endpoint PUT /v2/seller/deals/{dealid}/status that replaces the Seller Deals endpoint PUT /v1/seller/deals/{dealid}/status.

The overall update flow remains the same, only the buyers section of the request body is impacted when updating all deal details. There are no changes introduced in the request body for partial update endpoints.

See the changes in the request body and the changed parameters described in Demand Partner Targeting section.

Retrieve a Deal

Seller Deals endpoint GET /v1/seller/deals/{dealid} is replaced by Seller Deals v2 endpoint GET /v2/seller/deals/{dealid}. Additionally, the same Seller Deals v2 endpoint also replaces the Seller Deals endpoint GET /v1/seller/deals/{id}, which could previously be used to retrieve a deal by its' integer deal ID. Use the new endpoint to retrieve the details of a specific deal.

To retrieve a list of existing deals, use the Seller Deals v2 endpoint GET /v2/seller/deals that replaces the Seller Deals endpoint GET /v1/seller/deals.

There are no other changes introduced for deal retrieval endpoints.

Demand Partner Targeting

In v1, deal buyer targeting used demand partner and agency fields inside the buyers section of the request body. In v2, this is replaced by the new demandPartners property.

V1 Model

  • buyers.allDemandPartners

  • buyers.demandPartnerIds

  • buyers.allAgencies

  • buyers.agencyIds

V2 Model

  • buyers.allDemandPartners

  • buyers.demandPartners[].demandPartnerId

  • buyers.demandPartners[].allBuyers

  • buyers.demandPartners[].buyerIds

The exact model of demandPartners must match the active v2 API contract used by your OAuth client and OpenAPI definition. Keep all existing targeting rules and buyer rules, but move demand partner selection into the new property.

Important

Validate the exact field names, nesting, and casing in the live v2 model before deployment. This guide preserves the existing routes and flows, but production integrations must follow the published contract exactly.

Request Body Examples and Parameters

Seller Deals (v1) Example
{
  "dealId": "SPORTS-PREFERRED-01",
  "name": "Sports Preferred Deal",
  "priority": {
    "dealPriorityType": "firstLook",
    "level": 5
  },
  "price": {
    "type": "fixed",
    "value": 10.0
  },
  "buyers": {
    "allDemandPartners": false,
    "demandPartnerIds": [1],
    "allAgencies": false,
    "agencyIds": [12345]
  },
  "advertiserAccessRulesBypassed": false,
  "status": "pending"
}
Seller Deals v2 Example
{
  "dealId": "SPORTS-PREFERRED-01",
  "name": "Sports Preferred Deal",
  "priority": {
    "dealPriorityType": "firstLook",
    "level": 5
  },
  "price": {
    "type": "fixed",
    "value": 10.0
  },
  "buyers": {
    "allDemandPartners": false,
    "demandPartners": [
      {
        "demandPartnerId": 1,
        "allBuyers": false,
        "buyerIds": [
          12345
        ]
      }
    ]
  },
  "advertiserAccessRulesBypassed": false,
  "status": "pending"
}
Seller Deals v2 Parameters

Name

Required or Optional

Description

Example Value

Type

allDemandPartners

Required

Same as in Seller Deals (v1), allDemandPartners defines whether all demand partners can buy inventory through the deal.

The usage remains unchanged:

  • Set to true to include all demand partners.

  • Set to false to include only the demand partner IDs specified in demandPartnerId.

false

Boolean

demandPartnerId

Optional

demandPartnerId parameter replaces demandPartnerIds parameter and defines which demand partner can buy the inventory sold through the deal.

This parameter is now placed under demandPartners property.

Previously, multiple demand partner IDs could be added as an array under demandPartnerIds.

Now, each demand partner must be defined as a separate object in the demandPartners array, with its own demandPartnerId and associated buyer settings.

1

Integer

allBuyers

Required

allBuyers parameter replaces allAgencies parameter and defines whether all buyers belonging to Adform DSP can buy the inventory sold through the deal.

This parameter is now placed under demandPartners property.

The usage remains unchanged:

  • Set to true to include all buyers.

  • Set to false to include only the buyer IDs specified in buyerIds.

false

Boolean

buyerIds

Optional

buyerIds parameter replaces agencyIds parameter and defines which buyers belonging to Adform DSP or a single buyer belonging to Google DV360 can buy the inventory sold through the deal.

This parameter is now placed under demandPartners property.

Previously, only buyers belonging to Adform DSP could be specified.

Now, both buyers belonging to Adform DSP and Google DV360 can be provided:

  • When working with Adform DSP, set allBuyers to false and list agency IDs in buyerIds.

  • When working with Google DV360, set allBuyers to false and provide a single Google Partner ID in buyerIds.

"buyerIds": [
          12345
        ]

Array

Was this article helpful?

/
How we can make it better?

Thank you for your feedback!