Skip to main content
TanStack Query plugins generate fully typed query options, mutation options, query keys, and optional hooks for your OpenAPI operations. Support is available for React, Vue, Svelte, Solid, and Angular.

Available Plugins

React Query

@tanstack/react-query

Vue Query

@tanstack/vue-query

Svelte Query

@tanstack/svelte-query

Solid Query

@tanstack/solid-query

Angular Query

@tanstack/angular-query-experimental

Installation

1

Install Dependencies

Install your framework’s TanStack Query package:
2

Configure Plugin

Add the plugin to your openapi-ts.config.ts:
3

Generate Client

Run the generator:

Generated Code

The plugin generates the following artifacts for each operation:

Query Options (GET operations)

For GET operations, query options are generated with the naming pattern {{name}}Options (default):
packages/openapi-ts/src/plugins/@tanstack/query-core/v5/queryOptions.ts

Mutation Options (POST/PUT/DELETE operations)

For mutations, mutation options are generated with the naming pattern {{name}}Mutation (default):
packages/openapi-ts/src/plugins/@tanstack/query-core/v5/mutationOptions.ts

Query Keys

Query key functions are generated with the naming pattern {{name}}QueryKey (default):

Infinite Query Options

For paginated operations (detected via pagination parameters), infinite query options are generated:
packages/openapi-ts/src/plugins/@tanstack/query-core/v5/infiniteQueryOptions.ts

Configuration

All TanStack Query plugins support the same configuration options:

Query Options

Configure query options generation:

Mutation Options

Configure mutation options generation:

Query Keys

Configure query key generation:

Infinite Query Options

Configure infinite query options:

useQuery Hooks (React only)

Optionally generate useQuery hooks that wrap query options:
This generates hooks like:
packages/openapi-ts/src/plugins/@tanstack/query-core/v5/useQuery.ts

Usage Examples

Basic Query

Mutations

Infinite Queries

examples/openapi-ts-tanstack-react-query/src/App.tsx

With Custom Client

Pass a custom client instance to generated options:

Query Key Structure

Generated query keys follow this structure:
Example:

Advanced Patterns

Global Configuration

Apply configuration across all operations:

Selective Feature Generation

TanStack Query Docs

Official TanStack Query documentation

SDK Plugin

Learn about the SDK plugin used by TanStack Query

Client Plugins

Configure HTTP clients (Fetch, Axios, etc.)

State Management Overview

Overview of all state management options