Vue OpenAPI Query Documentation
    Preparing search index...

    Type Alias OpenApiInstance<Ops>

    Type representing an instance of the OpenAPI client returned by useOpenApi.

    This interface defines all the methods available on the API client instance, providing type-safe access to queries, mutations, and generic endpoints based on your OpenAPI specification.

    The axios request configuration type (defaults to AxiosRequestConfig)

    import { OpenApiInstance } from '@qualisero/openapi-endpoint'
    import { type OpenApiOperations } from './generated/api-operations'

    // Type your API instance for better IntelliSense
    const api: OpenApiInstance<OpenApiOperations> = useOpenApi(config)

    // All methods are now fully typed
    const query = api.useQuery('getPet', { petId: '123' })
    const mutation = api.useMutation('createPet')
    const endpoint = api.useEndpoint('listPets')
    type OpenApiInstance<Ops extends Operations<Ops>> = {
        _debugIsQueryOperation: <Op extends keyof Ops>(
            operationId: Op,
        ) => IsQueryOperation<Ops, Op>;
        useQuery: <Op extends keyof Ops>(
            operationId: IsQueryOperation<Ops, Op> extends true ? Op : never,
            pathParamsOrOptions?: GetPathParameters<Ops, Op> extends Record<
                string,
                never,
            >
                ? QQueryOptions<Ops, Op>
                :
                    | MaybeRefOrGetter<GetPathParameters<Ops, Op> | null | undefined>
                    | QQueryOptions<Ops, Op>,
            optionsOrNull?: QQueryOptions<Ops, Op>,
        ) => EndpointQueryReturn<Ops, Op>;
        useMutation: <Op extends keyof Ops>(
            operationId: IsQueryOperation<Ops, Op> extends false ? Op : never,
            pathParamsOrOptions?: GetPathParameters<Ops, Op> extends Record<
                string,
                never,
            >
                ? QMutationOptions<Ops, Op>
                :
                    | MaybeRefOrGetter<GetPathParameters<Ops, Op> | null | undefined>
                    | QMutationOptions<Ops, Op>,
            optionsOrNull?: QMutationOptions<Ops, Op>,
        ) => EndpointMutationReturn<Ops, Op>;
        useEndpoint: <Op extends keyof Ops>(
            operationId: Op,
            pathParamsOrOptions?: GetPathParameters<Ops, Op> extends Record<
                string,
                never,
            >
                ? IsQueryOperation<Ops, Op> extends true
                    ? QQueryOptions<Ops, Op>
                    : QMutationOptions<Ops, Op>
                :
                    | MaybeRefOrGetter<GetPathParameters<Ops, Op> | null | undefined>
                    | (
                        IsQueryOperation<Ops, Op> extends true
                            ? QQueryOptions<Ops, Op>
                            : QMutationOptions<Ops, Op>
                    ),
            optionsOrNull?: IsQueryOperation<Ops, Op> extends true
                ? QQueryOptions<Ops, Op>
                : QMutationOptions<Ops, Op>,
        ) => IsQueryOperation<Ops, Op> extends true
            ? EndpointQueryReturn<Ops, Op>
            : EndpointMutationReturn<Ops, Op>;
    }

    Type Parameters

    • Ops extends Operations<Ops>

      The operations type from your OpenAPI specification

    Index

    Properties

    _debugIsQueryOperation: <Op extends keyof Ops>(
        operationId: Op,
    ) => IsQueryOperation<Ops, Op>

    Debug utility to inspect operation metadata at runtime.

    This method helps during development to understand how operations are classified and can be useful for debugging type inference issues.

    Type Declaration

      • <Op extends keyof Ops>(operationId: Op): IsQueryOperation<Ops, Op>
      • Type Parameters

        • Op extends keyof Ops

        Parameters

        • operationId: Op

          The operation ID to inspect

        Returns IsQueryOperation<Ops, Op>

        Boolean indicating whether the operation is a query (GET/HEAD/OPTIONS)

    // Check if an operation is a query or mutation
    const isQuery = api._debugIsQueryOperation('getPet') // true for GET
    const isMutation = api._debugIsQueryOperation('createPet') // false for POST
    useQuery: <Op extends keyof Ops>(
        operationId: IsQueryOperation<Ops, Op> extends true ? Op : never,
        pathParamsOrOptions?: GetPathParameters<Ops, Op> extends Record<
            string,
            never,
        >
            ? QQueryOptions<Ops, Op>
            :
                | MaybeRefOrGetter<GetPathParameters<Ops, Op> | null | undefined>
                | QQueryOptions<Ops, Op>,
        optionsOrNull?: QQueryOptions<Ops, Op>,
    ) => EndpointQueryReturn<Ops, Op>

    Creates a reactive query for GET/HEAD/OPTIONS operations.

    This method creates a TanStack Query with automatic type inference, caching, and reactive updates. Only accepts operation IDs that correspond to query operations.

    Type Declaration

      • <Op extends keyof Ops>(
            operationId: IsQueryOperation<Ops, Op> extends true ? Op : never,
            pathParamsOrOptions?: GetPathParameters<Ops, Op> extends Record<
                string,
                never,
            >
                ? QQueryOptions<Ops, Op>
                :
                    | MaybeRefOrGetter<GetPathParameters<Ops, Op> | null | undefined>
                    | QQueryOptions<Ops, Op>,
            optionsOrNull?: QQueryOptions<Ops, Op>,
        ): EndpointQueryReturn<Ops, Op>
      • Type Parameters

        • Op extends keyof Ops

          The operation key from your operations type

        Parameters

        • operationId: IsQueryOperation<Ops, Op> extends true ? Op : never

          Operation ID (must be a GET/HEAD/OPTIONS operation)

        • OptionalpathParamsOrOptions: GetPathParameters<Ops, Op> extends Record<string, never>
              ? QQueryOptions<Ops, Op>
              :
                  | MaybeRefOrGetter<GetPathParameters<Ops, Op> | null | undefined>
                  | QQueryOptions<Ops, Op>

          Path parameters (for parameterized routes) or query options

        • OptionaloptionsOrNull: QQueryOptions<Ops, Op>

          Additional query options when path parameters are provided separately

        Returns EndpointQueryReturn<Ops, Op>

        Reactive query result with data, loading state, error handling, etc.

    // Simple query without parameters
    const { data: pets, isLoading } = api.useQuery('listPets')

    // Query with path parameters
    const { data: pet } = api.useQuery('getPet', { petId: '123' })

    // Query with options
    const { data: pets } = api.useQuery('listPets', {
    enabled: computed(() => shouldLoad.value),
    onLoad: (data) => console.log('Loaded:', data)
    })
    useMutation: <Op extends keyof Ops>(
        operationId: IsQueryOperation<Ops, Op> extends false ? Op : never,
        pathParamsOrOptions?: GetPathParameters<Ops, Op> extends Record<
            string,
            never,
        >
            ? QMutationOptions<Ops, Op>
            :
                | MaybeRefOrGetter<GetPathParameters<Ops, Op> | null | undefined>
                | QMutationOptions<Ops, Op>,
        optionsOrNull?: QMutationOptions<Ops, Op>,
    ) => EndpointMutationReturn<Ops, Op>

    Creates a reactive mutation for POST/PUT/PATCH/DELETE operations.

    This method creates a TanStack Query mutation with automatic cache invalidation, optimistic updates, and type-safe request/response handling. Only accepts operation IDs that correspond to mutation operations.

    Type Declaration

      • <Op extends keyof Ops>(
            operationId: IsQueryOperation<Ops, Op> extends false ? Op : never,
            pathParamsOrOptions?: GetPathParameters<Ops, Op> extends Record<
                string,
                never,
            >
                ? QMutationOptions<Ops, Op>
                :
                    | MaybeRefOrGetter<GetPathParameters<Ops, Op> | null | undefined>
                    | QMutationOptions<Ops, Op>,
            optionsOrNull?: QMutationOptions<Ops, Op>,
        ): EndpointMutationReturn<Ops, Op>
      • Type Parameters

        • Op extends keyof Ops

          The operation key from your operations type

        Parameters

        • operationId: IsQueryOperation<Ops, Op> extends false ? Op : never

          Operation ID (must be a POST/PUT/PATCH/DELETE operation)

        • OptionalpathParamsOrOptions: GetPathParameters<Ops, Op> extends Record<string, never>
              ? QMutationOptions<Ops, Op>
              :
                  | MaybeRefOrGetter<GetPathParameters<Ops, Op> | null | undefined>
                  | QMutationOptions<Ops, Op>

          Path parameters (for parameterized routes) or mutation options

        • OptionaloptionsOrNull: QMutationOptions<Ops, Op>

          Additional mutation options when path parameters are provided separately

        Returns EndpointMutationReturn<Ops, Op>

        Reactive mutation result with mutate, mutateAsync, status, etc.

    // Simple mutation without path parameters
    const createPet = api.useMutation('createPet', {
    onSuccess: (data) => console.log('Created:', data),
    onError: (error) => console.error('Failed:', error)
    })

    // Mutation with path parameters
    const updatePet = api.useMutation('updatePet', { petId: '123' })

    // Execute mutations
    await createPet.mutateAsync({ data: { name: 'Fluffy', species: 'cat' } })
    await updatePet.mutateAsync({ data: { name: 'Updated Name' } })
    useEndpoint: <Op extends keyof Ops>(
        operationId: Op,
        pathParamsOrOptions?: GetPathParameters<Ops, Op> extends Record<
            string,
            never,
        >
            ? IsQueryOperation<Ops, Op> extends true
                ? QQueryOptions<Ops, Op>
                : QMutationOptions<Ops, Op>
            :
                | MaybeRefOrGetter<GetPathParameters<Ops, Op> | null | undefined>
                | (
                    IsQueryOperation<Ops, Op> extends true
                        ? QQueryOptions<Ops, Op>
                        : QMutationOptions<Ops, Op>
                ),
        optionsOrNull?: IsQueryOperation<Ops, Op> extends true
            ? QQueryOptions<Ops, Op>
            : QMutationOptions<Ops, Op>,
    ) => IsQueryOperation<Ops, Op> extends true
        ? EndpointQueryReturn<Ops, Op>
        : EndpointMutationReturn<Ops, Op>

    Generic endpoint composable that automatically detects operation type.

    This is a universal method that returns either a query or mutation based on the operation's HTTP method. It provides the same functionality as useQuery/useMutation but with automatic type detection, making it useful for generic or dynamic scenarios.

    Type Declaration

      • <Op extends keyof Ops>(
            operationId: Op,
            pathParamsOrOptions?: GetPathParameters<Ops, Op> extends Record<
                string,
                never,
            >
                ? IsQueryOperation<Ops, Op> extends true
                    ? QQueryOptions<Ops, Op>
                    : QMutationOptions<Ops, Op>
                :
                    | MaybeRefOrGetter<GetPathParameters<Ops, Op> | null | undefined>
                    | (
                        IsQueryOperation<Ops, Op> extends true
                            ? QQueryOptions<Ops, Op>
                            : QMutationOptions<Ops, Op>
                    ),
            optionsOrNull?: IsQueryOperation<Ops, Op> extends true
                ? QQueryOptions<Ops, Op>
                : QMutationOptions<Ops, Op>,
        ): IsQueryOperation<Ops, Op> extends true
            ? EndpointQueryReturn<Ops, Op>
            : EndpointMutationReturn<Ops, Op>
      • Type Parameters

        • Op extends keyof Ops

          The operation key from your operations type

        Parameters

        • operationId: Op

          Any valid operation ID from your API specification

        • OptionalpathParamsOrOptions: GetPathParameters<Ops, Op> extends Record<string, never>
              ? IsQueryOperation<Ops, Op> extends true
                  ? QQueryOptions<Ops, Op>
                  : QMutationOptions<Ops, Op>
              :
                  | MaybeRefOrGetter<GetPathParameters<Ops, Op> | null | undefined>
                  | (
                      IsQueryOperation<Ops, Op> extends true
                          ? QQueryOptions<Ops, Op>
                          : QMutationOptions<Ops, Op>
                  )

          Path parameters (for parameterized routes) or operation-specific options

        • OptionaloptionsOrNull: IsQueryOperation<Ops, Op> extends true
              ? QQueryOptions<Ops, Op>
              : QMutationOptions<Ops, Op>

          Additional options when path parameters are provided separately

        Returns IsQueryOperation<Ops, Op> extends true
            ? EndpointQueryReturn<Ops, Op>
            : EndpointMutationReturn<Ops, Op>

        Query result for GET/HEAD/OPTIONS operations, mutation result for others

    // Automatically becomes a query for GET operations
    const listEndpoint = api.useEndpoint('listPets')
    // TypeScript infers this has query properties: .data, .isLoading, .refetch(), etc.

    // Automatically becomes a mutation for POST operations
    const createEndpoint = api.useEndpoint('createPet')
    // TypeScript infers this has mutation properties: .mutate(), .mutateAsync(), etc.

    // Use based on the detected type
    const petData = listEndpoint.data // Query data
    await createEndpoint.mutateAsync({ data: { name: 'Fluffy' } }) // Mutation execution