---
title: "Query"
method: POST
path: "/query"
---

# Query

`POST /query`

Accepts search query objects array each with query and optional filter. Break down complex questions into sub-questions. Refine results by criteria, e.g. time / source, don't do this often. Split queries if ResponseTooLargeError occurs.

## Request body

- QueryRequest
  - `queries` Query[], required
    - `query` string, required
    - `filter` DocumentMetadataFilter
      - `document_id` string
      - `source` 'email' | 'file' | 'chat' — An enumeration.
      - `source_id` string
      - `author` string
      - `start_date` string
      - `end_date` string
    - `top_k` integer

## Response `200`

Successful Response

- QueryResponse
  - `results` QueryResult[], required
    - `query` string, required
    - `results` DocumentChunkWithScore[], required
      - `id` string
      - `text` string, required
      - `metadata` DocumentChunkMetadata, required
        - `source` 'email' | 'file' | 'chat' — An enumeration.
        - `source_id` string
        - `url` string
        - `created_at` string
        - `author` string
        - `document_id` string
      - `embedding` number[]
      - `score` number, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/openai/apis/retrieval-plugin-api.md) · [All operations](https://skmtc.dev/openai/apis/retrieval-plugin-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openai/retrieval-plugin-api/revisions/9319eeebe3e5/schema)
