# Deals {% admonition type="danger" name="This API is deprecated and will be removed in July 2026" %} The new API docs can be found here: https://apidocs.mediamath.com/apis/reporting-api {% /admonition %} See or query the Meta Endpoint for required fields and parameters. Background: The Deals endpoint contains metrics describing the path from a matched bid opportunity (biddable) to a delivered impression (win) for private marketplace deals. Metrics from this endpoint will allow traders to observe the health of one or more deals. This will allow traders to make a more informed decision about what deals would be an ideal supply source for a particular strategy before committing test budget to it. Additionally, these metrics will help traders troubleshoot strategies targeting PMPs by providing deal win/loss metrics in isolation rather than having them tied to a creative or strategy. This helps traders understand how a deal is affecting their ability to scale more quickly and accurately. Update Times: This endpoint refreshes at the top of every hour, adding 1 hour of data within every refresh, on a one hour delay. For example, data from 1:00 – 1:59 AM will become available at roughly 3:00 AM. Authorization: The deals endpoint uses the Private Marketplace Exchange (PMP-E) api for authorization - https://mediamath-pmp.api-docs.io/v1/private-marketplace-exchange-pmp-e/deals. Through the /deals endpoint, users can only receive reporting on deals in which their user is permissioned to the owner entity of the deal. A user permissioned to the owner entity of a deal indicates that the user has both read and write access of the deal. To check what deals your user has read and write access to within a particular organization, please make the following get request to the Private Marketplace Exchange API: https://api.mediamath.com/media/v1.0/deals?owner.organization_id=[organization_id] Required Access Fields API calls must filter by the combination of organization id and deal id. Calls can include only one organization id and one to many deal id's as long as all of the deals belong to the organization. For example: filter=organization_id%3D[organization_id]%26deal_id%3D[deal_id]%2C[deal_id] Endpoint: GET /deals ## Header parameters: - `Cookie` (string, required) _ - `Accept-Encoding:` (string) If the client supports the compression methods also supported by the server (currently and ), the response data set (\/) will be returned in a compressed format. The metadata and error responses will not be compressed. In order to receive the data in compressed format, the client must use the HTTP request header , and enumerate the preferred compression methods (see RFC 2616). If the header is not present in the request, or if it contains only compression methods not supported by the system, the data will be returned in an uncompressed format. ### request Accept-Encoding: gzip,deflate ### response Content-Encoding: gzip Content-Type: text/csv; charset=UTF-8 Enum: "gzip,deflate" - `If-Modified-Since` (string) If the data has not changed, the server responds with a 304 Not Modified status code and an empty response body. If the same request was issued and the data had been updated since the specified time, the server responds with the data requested and a new Last-Modified header. ## Query parameters: - `dimensions` (string, required) Selects the dimension fields to use in grouping rows. This should be a comma-separated list of dimension field names. The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output. - `metrics` (string) Controls the selection of metric fields. This should be a comma-separated list of metric field names. If not specified, this will default to the metric fields specified by the property of the . The position of the fields in the output is not guaranteed to match the parameter value. Always use the header line from the response body to identify the position of each column in the output. - `filter` (string, required) Controls filtering against dimension fields. The filtering is performed before row grouping. See the Predicate Parameters section of for more information about interpretation and accepted formats. - `having` (string) Controls filtering against metric and dimension fields. The filtering is performed after row grouping and metric calculation. See the Predicate Parameters section of for more information about interpretation and accepted formats. - `time_rollup` (string, required) The allowed values are specified by the time_rollups report meta property. See the Time Field section of for more information. - `time_window` (string, required) Controls filtering against the time field for the report. See the Time Field section of for more information. - `start_date` (string, required) Controls filtering against the time field for the report. See the Time Field section of for more information. - `end_date` (string) Controls filtering against the time field for the report. See the Time Field section of for more information. - `order` (string) Controls the sorting of the groups. This should be a comma-separated list of field names. Each field name may optionally be prefixed with a minus sign to indicate descending order. Otherwise, ascending order is assumed. The first field has the most significance in sorting. - `page_limit` (integer) Controls the maximum number of rows of data. This parameter is required, if page_offset is one or greater. - `page_offset` (integer) Controls how many pages to skip. - `precision` (integer) Controls how many digits to the right of the decimal places to display for float types.