PUT /proposal
NOTE: The EPA API has sunset on September 30, 2026. Endpoints are no longer accessible. For alternatives, see EPA to PDP Migration.
Updates an existing proposal and creates a new revision.
Here's what you need to know about updating proposals:
- If a party updates the deal terms of a proposal, the proposal returns in the Proposed state.
- After a proposal is updated, the
ProposalStateis set toProposed.
Request example
To update a proposal, use the PUT /proposal endpoint and include the required proposal and deal information.
IMPORTANT: Be sure to include the latest revision number or the update will fail.
{
"ProposalId": 1234,
"DisplayName": "Test Proposal",
"RevisionNumber": 4,
"Buyer": {
"BuyerId": "5168"
},
"Seller": {
"SellerId": "Test",
"SellerName": "Test Seller"
},
"Deals": [
{
"DealId": 5367297813,
"DisplayName": "Test Deal",
"ExternalDealId": "4263497813",
"PublisherIds": [
"1234"
],
"DealType": "Preferred",
"PreferredDealTerms": {
"RateType": "CPM",
"Rate": {
"Amount": 0.05,
"CurrencyCode": "USD"
}
},
"CreativeRestrictions": {
"CreativeFormat": "Display"
}
}
]
}
For details on the individual properties, see Proposal object and Deals object.
Response example
A successful response to a PUT /proposal request returns a Proposal object with an updated revision number.
{
"ProposalId": 1234,
"DisplayName": "Test Proposal",
"RevisionNumber": 5,
"Buyer": {
"BuyerId": "5168"
},
"Seller": {
"SellerId": "Test",
"SellerName": "Test Seller"
},
"Deals": [
{
"DealId": 5367297813,
"DisplayName": "Test Deal",
"ExternalDealId": "4263497813",
"PublisherIds": [
"1234"
],
"DealType": "Preferred",
"PreferredDealTerms": {
"RateType": "CPM",
"Rate": {
"Amount": 0.05,
"CurrencyCode": "USD"
}
},
"CreativeRestrictions": {
"CreativeFormat": "Display"
},
"CreateTime": "2021-08-19T18:53:18.05",
"UpdateTime": "2021-08-19T18:53:18.05"
}
],
"Notes": [],
"Originator": "Seller",
"LastUpdatedBy": "Seller",
"ProposalState": "Proposed",
"SellerAccepted": "false",
"BuyerAccepted": "false",
"CreatedTime": "2021-08-19T18:53:18.05",
"UpdatedTime": "2021-08-20T23:01:41.05"
}
For details on the individual properties, see Proposal object and Deals object.
Error codes and messages
The following table provides a list of common errors and their respective HTTP error codes.
| HTTP Code | Status | Description |
|---|---|---|
| 400 | Bad Request | The request had missing or invalid parameters. |
| 403 | Forbidden | The proposal is in the Rejected state and has not been activated. |
| 404 | Not Found | The proposal or revision does not exist. |
| 409 | Conflict | A newer revision already exists. |
| 410 | Gone | The proposal has been deleted by the buyer or seller. |