POST /proposal/query
NOTE: The EPA API has sunset on September 30, 2026. Endpoints are no longer accessible. For alternatives, see EPA to PDP Migration.
Retrieves a list of existing proposals and their revisions. Use this endpoint to poll for updates of multiple proposals.
TIP: To avoid slowdowns and ensure that your results are returned quickly, be sure to use pagination and filters.
Request example
To retrieve a list of possible sort fields, use the GET proposal/query/facets endpoint.
{
"BuyerIdFilter": [
"5168"
],
"PageSize": 1,
"PageStartIndex": 0
}
Request object properties
The following table lists the POST /proposal/query request object properties.
| Property | Required? | Value Type | Description |
|---|---|---|---|
SortFields |
Required | Object Array | The fields by which to sort the returned data. Here's what you need to know about this property:
|
PageSize |
Required | Integer | The size of the page requested. If there are fewer items on the current page than the PageSize, only those items will be returned.
|
PageStartIndex |
Required | Integer | The zero-based index into the set at which to start the requested page. If you want the first page, this should be 0. If, for example, you want a page starting at the 13th element, this should be 12. If PageStartIndex is equal to or greater than the number of items matching your filters, no items will be returned.
|
DealTypeFilter |
Required | String | The DealTypes by which to filter the result. Possible values include the following:
|
CreatedAfterFilter |
Optional | String (date-time) |
The creation date to use for filtering the search results. Only proposals that were created on or after the specified date are returned. |
BuyerIdFilter |
Optional | String Array (date-time) |
A list of buyer IDs by which to filter the search results. |
SellerIdFilter |
Optional | String Array (date-time) |
A list of seller IDs by which to filter the search results. |
ProposalStateFilter |
Optional | String Array (date-time) |
A list of proposals that contain only the specified proposal state. Duplicate values are not allowed. To retrieve a list of possible sort field IDs, use the GET proposal/query/facets endpoint. |
UpdatedAfterFilter |
Optional | String (date-time) |
A list of proposals that were updated after the specified date. |
SellerNameFilter |
Optional | String Array | A list of proposals that contain only the specified seller name. This is a case-insensitive field. |
DisplayNameFilter |
Optional | String | A list of proposals that contain only the specified display name. This is a case-insensitive field. |
ExternalDealIdFilter |
String array | Optional | The list of external deal IDs by which to filter results. Here's what you need to know:
|
Sort Field properties
The following table lists the SortFields object properties.
| Property | Required? | Value Type | Description |
|---|---|---|---|
FieldId |
String | required | The ID of the field by which to sort. |
Ascending |
boolean | nullable | Whether to sort this field in ascending order (true) or descending order (false). If not specified, this defaults to true. |
Response example
A successful response to a POST /proposal/query request returns Proposal objects that match the request with a result and filtered count.
{
"Result": [
{
"ProposalId": 1234,
"DisplayName": "Test Proposal",
"RevisionNumber": 3,
"LastActivatedRevisionNumber": 2,
"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"
}
}
],
"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"
}
],
"ResultCount": 1,
"TotalFilteredCount": 1
}
Response object properties
The following table lists the POST /proposal/query response object properties.
| Property | Value Type | Description |
|---|---|---|
Result |
Object Array | The proposal objects that match the request. |
ResultCount |
Integer | The number of objects returned in the result. |
TotalFilteredCount |
Integer | The total number of objects available that match the request filters. If not present, then this property is not supported by this interface. |
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. |