---
title: "Validators"
description: "Learn about validating and transforming data with @hey-api/openapi-ts."
url: "https://heyapi.dev/docs/openapi/typescript/validators"
---

There are times when you cannot blindly trust the server to return the correct data. You might be working on a critical application where any mistakes would be costly, or you’re simply dealing with a legacy or undocumented system.

Validator plugins generate schemas from your input. You can connect them to your client as [validators](https://heyapi.dev/docs/openapi/typescript/plugins/sdk#validators) or [transformers](https://heyapi.dev/docs/openapi/typescript/plugins/sdk#transformers) via the SDK plugin.

## Features

[Section titled “Features”](#features)

* seamless integration with `@hey-api/openapi-ts` ecosystem
* schemas for requests, responses, and reusable definitions
* static type inference from schemas
* tree-shakeable output

## Plugins

[Section titled “Plugins”](#plugins)

Hey API natively supports the following validators.

* [Valibot](https://heyapi.dev/docs/openapi/typescript/plugins/valibot)
* [Zod](https://heyapi.dev/docs/openapi/typescript/plugins/zod)
* [Ajv](https://heyapi.dev/docs/openapi/typescript/plugins/ajv) Vote
* [Arktype](https://heyapi.dev/docs/openapi/typescript/plugins/arktype) Vote
* [Joi](https://heyapi.dev/docs/openapi/typescript/plugins/joi) Vote
* [TypeBox](https://heyapi.dev/docs/openapi/typescript/plugins/typebox) Vote
* [Yup](https://heyapi.dev/docs/openapi/typescript/plugins/yup) Vote

Don’t see your validator? Let us know by [opening an issue](https://github.com/hey-api/openapi-ts/issues).

## Examples

You can view live examples on [StackBlitz](https://stackblitz.com/orgs/github/hey-api/collections/openapi-ts-examples) or on [GitHub](https://github.com/hey-api/openapi-ts/tree/main/examples).
