# ValidateQueryResponse

The dry run's verdict. Nothing was scanned and nothing was mutated.

A query that will not parse is a legitimate answer here, not an error: this
endpoint returns `200` with `valid: false`.

Type: object

Fields typed as another model are documented on that model's page; fetch it before filling the field.

| Field | Type | Required | Description | Allowed values / default / constraints |
| --- | --- | --- | --- | --- |
| `valid` | boolean | yes | False when BigQuery rejected the SQL |  |
| `statement_type` | string, nullable | no | `SELECT`, `INSERT`, `DELETE`, … as BigQuery classifies it. Note a valid `DELETE` reports `valid: true` — this endpoint reports what the statement *is*, it does not refuse writes. |  |
| `total_bytes_processed` | integer, nullable | no | Bytes the query would scan. Use it to size the cost of an uncapped source query before creating the automation. |  |
| `schema` | object with values of string, nullable | no | Columns the query would return, with their types |  |
| `error` | string, nullable | no | BigQuery's explanation when `valid` is false |  |

## Used by

- [POST /rest/beta/bigquery/projects/{project}/validate-query](https://api.sheetgo.com/rest/reference/bigquery.md#post-rest-beta-bigquery-projects-project-validate-query)

---

More: start page https://api.sheetgo.com/rest/reference.md, everything in one file https://api.sheetgo.com/rest/llms-full.txt, OpenAPI https://api.sheetgo.com/rest/openapi.json.
