---
title: "Search the content of your company's knowledge (wiki pages, cards, projects, files, company context)"
method: GET
path: "/knowledge/search"
tags: ["Search"]
---

# Search the content of your company's knowledge (wiki pages, cards, projects, files, company context)

`GET /knowledge/search`

## Request

- Base URL: `https://api.atako.ai`
- URL: `https://api.atako.ai/knowledge/search`
- Auth: HTTP bearer

Full-text search in the knowledge catalogue: titles weighted above bodies, the last word matched as a prefix, fused with a title trigram match for typos. Access is decided at query time: your company's context and projects (open to the whole company), the files of your drive scope, and the files of your company's agents. A page written by a person (reference) ranks slightly above an agent's work. Archived items only with `includeArchived=true`. 404 (not 403) when you have no company.

## Query parameters

- `q` string, required
- `kind` string
- `projectId` string, uuid
- `includeArchived` 'true' | 'false'
- `limit` integer

## Response `200`

- object
  - `results` object[], required
    - `id` string, uuid, required
    - `kind` 'page' | 'card' | 'project' | 'file' | 'context', required
    - `source` 'wiki_page' | 'card' | 'project' | 'client_file' | 'agent_file' | 'company_context', required
    - `sourceId` string, required
    - `title` string, required
    - `path` string, required: Where it lives, as a reader would say it.
    - `snippet` string, required: A passage around the first matched word.
    - `authority` 'reference' | 'work', required: Last written by a person (reference) or by an agent (work).
    - `authorName` string, nullable, required
    - `projectId` string, uuid, nullable, required
    - `archived` boolean, required
    - `updatedAt` string, date-time, required
    - `score` number, required
    - `clusterId` string, uuid, nullable, required: The leaf cluster the item is filed in (null until the nightly job files it).
    - `clusterPath` string[], required: Cluster ids from the root down to the leaf; empty when not filed.

## Other responses

- `400`: `q` missing, empty or longer than 200 characters; unknown `kind`; `limit` out of 1..50.
- `401`: Missing, malformed, or invalid bearer token / API key, or revoked session (SESSION_REVOKED).
- `404`: Not found, or the caller is not authorized to access this resource.

---

[API](https://skmtc.dev/atako/apis/atako-api.md) · [All operations](https://skmtc.dev/atako/apis/atako-api/llms.txt) · [OpenAPI document](https://skmtc.dev/atako/apis/atako-api/revisions/aa555c56fbd7?raw)
