---
title: "Perform reverse search on a percolate table"
method: POST
path: "/pq/{table}/search"
tags: ["Search"]
---

# Perform reverse search on a percolate table

`POST /pq/{table}/search`

Performs a percolate search.
This method must be used only on percolate tables.
Expects two parameters: the table name and an object with array of documents to be tested.
An example of the documents object: ```
  {
    "query" {
      "percolate": {
        "document": {
          "content":"sample content"
        }
      }
    }
  }
```
Responds with an object with matched stored queries:  ```
  {
    'timed_out':false,
    'hits': {
      'total':2,
      'max_score':1,
      'hits': [
        {
          'table':'idx_pq_1',
          '_type':'doc',
          '_id':'2',
          '_score':'1',
          '_source': {
            'query': {
              'match':{'title':'some'}
            }
          }
        },
        {
          'table':'idx_pq_1',
          '_type':'doc',
          '_id':'5',
          '_score':'1',
          '_source': {
            'query': {
              'ql':'some | none'
            }
          }
        }
      ]
    }
  }
```

## Path parameters

- `table` string, required

## Request body

- PercolateRequest — Object containing the query for percolating documents against stored queries in a percolate table
  - `query` PercolateRequestQuery, required
    - `percolate` object, required — Object representing the document to percolate

## Response `200`

items found

- SearchResponse — Response object containing search results. For conversational search requests that include a `chat` object, the optional chat fields below are also populated. For conversational search response fields see [Conversational search](https://manual.manticoresearch.com/Searching/Conversational_search#Response)
  - `took` integer — Time taken to execute the search
  - `timed_out` boolean — Indicates whether the search operation timed out
  - `aggregations` unknown
  - `hits` SearchResponseHits — Object containing the search hits, which represent the documents that matched the query.
    - `max_score` integer — Maximum score among the matched documents
    - `total` integer — Total number of matched documents
    - `total_relation` string — Indicates whether the total number of hits is accurate or an estimate
    - `hits` HitsHits[] — Array of hit objects, each representing a matched document
      - `_id` integer
      - `_score` integer — The score of the matched document
      - `_source` object — The source data of the matched document
      - `_knn_dist` number — The knn distance of the matched document returned for knn queries
      - `highlight` object — The highlighting-related data of the matched document
      - `table` string — The table name of the matched document returned for percolate queries
      - `_type:` string — The type of the matched document returned for percolate queries
      - `fields` object — The percolate-related fields of the matched document returned for percolate queries
  - `profile` object — Profile information about the search execution, if profiling is enabled
  - `scroll` string — Scroll token to be used fo pagination
  - `warning` object — Warnings encountered during the search operation
  - `conversation_uuid` string — Existing or generated conversation id (conversational search)
  - `user_query` string — Original user query (conversational search)
  - `search_query` string — Standalone search query used for KNN retrieval (conversational search)
  - `response` string — LLM answer as generated (conversational search)
  - `sources` string — JSON string containing retrieved source rows used as LLM context (conversational search).

## Other responses

- `default` — error

## Changes

- **2026-08-04** `eb39c8083035` — 1 breaking, 1 info
  - the `hits/hits/items/_id` response's property type/format changed from `integer`/`uint64` to ``/`` for status `200`
  - added `#/components/schemas/documentId` to the `hits/hits/items/_id` response property `allOf` list for the response status `200`
- **2026-07-15** `2fd450aa5f07` — 1 breaking, 5 info
  - the `aggregations` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - added the optional property `conversation_uuid` to the response with the `200` status
  - added the optional property `response` to the response with the `200` status
  - added the optional property `search_query` to the response with the `200` status
  - …2 more
- **2025-07-31** `50c351a99940` — 1 breaking
  - the `hits/hits/items/_id` response's property type/format changed from `integer`/`uuint64` to `integer`/`uint64` for status `200`
- **2025-06-30** `1911b776f18a` — 1 breaking
  - the `hits/hits/items/_id` response's property type/format changed from `integer`/`int64` to `integer`/`uuint64` for status `200`
- …earlier changes not shown

[Full history](https://skmtc.dev/manticoresoftware/apis/manticore-search-client/changes/pq/:table/search/post.md)

---

[API](https://skmtc.dev/manticoresoftware/apis/manticore-search-client.md) · [All operations](https://skmtc.dev/manticoresoftware/apis/manticore-search-client/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/manticoresoftware/manticore-search-client/revisions/eb39c8083035/schema)
