# Marketplaces

Private Marketplace Exchange (PMP-E) is used to create private auctions within the RTB environment. In contrast to Open Auctions where every strategy is eligible to place a bid, in private marketplaces, only strategies with a specific `deal_id` attribute are allowed to bid.

These private marketplace deals are used by publishers and advertisers to create preferential-access inventory.

To set deal targeting on strategies, see [here](/apis/campaigns-api/openapi/strategies/update-strategy).

# Changes with V2.0

Marketplaces V2.0 have added a variety of new endpoints to the pre-exisiting Marketplace V1.0 ones.  This includes channels, bulk creations and updates, list deal and deal group strategies, and publisher capabilities. The `?owner.organization_id=[entity ID]` is now a required parameter.

## Complex Requests Not Supported

The media deals API does not support the `?full` query parameter, as the collection requests always return the full entity properties. The media deals API does not support the `?with` query parameter used to include related entities in single-entity or collection responses. Please refer to entity specific API documentation. The media deals API does not support the /limit/ URL component used to filter deals based on an ID of a related entity. Please refer to the Complex Requests Supported section below.

## Complex Requests Supported

The media deals API supports other advanced requests that MediaMath Platform API supports, such as `?page_limit`, `?page_offset`, `?sort_by` and `?q` parameters. The `?sort_by` parameter can be used for the following properties of deals:

* `id`
* `name`
* `deal_identifier`
* `supply_source_id`
* `start_datetime`
* `end_datetime`
* `price`


The `?q` parameter can be used for the following properties of deals:

* `name`
* `deal_identifier`
* `supply_source_id`
* `status`


For more information on using these supported parameters, please refer to the Execution and Management_API section of the MediaMath Platform documentation.

The media deals API supports the use of `?strategy_id=[strategy ID]` to return a collection of deals that are currently **targeted** by that strategy.

Additionally, the media deals API supports `?status` and `?currency_code` parameters. The `?status` parameter can be used to limit a collection of deals returned to the specified status (`true` or `false`). The `?currency_code` parameter can be used to convert the price attribute to be expressed in a specified currency, regarldess of the actual currency codes the deals are saved in.

## POST

While MediaMath Platform API supports URL-encoded parameters in the POST body, the media deals API only supports the JSON format in the POST body. **Use `Content-Type: application/json` header for the POST request.**

## Conditional GET

Use `(If-None-Match: [Etag])` for conditional GET requests on single deal records. `304 Not Modified` will be returned if the Etag matches.