---
title: Class: KlevuResponseQueryObject
slug: klevucore-reference/class-klevuresponsequeryobject
docTags: 
createdAt: 2023-11-09T09:45:59.073Z
---

 / [Exports](docId:7vdpEs-8-0Tv_43dyA7ly) / KlevuResponseQueryObject

Result object for each query. A storage for results. Can be used to fetch more data, send events etc.

## Table of contents

### Constructors

- [constructor](docId\:PhrCdX6tN6MMUtKZfUWjb)

### Properties

- [categoryMerchandisingClickEvent](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [func](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [getRedirects](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [hooks](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [query](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [recommendationBannerClickEvent](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [recommendationClickEvent](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [responseObject](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [searchClickEvent](docId\:PhrCdX6tN6MMUtKZfUWjb)

### Accessors

- [filters](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [functionParams](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [id](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [meta](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [records](docId\:PhrCdX6tN6MMUtKZfUWjb)

### Methods

- [#initEventFunctions](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [#initRedirects](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [annotationsById](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [getBanners](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [getPage](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [getQueryParameters](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [getTotalPages](docId\:PhrCdX6tN6MMUtKZfUWjb)
- [hasNextPage](docId\:PhrCdX6tN6MMUtKZfUWjb)

## Constructors

### constructor

• **new KlevuResponseQueryObject**(`responseObject`, `query`, `func`)

### Parameters

| Name             | Type                                                           |
| ---------------- | -------------------------------------------------------------- |
| `responseObject` | [`KlevuResponseObject`](docId:_OzqIexf73M6LaMIC6_Oo)           |
| `query`          | [`KlevuQueryResult`](docId:7vdpEs-8-0Tv_43dyA7ly)              |
| `func`           | [`KlevuFetchFunctionReturnValue`](docId:7vdpEs-8-0Tv_43dyA7ly) |

### Defined in

[connection/responseQueryObject.ts:65](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L65)

## Properties

### categoryMerchandisingClickEvent

• `Optional` **categoryMerchandisingClickEvent**: (`params`: \{ `categoryTitle`: `string` ; `override?`: `Partial`\<`KlevuV1CategoryProductsView`> ; `productId`: `string` ; `variantId?`: `string`  }) => `void`

### Type declaration

▸ (`params`): `void`

When query is categoryMerchandising this is available. It is used to send categoryMerchandising click events

### Parameters

| Name                   | Type                                      |
| ---------------------- | ----------------------------------------- |
| `params`               | `Object`                                  |
| `params.categoryTitle` | `string`                                  |
| `params.override?`     | `Partial`\<`KlevuV1CategoryProductsView`> |
| `params.productId`     | `string`                                  |
| `params.variantId?`    | `string`                                  |

### Returns

`void`

### Defined in

[connection/responseQueryObject.ts:48](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L48)

***

### func

• **func**: [`KlevuFetchFunctionReturnValue`](docId:7vdpEs-8-0Tv_43dyA7ly)

Function used to create this query

### Defined in

[connection/responseQueryObject.ts:33](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L33)

***

### getRedirects

• `Optional` **getRedirects**: () => `Promise`\<[`KlevuKeywordUrlMap`](docId\:LDP3zBw_oYVJHpfR0D2hy)\[]>

### Type declaration

▸ (): `Promise`\<[`KlevuKeywordUrlMap`](docId\:LDP3zBw_oYVJHpfR0D2hy)\[]>

Fetches redirects for this query. This is available only for search queries

### Returns

`Promise`\<[`KlevuKeywordUrlMap`](docId\:LDP3zBw_oYVJHpfR0D2hy)\[]>

### Defined in

[connection/responseQueryObject.ts:63](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L63)

***

### hooks

• **hooks**: [`KlevuResultEventOnResult`](docId:7vdpEs-8-0Tv_43dyA7ly)\[] = `[]`

Hooks that can be used to listen for events

### Defined in

[connection/responseQueryObject.ts:38](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L38)

***

### query

• **query**: [`KlevuQueryResult`](docId:7vdpEs-8-0Tv_43dyA7ly)

This query

### Defined in

[connection/responseQueryObject.ts:28](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L28)

***

### recommendationBannerClickEvent

• `Optional` **recommendationBannerClickEvent**: (`params`: \{ `resolution`: `"desktop"` | `"mobile"`  }) => `void`

### Type declaration

▸ (`params`): `void`

When there is a banner in the recommendation this is available. It is used to send recommendation banner click events

### Parameters

| Name                | Type                      |
| ------------------- | ------------------------- |
| `params`            | `Object`                  |
| `params.resolution` | `"desktop"` \| `"mobile"` |

### Returns

`void`

### Defined in

[connection/responseQueryObject.ts:58](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L58)

***

### recommendationClickEvent

• `Optional` **recommendationClickEvent**: (`params`: \{ `override?`: `Partial`\<`KlevuRecommendationsEventV2Data`> ; `productId`: `string` ; `variantId?`: `string`  }) => `void`

### Type declaration

▸ (`params`): `void`

When query is recommendation this is available. It is used to send recommendation click events

### Parameters

| Name                | Type                                          |
| ------------------- | --------------------------------------------- |
| `params`            | `Object`                                      |
| `params.override?`  | `Partial`\<`KlevuRecommendationsEventV2Data`> |
| `params.productId`  | `string`                                      |
| `params.variantId?` | `string`                                      |

### Returns

`void`

### Defined in

[connection/responseQueryObject.ts:53](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L53)

***

### responseObject

• **responseObject**: [`KlevuResponseObject`](docId:_OzqIexf73M6LaMIC6_Oo)

Original request response that includes all queries

### Defined in

[connection/responseQueryObject.ts:23](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L23)

***

### searchClickEvent

• `Optional` **searchClickEvent**: (`params`: \{ `autoSendViewEvent?`: `boolean` ; `override?`: `Partial`\<`V1SearchEvent`> ; `productId`: `string` ; `variantId?`: `string`  }) => `void`

### Type declaration

▸ (`params`): `void`

When query is search this is available. It is used to send search click events

### Parameters

| Name                        | Type                        |
| --------------------------- | --------------------------- |
| `params`                    | `Object`                    |
| `params.autoSendViewEvent?` | `boolean`                   |
| `params.override?`          | `Partial`\<`V1SearchEvent`> |
| `params.productId`          | `string`                    |
| `params.variantId?`         | `string`                    |

### Returns

`void`

### Defined in

[connection/responseQueryObject.ts:43](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L43)

## Accessors

### filters

• `get` **filters**(): `undefined` | ([`KlevuFilterResultOptions`](docId:7vdpEs-8-0Tv_43dyA7ly) | [`KlevuFilterResultSlider`](docId:7vdpEs-8-0Tv_43dyA7ly) | [`KlevuFilterResultRating`](docId:7vdpEs-8-0Tv_43dyA7ly))\[]

All filters related to this query

### Returns

`undefined` | ([`KlevuFilterResultOptions`](docId:7vdpEs-8-0Tv_43dyA7ly) | [`KlevuFilterResultSlider`](docId:7vdpEs-8-0Tv_43dyA7ly) | [`KlevuFilterResultRating`](docId:7vdpEs-8-0Tv_43dyA7ly))\[]

### Defined in

[connection/responseQueryObject.ts:80](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L80)

***

### functionParams

• `get` **functionParams**(): `undefined` | [`KlevuFetchFunctionParams`](docId:7vdpEs-8-0Tv_43dyA7ly)

Special parameters that are saved to query

### Returns

`undefined` | [`KlevuFetchFunctionParams`](docId:7vdpEs-8-0Tv_43dyA7ly)

### Defined in

[connection/responseQueryObject.ts:108](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L108)

***

### id

• `get` **id**(): `string`

Id if the query

### Returns

`string`

### Defined in

[connection/responseQueryObject.ts:87](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L87)

***

### meta

• `get` **meta**(): `Object`

Meta data of the query

### Returns

`Object`

| Name                       | Type                                               | Description                                                                                                                                                                                                 |
| -------------------------- | -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `apiKey`                   | `string`                                           | Klevu API key                                                                                                                                                                                               |
| `debuggingInformation`     | `unknown`                                          | Information that can be useful for debugging the query. For example, the actual query that was fired by the Klevu Search engine, inclusive of any synonyms or de-compounded words taken into consideration. |
| `isPersonalised`           | `boolean`                                          | -                                                                                                                                                                                                           |
| `klevuImageData?`          | \{ `processed`: \{ `urls`: `string`\[]  }\[]  }    | The urls processed in case of image search                                                                                                                                                                  |
| `klevuImageData.processed` | \{ `urls`: `string`\[]  }\[]                       | -                                                                                                                                                                                                           |
| `noOfResults`              | `number`                                           | The number of results requested to be returned for this query.                                                                                                                                              |
| `notificationCode`         | `number`                                           | This may be populated with a code if any actions were taken on the record. Possible values are: 1: Nothing to report. 2: The price of the record is using the base currency.                                |
| `offset`                   | `number`                                           | The index of the first result returned in this response.                                                                                                                                                    |
| `qTime`                    | `number`                                           | The time taken by the Klevu Search engine to fetch the response.                                                                                                                                            |
| `searchedTerm`             | `string`                                           | The search term submitted for this query.                                                                                                                                                                   |
| `totalResultsFound`        | `number`                                           | The total number of results found for this query.                                                                                                                                                           |
| `typeOfSearch`             | [`KlevuTypeOfSearch`](docId:3FsfdwGnKdoXmw8Q6AiU3) | The query type that was executed by Klevu to retrieve the results.                                                                                                                                          |

### Defined in

[connection/responseQueryObject.ts:94](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L94)

***

### records

• `get` **records**(): \{ `id`: `string`  } & [`KlevuRecord`](docId:7vdpEs-8-0Tv_43dyA7ly)\[]

Records of the query

### Returns

\{ `id`: `string`  } & [`KlevuRecord`](docId:7vdpEs-8-0Tv_43dyA7ly)\[]

### Defined in

[connection/responseQueryObject.ts:101](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L101)

## Methods

### #initEventFunctions

▸ `Private` **#initEventFunctions**(): `void`

### Returns

`void`

### Defined in

[connection/responseQueryObject.ts:206](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L206)

***

### #initRedirects

▸ `Private` **#initRedirects**(): `void`

### Returns

`void`

### Defined in

[connection/responseQueryObject.ts:194](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L194)

***

### annotationsById

▸ **annotationsById**(`productId`, `languageCode`): `Promise`\<`undefined` | [`KlevuAnnotations`](docId:7vdpEs-8-0Tv_43dyA7ly)>

### Parameters

| Name           | Type     |
| -------------- | -------- |
| `productId`    | `string` |
| `languageCode` | `string` |

### Returns

`Promise`\<`undefined` | [`KlevuAnnotations`](docId:7vdpEs-8-0Tv_43dyA7ly)>

### Defined in

[connection/responseQueryObject.ts:400](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L400)

***

### getBanners

▸ **getBanners**(`params?`): `Promise`\<[`KlevuBanner`](docId\:X1iaoTAGACK9B1KTwA3Io)\[]>

### Parameters

| Name                 | Type                               | Description                                                    |
| -------------------- | ---------------------------------- | -------------------------------------------------------------- |
| `params`             | `Object`                           | in case of search query you need to specify location of search |
| `params.searchType?` | `"landingpage"` \| `"quicksearch"` | -                                                              |

### Returns

`Promise`\<[`KlevuBanner`](docId\:X1iaoTAGACK9B1KTwA3Io)\[]>

List of banners that were received for this query

### Defined in

[connection/responseQueryObject.ts:408](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L408)

***

### getPage

▸ **getPage**(`params?`): `Promise`\<`undefined` | [`KlevuResponseObject`](docId:_OzqIexf73M6LaMIC6_Oo)>

Fetches page of results. If pageIndex is not defined it will fetch next page.

### Parameters

| Name                    | Type                                            | Description                                                                                              |
| ----------------------- | ----------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `params?`               | `Object`                                        |                                                                                                          |
| `params.filterManager?` | [`FilterManager`](docId\:ztQPUeYzosySERBcqiw4h) | Filter manager to apply for next function                                                                |
| `params.limit?`         | `number`                                        | Limit number of results for next query. By default this is automatically calculated from previous result |
| `params.pageIndex?`     | `number`                                        | Use page index to load certain page instead of next available. 0 is first page                           |

### Returns

`Promise`\<`undefined` | [`KlevuResponseObject`](docId:_OzqIexf73M6LaMIC6_Oo)>

### Defined in

[connection/responseQueryObject.ts:118](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L118)

***

### getQueryParameters

▸ **getQueryParameters**(): `undefined` | [`KlevuFetchFunctionParams`](docId:7vdpEs-8-0Tv_43dyA7ly)

### Returns

`undefined` | [`KlevuFetchFunctionParams`](docId:7vdpEs-8-0Tv_43dyA7ly)

List of params used in the query and the metadata that was generated during
the query. This is useful for example to fetching KMC metadata that was received
for recommendations query.

### Defined in

[connection/responseQueryObject.ts:421](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L421)

***

### getTotalPages

▸ **getTotalPages**(): `number`

### Returns

`number`

total number of pages

### Defined in

[connection/responseQueryObject.ts:190](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L190)

***

### hasNextPage

▸ **hasNextPage**(): `boolean`

### Returns

`boolean`

true if there are more pages to fetch

### Defined in

[connection/responseQueryObject.ts:179](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/responseQueryObject.ts#L179)
