Deals object

NOTE: The EPA API has sunset on September 30, 2026. Endpoints are no longer accessible. For alternatives, see EPA to PDP Migration.

The Deals object represents an inventory offered as part of the proposal with associated restrictions for creatives.

Here's what you need to know about the Deals object:

The following is a JSON example of the Deals object.

{
    "DealId": 4263497813,
    "DisplayName": "Test Deal",
    "ExternalDealId": "4263497813",
    "PublisherIds": [
        "1234"
    ],
    "StartTime": "2022-08-15T04:00:00",
    "EndTime": "2022-09-15T04:00:00",
    "DealType": "Guaranteed",
    "GuaranteedTerms": { // Only for guaranteed deals.
        "RateType": "CPM",
        "Rate": {
            "Amount": 0.5,
            "CurrencyCode": "USD"
        },
        "GuaranteedLooks": 1,
        "GuaranteedImpressions": 0.6
    },
    "DealTargetingInfo": {
        "FrequencyCaps": [
            {
                "FrequencyCap": 1,
                "ResetIntervalInMinutes": 10
            }
        ],
        "GeoTargeting": {
            "Included": [
                "1n7jkq1fce",
                "d1gugk2qn6"
            ],
            "Excluded": [
                "q5xb319t45", 
                "8t9awngqi4", 
                "x3s3q8xqaj" 
            ]
        },
        "Sites": {
            "Included": [
                "finance.yahoo.com"
            ],
            "Excluded": [
                "google.com"
            ]
        },
        "MobileApps": {
            "Included": [
                "384590449"
            ],
            "Excluded": [
                "com.company.appname"
            ]
        },
        "DeviceTypes": {
            "Included": [
                "Tablet",
                "Mobile"
            ],
            "Excluded": [
                "PC",
                "ConnectedTV"
            ]
        },
        "AdEnvironments": {
            "Included": [
                "App",
                "MobileWeb"
            ],
            "Excluded": [
                "Web"
            ]
        },
        "Categories": {
            "Included": [
                "IAB9-25",
                "IAB9-26",
                "IAB9-5"
            ],
            "Excluded": [
                "IAB9-30"
            ]
        }
    },
    "CreateTime": "2022-08-19T18:53:18.05",
    "UpdateTime": "2022-08-20T23:01:41.05"
}

Deal object properties

The following table details the Deal object properties.

Property Required in Request? Data Type Description
DealId Required
(update)
Int64 The unique deal ID that is generated after the deal is created.
DisplayName Required String(256) The name of the deal. Be sure to create a descriptive name that helps distinguish this deal from others or indicate its content.
ExternalDealId Required String(128) The unique external deal ID that is used to identify the deal in bidding.
PublisherIds Required
(nullable)
String(64) array The list of IDs of the publishers that are associated with the deal. Here's what you need to know about this property:
  • Each value must be a seller_id value from the sellers.json file.
  • If this array is empty, the Proposal object SellerId value must be the seller_id value from the sellers.json file.
StartTime Required for guaranteed deals DateTime The starting date and time of the deal.
EndTime Required for guaranteed deals DateTime The end date and time of the guaranteed deal. If you want this deal to last indefinitely, be sure to not include this property in the request.
IMPORTANT: If provided, this date and time must occur in the future after the start date.
DealType Required String(enum) The type of deal. Possible values include the following:
  • Guaranteed
  • Preferred
  • PrivateAuction
AuctionType Optional String(enum) The type of auction for the deal. Possible values include the following:
  • FixedPrice
  • FirstPriceAuction
  • SecondPriceAuction
NOTE: For guaranteed deals, you either omit this property in the request or set it to FixedPrice.
GuaranteedTerms Required for guaranteed deals Object The negotiated terms for a programmatic guaranteed deal.
PreferredDealTerms Required for preferred deals Object The negotiated terms for a preferred deal.
PrivateAuctionTerms Required for private auction deals Object The negotiated terms for a private auction.
CreativeRestrictions Required Object Restrictions for creatives that are supported by the deal.
DealTargetingInfo Optional Object Supply-side targeting information associated with the deal.
CreateTime N/A, response only DateTime The date and time when the deal was created.
UpdateTime N/A, response only DateTime The date and time when the deal was last updated.

GuaranteedTerms object

The GuaranteedTerms object represents the terms that are negotiated for a programmatic guaranteed deal. The following table lists its properties.

Property Required in Request? Data Type Description
RateType Required String(enum) The pricing type of the deal. The only possible value is CPM.
Rate Required Object The pricing rate of the deal.
GuaranteedLooks Required Integer(int64) The number of looks or views that are guaranteed to the buyer. This value must be greater than 0.
GuaranteedImpressions Required Decimal The guaranteed impressions as a percentage of the GuaranteedLooks value. Here's what you need to know about this property:
  • This value must be between 0.01 and 1.
  • The buyer is required to buy the GuaranteedLooks amount multiplied by the GuaranteedImpressions decimal:
    GuaranteedLooks * GuaranteedImpressions.

