EPA to PDP migration
With the release of the Price Discovery and Provisioning (PDP) API, deal participants can migrate from our legacy Easy Proposal Activation (EPA) API to the PDP API to manage the deal life cycle. The PDP API includes additional features that improve the transparency, performance, and efficiency of deals.
This document outlines the key changes to deal proposals, EPA REST API requests mapped to GraphQL mutations, and FAQs. To learn more about PDP, see Price Discovery and Provisioning overview.
NOTE: Depending on your version of the PDP API, standard deals are also known as endeavor deals, and use the
endeavordeal type.
What's new
These changes range from deals to account identity. To access the PDP API endpoints, you need the account ID assigned during account onboarding.
The following table lists out the features in the PDP API and links to documentation to assist with migration.
| Area | Description | Documentation |
|---|---|---|
| Get Started | The migration from EPA to PDP changes the initial requirements for authentication, proposals, and identity. | Getting started changes |
| Types | Deals have different required deal types to distinguish between standard, commitment, and programmatic guaranteed (PG) deals, instead of preferred, private auction, and programmatic guaranteed (PG). | Deal types |
| Statuses | The proposal state expands to consider bidding activity and negotiation separately as deal statuses. | Deal status |
| Inventory terms | Deals have expanded support for category, supply, media, device, and many more terms. NOTE: Categories support both IAB Content Taxonomy version 1.0 and version 2.2. |
Deal inventory terms |
| Endpoints | The EPA REST endpoints map to equivalent operations in GraphQL that use either the PDP API or Platform API. | Endpoint migration |
Getting started changes
The following table describes the workflow changes for getting started with the PDP API, compared to the EPA API.
| Area | Description | Documentation |
|---|---|---|
| Authentication | PDP API authentication uses an API token specific to PDP. | Authentication |
| Proposals | Deals represent all EPA proposals. Proposals that contain multiple deals are a single deal. NOTE: Previously inactive proposals have the PAUSED status. |
Proposal |
| Identity | To provide a better system for identity management, known agent IDs (KAIDs) replace buyer seats. | Identity |
Authentication
The PDP API consists of endpoints used to manage deals and define relationships between buyers and inventory suppliers. Authentication uses an API token specific to PDP and the Deals endpoint and Provisioning endpoint.
For details, see Endpoint migration.
Proposal
Instead of EPA proposals, the PDP API focuses on improved proposal terms and activity tracking. These proposals, in the form of deals, require a known agent to identify each party and have many deal terms that can cover unique terms criteria not present in EPA. Only the selling party can create deals.
Identity
IMPORTANT: Use the known KAID to create a deal between deal participants.
Known agents are a concept introduced in the PDP API that replaces buyer seats. Known agents contain account identifiers that map the different types of deal participants. The selling party can use known agents to get the KAID and account name of their publishers and other buying parties. To view the known agent, you must have permission from the owner. For details, see Known Agent object.
Deal types
In the EPA API, deals types included preferred, private auction, or PG deals, but this applied additional restrictions during the deal life cycle. For instance, a PG deal could only send bids to fixed price auctions. With the PDP API, deals are now classified as standard, PG, or commitment, which offers flexibility toward assigning parameters and auction types. The type of deal chosen determines the different types of financial terms that apply.
The following table compares features for each deal type from EPA and PDP, in alphabetical order.
| Deal Type | API | Auction Type | Flight? | Buyer Limit | Inventory |
|---|---|---|---|---|---|
| Commitment | PDP | Fixed price, first price, or second price | Required | Multiple buyers | Reserved, commitment |
| Endeavor | PDP | Fixed price, first price, or second price | Required | Multiple buyers | Unreserved, no commitment |
| Preferred | EPA | Fixed price or variable floor | Optional | Multiple buyers | Unreserved, no commitment |
| Private Auction | EPA | Fixed price or variable floor | Optional | Multiple buyers | Unreserved, no commitment |
| Programmatic Guaranteed | EPA and PDP | Fixed price | Required | Single buyer | Reserved, commitment |
TIP: You can recreate EPA deals with the PDP API to access more capabilities. For details, see FAQs.
Deal status
In the EPA API, the proposal state values represent a combination of both buy side and sell side states. In the PDP, the proposal states have split up as deal negotiation status and deal spending status.
The following table lists all the statuses from the EPA API and how they've changed into negotiation statuses in the PDP API.
| Enum Value | Exists in PDP | Description |
|---|---|---|
PROPOSED |
Yes | A deal proposal has been created by an inventory supplier and is waiting for a response from the buyer. |
ACCEPTED |
Yes | The proposal was accepted by both the seller and buyer. |
REJECTED |
Yes | The current revision of the deal has been rejected by the buyer. Previously accepted deal revisions can still be used. |
ACTIVATED |
No | The Trade Desk has activated the proposal after both parties accepted its terms. The seller can now receive bid requests that adhere to the deal terms of the proposal. |
NOTE: Each EPA deal status related to proposal activation uses separate spending statuses in the PDP API.
The following table lists the deal spending status values in the PDP API. In the PDP API, this appears in the dealStatus field.
| Enum Value | Description |
|---|---|
CANCELED |
The deal is canceled by either party before flight completion. |
COMPLETED |
The accepted deal has reached the end of the flight date. |
EXPIRED |
The deal was never accepted and the flight ended. |
LIVE |
The deal has been accepted, is being targeted, and is live in flight. |
LIVE_NOT_SPENDING |
The deal has been accepted by the buying party, but hasn't been targeted in any campaigns. |
NOT_STARTED |
The deal has been accepted by the buying party, but flight dates haven't been reached. |
PAUSED |
The deal has been paused by the selling party. |
PENDING_ACCEPTANCE |
The deal has been proposed by a selling party and is waiting for a response from the buying party. |
Deal inventory terms
IMPORTANT: New deals must include the corresponding IAB taxonomy version in the
categoryTaxonomyfield.
With the introduction of updated category options in version 2.2 of the IAB Tech Lab Content Taxonomy, PDP deals support both IAB version 1.0 and IAB Version 2.2 category IDs. For details on how version 1.0 maps to version 2.2, see IAB content taxonomy mapping: Version 1.0 to 2.2. Additionally, deals can specify optional information for the criteria in the following table:
The following table lists the inventory terms in PDP.
| Criteria | Description |
|---|---|
| Inventory channel | You can choose from multiple inventory channels, including audio, video, display, DOOH, native audio, and native video. |
| Audience | You can specify delivery characteristics such as device information, location, and ad environment. |
| Supply | You can specify what premium inventory to sell or restrict. Filters include domain, network, applications, and more. |
| Sensitive content | You can allow or block content categories, ratings, and inventory quality. |
Signals
You can request to promise that deal participants send certain bidstream signals to improve metadata tracking and deal quality metrics. In order to calculate that the win rate is within the agreed minimum win rate threshold, The Trade Desk requires deal participants to send certain signals, such as SOURCE_TID.
NOTE: For a list of required signals in a commitment deal, see Bidding terms enumeration values.
Endpoint migration
As part of the migration, EPA endpoints transition to use either the Platform API or PDP API, based on whether the endpoints are on the buy side or sell side. The PDP API assists the selling party in deal proposal, negotiation, and management, while the Platform API enables the buying party to send requests to view and decide on deals.
Refer to the following sections for your API:
- PDP API endpoints
- Platform API endpoints
PDP API endpoints
IMPORTANT: To call the PDP API endpoints, you must complete the steps in PDP API authentication and select the Deals root URL or Provisioning root URL listed in Seller Sandbox.
The following table shows endpoints in the EPA API and their equivalents in the PDP API.
| EPA Endpoint | EPA Description | PDP Equivalent | Documentation |
|---|---|---|---|
POST /proposal |
Creates a new proposal. | dealCreate |
Initiate and negotiate deals. |
PUT /proposal |
Updates an existing proposal and creates a new revision. | dealRevise |
Revise a deal |
POST /proposal/notes |
Submits a new note to an existing proposal. | dealNoteCreate |
Deal notes |
DELETE /proposal/{ProposalId} |
Deletes the specified proposal. | dealRemove |
Remove a deal |
POST /proposal/query |
Retrieves a list of existing proposals and their revisions. Includes updates of multiple proposals. | deals |
Retrieve your deals |
GET /proposal/{ProposalId} |
Retrieves the latest revision of the specified proposal with all related data such as deals and notes. | deals |
|
GET /proposal/history/{ProposalId}/{RevisionNumber} |
Retrieves a revision of an existing proposal for the specified proposal ID and revision number. | auditLog |
Retrieve deal revision history |
GET /proposal/query/facets |
Retrieves a list of facets that you can use to look up proposals with the POST /proposal/query endpoint. |
N/A | Deal search parameters |
GET /proposal/seats |
Retrieves a list of default seats for buyers in The Trade Desk platform. | knownAgents |
Known agents |
Platform API endpoints
The following table shows endpoints in the EPA API and their equivalents in the Platform API. Replace the {dealType} placeholder with your deal type value of Commitment or Endeavor.
NOTE: PG deals are grouped under commitment deals and standard deals are grouped under endeavor deals.
| EPA Endpoint | EPA Description | Platform Equivalent |
|---|---|---|
POST /proposal/accept |
Accepts the current proposal revision. | inventory{dealType}Accept |
POST /proposal/reject |
Rejects the current proposal revision and returns a new revision in a rejected state. | inventory{dealType}Reject |
POST /proposal/notes |
Submits a new note to an existing proposal. | inventory{dealType}NoteCreate |
DELETE /proposal/{ProposalId} |
Deletes the specified proposal. | inventory{dealType}BulkArchive |
FAQs
The following is a list of commonly asked questions about the PDP API.
How do I recreate preferred and private auction deals in the PDP API?
To transfer preferred and private auction deals, follow these steps:
- Create a standard deal with an empty spend tier.
- Add deal flight information, with a start date to end date maximum duration of two years.
- Select a category taxonomy to use, even if you do not have any content terms.
- Provide agreed-upon bidstream signals. Standard deals do not have required signals imposed by The Trade Desk.
What is the Deal Quality Score (DQS)?
DQS is a metric used to improve deal transparency and accountability. The score takes into consideration various factors such as how well both parties keep to their agreements, and calculations such as the win rate, bidding signals, and targeting relevance. DQS is a strong metric to determine whether you should negotiate new terms to revise the existing deal.
Here's what you need to know about DQS:
- Deals with a high DQS represent both parties being fully accountable and transparent.
- Deals with a low DQS can signify an underperforming deal that doesn't deliver what it promises in the terms.
- When you have a deal with a low DQS, you can terminate the deal without consequence after a period of continued low performance.