# Method: customers.userListQueries.validate

- [HTTP request](https://developers.google.com/ads-data-hub/marketers/reference/rest/v1/customers.userListQueries/validate#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/ads-data-hub/marketers/reference/rest/v1/customers.userListQueries/validate#body.PATH_PARAMETERS)
- [Request body](https://developers.google.com/ads-data-hub/marketers/reference/rest/v1/customers.userListQueries/validate#body.request_body)
  - [JSON representation](https://developers.google.com/ads-data-hub/marketers/reference/rest/v1/customers.userListQueries/validate#body.request_body.SCHEMA_REPRESENTATION)
- [Response body](https://developers.google.com/ads-data-hub/marketers/reference/rest/v1/customers.userListQueries/validate#body.response_body)
  - [JSON representation](https://developers.google.com/ads-data-hub/marketers/reference/rest/v1/customers.userListQueries/validate#body.ValidateUserListQueryResponse.SCHEMA_REPRESENTATION)
- [Authorization scopes](https://developers.google.com/ads-data-hub/marketers/reference/rest/v1/customers.userListQueries/validate#body.aspect)

Performs static validation checks on the provided user list query.

### HTTP request

`POST https://adsdatahub.googleapis.com/v1/{parent=customers/*}/userListQueries:validate`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `parent` | `string` The parent resource name that owns the query, e.g. 'customers/123'. |

### Request body

The request body contains data with the following structure:

| JSON representation |
|---|
| ``` { "query": { object (`https://developers.google.com/ads-data-hub/marketers/reference/rest/v1/customers.userListQueries#UserListQuery`) }, "adsDataCustomerId": string, "matchDataCustomerId": string, "spec": { object (`https://developers.google.com/ads-data-hub/marketers/reference/rest/v1/QueryExecutionSpec`) }, "includePerformanceInfo": boolean } ``` |

| Fields ||
|---|---|
| `query` | ``object (`https://developers.google.com/ads-data-hub/marketers/reference/rest/v1/customers.userListQueries#UserListQuery`)`` The query to validate. |
| `adsDataCustomerId (deprecated)` | `string (https://developers.google.com/discovery/v1/type-format format)` Optional. Specific linked Ads Data Hub customer ID to use for validating ads data and temp table access. Defaults to all the linked customers. Deprecated. Use the adsDataCustomerId inside query_execution_spec. |
| `matchDataCustomerId (deprecated)` | `string (https://developers.google.com/discovery/v1/type-format format)` Optional. Specific linked Ads Data Hub customer ID to use for validating match data and temp table access. Defaults to all the linked customers. Deprecated. Use the match_table_customer_id inside query_execution_spec. |
| `spec` | ``object (`https://developers.google.com/ads-data-hub/marketers/reference/rest/v1/QueryExecutionSpec`)`` Optional. The duplicated fields inside query_execution_spec will override the fields outside. |
| `includePerformanceInfo` | `boolean` Optional. If true, call BigQuery to dry run the query to collect some performance info. It may take longer compared to only validating the query. The startDate, endDate and parameters inside query_execution_spec need to be set for the dry run. |

### Response body

Response to a userListQueries.validate request.

If successful, the response body contains data with the following structure:

| JSON representation |
|---|
| ``` { "processedBytes": string, "queryPerformanceInfo": { object (`https://developers.google.com/ads-data-hub/marketers/reference/rest/v1/QueryPerformanceInfo`) } } ``` |

| Fields ||
|---|---|
| `processedBytes (deprecated)` | `string (https://developers.google.com/discovery/v1/type-format format)` > [!WARNING] > This item is deprecated! Deprecated, and use queryPerformanceInfo instead. Bytes of data this query reads. See <https://cloud.google.com/bigquery/pricing#data> for details on how this is calculated. Returned if includePerformanceInfo is true. We round the processedBytes to MB, and then convert it to bytes. -1 means we couldn't fetch it for this query. |
| `queryPerformanceInfo` | ``object (`https://developers.google.com/ads-data-hub/marketers/reference/rest/v1/QueryPerformanceInfo`)`` Returned if includePerformanceInfo is true. |

### Authorization scopes

Requires the following OAuth scope:

- `https://www.googleapis.com/auth/adsdatahub`