PreferredDealTerms object

The PreferredDealTerms object represents the terms that are negotiated for a preferred deal. The following table lists its properties.

Property Required in Request? Data Type Description
RateType Required String(enum) The pricing type of the deal. The only possible value is CPM.
Rate Required Object The pricing rate of the deal.

PrivateAuctionTerms object

The PrivateAuctionTerms object represents the terms that are negotiated for a private auction deal. Here's what you need to know about this object:

The following table details the PrivateAuctionTerms object properties.

Property Required in Request? Data Type Description
RateType Optional String The pricing type of the deal. The only possible value is CPM.
Rate Required only if RateType is specified Object The pricing rate of the deal. This amount can be used to specify the minimum bid required for the auction.

Rate object

This object represents the monetary amount with its currency. The following table details the Rate object properties.

Property Required in Request? Data Type Description
Amount Required Float The monetary amount.
This value must be greater than 0.
CurrencyCode Required String The three-letter currency code for the amount as specified in ISO 4217.
IMPORTANT: You cannot change the currency code of an activated proposal.

CreativeRestrictions object

The CreativeRestrictions object specifies the creative format restrictions that are supported by the publisher for this deal. The following table lists its properties.

Property Required in Request? Data Type Description
CreativeFormat Required String(enum) The creative media type. Possible values include the following:
  • Display
  • Video
  • Native
  • NativeVideo
  • Audio
CreativeRestrictionSpecifications Optional
(nullable)
Object array The list of creative specifications to which you want to apply restrictions.

CreativeSpecification object

The CreativeSpecification object specifies the list of creative attributes to which you want to apply restrictions. The following table lists the properties of this object and indicates the creative specification and the creative formats to which restrictions apply.

Property Required in Request? Data Type Description Supported Creative Formats
Width Optional Integer(int32) The width of the region that shows the ad. Display, Video
Height Optional Integer(int32) Height of the region that shows the ad. Display, Video
Skippable Optional Boolean If set to true, the ad can be skipped after a few seconds.
If set to false, the ad cannot be skipped.
The default value for this property is null.
Audio, Video
MinBitrate Optional Integer(int32) The minimum bitrate in Kbps. Audio, Video
MaxBitrate Optional Integer(int32) The maximum bitrate in Kbps. Audio, Video
MinDuration Optional Integer(int32) The minimum duration in seconds. Audio, Video
MaxDuration Optional Integer(int32) The maximum duration in seconds. Audio, Video

DealTargetingInfo object

The DealTargetingInfo object provides information for supply-side targeting that is associated with the deal. The following table lists its properties and the targeting criteria that you can include or exclude from the deal.

Property Required in Request? Data Type Description
FrequencyCaps Optional
(nullable)
Object array The list of frequency caps that limits the number of times the ad can be served to the user within a certain period.
GeoTargeting Optional
(nullable)
Object The list of geo segments that you want to include or exclude from this deal.
To retrieve a list of supported geo segment IDs, use the POST /v3/geosegment/query/supplyvendor endpoint.
Sites Optional
(nullable)
Object The list of targeting website domains that you want to include or exclude from this deal.For example, finance.yahoo.com or google.com.
MobileApps Optional
(nullable)
Object The mobile applications that you want to include or exclude from this deal.
Possible Included and Excluded values are Android package names or iOS App IDs.
DeviceTypes Optional
(nullable)
Object The device types that you want to include or exclude from this deal.
Possible Included and Excluded values include the following:
  • Other
  • PC
  • Tablet
  • Mobile
  • ConnectedTV
  • OutOfHome
AdEnvironments Optional
(nullable)
Object The ad environments that you want to include or exclude from this deal.
Possible Included and Excluded values include the following:
  • App
  • MobileWeb
  • Web
Categories Optional
(nullable)
Object The content categories that you want to include or exclude from this deal.
Valid values are IAB category IDs from the OpenRTB spec.

FrequencyCaps object

The FrequencyCaps object array is a list that is set up on the supply side and limits how often a single user can be served the same inventory. The following table lists its properties.

Property Required in Request? Data Type Description
FrequencyCap Required Integer(int32) The maximum number of impressions that a single user can be served within a certain time period.
ResetIntervalInMinutes Optional Integer(int32) The time period (in minutes) during which a single user can be served up to the maximum number of impressions.
If you do not include this property in the request, the time period for the frequency cap becomes a lifetime.

TargetingCriteria object

The TargetingCriteria object provides a list of what to include and exclude from targeting. The following table lists its properties.

Property Required in Request? Data Type Description
Included Optional String array
(nullable)
The targeting criteria that you want to include in the deal.
Excluded Optional String array
(nullable)
The targeting criteria that you want to exclude from the deal.