# Validate Report Data Request {% 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 %} ### Validating Data Retrieval Requests Data retrieval requests can be validated and authenticated without actually requesting data, by simply appending a path segment to the URI. The validation process takes into account the current user's permissions. The error responses that are returned in case of validation failure are the same as the ones that would have been returned by the regular API call. The following shows an example validation request for a request with an erroneous filtering parameter: By contrast, this call shows a validation response for a valid call: Endpoint: GET /{report}/validate ## Path parameters: - `report` (string, required) This must be a report discoverable from https://apidocs.mediamath.com/apis/reporting-api-v1/metadata/get_report-meta. ## 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.