---
title: "POST /api/v1/{context_id}/documents/keywords/search"
method: POST
path: "/api/v1/{context_id}/documents/keywords/search"
---

# POST /api/v1/{context_id}/documents/keywords/search

`POST /api/v1/{context_id}/documents/keywords/search`

HNSW vector search over keyword embeddings

## Path parameters

- `context_id` string, required

## Request body

- KeywordSearchRequestJson
  - `k` integer — Max hits to return (default 10, max 50).
  - `query` string, required
  - `threshold` number, float

## Response `200`

- KeywordSearchResponseJson
  - `queryMs` integer, required
  - `results` KeywordSearchHitJson[], required
    - `documentCount` integer, required
    - `id` string, required
    - `normalised` string, required
    - `score` number, float, required
    - `text` string, required

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `422` — Invalid context id

---

[API](https://skmtc.net/surrealdb/apis/spectron.md) · [All operations](https://skmtc.net/surrealdb/apis/spectron/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/surrealdb/spectron/versions/52b41ab517b6/schema)
