# Query APIs

The Query Builder APIs enable programmatic creation, execution, and management of assessment queries, using the Veza the [Query Builder](/4yItIzMvkpAvMVFAamTf/features/search/query-builder.md). You can use these operations to develop your own tools and integrate Veza search with external services and automation.

Queries created with these endpoints can define risks and have rules and alerts associated with them. Even if you and your team create and manage queries primarily from the user interface, this documentation may still be of interest for learning how queries are constructed and handled within Veza.

You can use these methods to:

* [List saved queries](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/listassessmentqueries.md)
* [Save a query](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/createassessmentquery.md)
* [Get a saved query](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/getassessmentquery.md)
* [Update a query](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/updateassessmentquery.md)
* [Update query owners](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/updateassessmentquerypermissions.md)
* [Delete a query](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/deleteassessmentquery.md)
* [Get query destination nodes](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/getassessmentquerydestinationnodes.md)
* [Get query nodes](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/getassessmentquerynodes.md)
* [Get query result](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/getassessmentqueryresult.md)
* [Get query spec destination nodes](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/getassessmentqueryspecdestinationnodes.md)
* [Get query spec nodes](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/getassessmentqueryspecnodes.md)
* [Get query spec results](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/getassessmentqueryspecresult.md)
* [Create async query nodes](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/createassessmentquerynodesasync.md)

For more information about query options, see [Query Builder Parameters](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/parameters.md).

#### Base URL

These endpoints are available under `{{VezaURL}}/api/v1/`. You must use the appropriate prefix when calling the API, for example:

```bash
curl -x GET 'https://your-org.vezacloud.com/api/v1/assessments/queries'
```

#### Authentication

You can create and manage [API tokens](/4yItIzMvkpAvMVFAamTf/developers/api/authentication.md) for your user account from **Administration** > *API Keys*. Each API call must include the API key in the request header, passed as a bearer authentication token.

#### Getting started

The [Usage Examples](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/usage-examples.md) page consolidates some sample requests and responses.

An understanding of Veza's usage of [graph terminology](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/terminology.md) may be helpful. To learn more about the query object and options, see [here](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/parameters.md). For more information about how to interpret the query response body, see [Query Builder Results](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/results.md).

You can start working with pre-built and saved queries using the `/assessments/queries` endpoint. When you are ready to try running your own queries, see the [`/assessments/query_spec`](/4yItIzMvkpAvMVFAamTf/developers/api/query-builder/getassessmentqueryspecresult.md) operations to run test queries without saving them.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.veza.com/4yItIzMvkpAvMVFAamTf/developers/api/query-builder.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
