---
title: "Validate a query and return pipeline graph"
method: POST
path: "/v1/pipelines/validate_query"
tags: ["pipelines"]
---

# Validate a query and return pipeline graph

`POST /v1/pipelines/validate_query`

## Request

- Base URL: `/api/` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/api/v1/pipelines/validate_query`
- Auth: none declared

## Request body

- ValidateQueryPost
  - `query` string, required
  - `udfs` Udf[], nullable
    - `definition` string, required
    - `language` 'python' | 'rust'

## Response `200`

Validated query

- QueryValidationResult
  - `errors` string[], required
  - `graph` PipelineGraph
    - `edges` PipelineEdge[], required
      - `dest_id` integer, required
      - `edge_type` string, required
      - `key_type` string, required
      - `src_id` integer, required
      - `value_type` string, required
    - `nodes` PipelineNode[], required
      - `description` string, required
      - `node_id` integer, required
      - `operator` string, required
      - `parallelism` integer, required

---

[API](https://skmtc.dev/arroyosystems/apis/arroyo-rest-api.md) - [All operations](https://skmtc.dev/arroyosystems/apis/arroyo-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/arroyosystems/apis/arroyo-rest-api/revisions/226b33c4af0f?raw)
