## Validate SQL `client.Pipelines.ValidateSql(ctx, params) (*PipelineValidateSqlResponse, error)` **post** `/accounts/{account_id}/pipelines/v1/validate_sql` Validate Arroyo SQL. ### Parameters - `params PipelineValidateSqlParams` - `AccountID param.Field[string]` Path param: Specifies the public ID of the account. - `Sql param.Field[string]` Body param: Specifies SQL to validate. ### Returns - `type PipelineValidateSqlResponse struct{…}` - `Tables map[string, PipelineValidateSqlResponseTable]` Indicates tables involved in the processing. - `ID string` - `Name string` - `Type string` - `Version float64` - `Graph PipelineValidateSqlResponseGraph` - `Edges []PipelineValidateSqlResponseGraphEdge` - `DestID int64` - `EdgeType string` - `KeyType string` - `SrcID int64` - `ValueType string` - `Nodes []PipelineValidateSqlResponseGraphNode` - `Description string` - `NodeID int64` - `Operator string` - `Parallelism int64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/pipelines" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Pipelines.ValidateSql(context.TODO(), pipelines.PipelineValidateSqlParams{ AccountID: cloudflare.F("0123105f4ecef8ad9ca31a8372d0c353"), Sql: cloudflare.F("insert into sink select * from source;"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Tables) } ``` #### Response ```json { "result": { "tables": { "foo": { "id": "id", "name": "name", "type": "type", "version": 0 } }, "graph": { "edges": [ { "dest_id": 0, "edge_type": "edge_type", "key_type": "key_type", "src_id": 0, "value_type": "value_type" } ], "nodes": [ { "description": "description", "node_id": 0, "operator": "operator", "parallelism": 0 } ] } }, "success": true } ```