---
title: "Query Knowledge Base"
method: POST
path: "/knowledge/{knowledge_base_id}/query"
tags: ["knowledge"]
---

# Query Knowledge Base

`POST /knowledge/{knowledge_base_id}/query`

Query a knowledge base by its id

## Path parameters

- `knowledge_base_id` string, uuid, required — The id of the knowledge base to query

## Request body

- QueryKnowledgeBaseRequest
  - `query` string, required — Query string
  - `prefilter_limit` integer — Number of documents to retrieve from the knowledge base before filtering
  - `top_k` integer — Number of documents to return
  - `filters` Filter[], nullable — Per-field filters to apply to the query combined with AND
    - `field` string, required — The field to filter on
    - `operation` '=' | '!=' | '>' | '<' | 'in', required
    - `value` union, required — The value to filter on
      - string
      - integer
      - number
      - union[]
        - union
          - string
          - integer
          - number
  - `rerank` boolean — Whether to rerank the results
  - `parent_span_id` string, uuid, nullable — Parent span id

## Response `200`

Successful Response

- QueryKnowledgeBaseResponse[]
  - `id` string, uuid, required — The id of the document
  - `key` string, required — The key of the document
  - `content` string, required — The content of the document
  - `metadata` object, required — The metadata of the document
  - `score` number, required — The score of the document

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `402` — Payment Required (out of credits)
- `404` — Not Found
- `422` — Request Validation Error

---

[API](https://skmtc.dev/opper/apis/opper-api-v2.md) · [All operations](https://skmtc.dev/opper/apis/opper-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/opper/opper-api-v2/revisions/d3ccdaa15678/schema)
