> ## Documentation Index
> Fetch the complete documentation index at: https://replyke-feat-push-rich-payload-fields.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Content

> Semantic search over entities, comments, and messages

Performs vector-similarity search over project content (entities, comments, and chat messages) using AI embeddings. Returns the most semantically relevant results for the given query.

**Requires a paid plan with semantic search enabled.**

## Body Parameters

<ParamField body="query" type="string" required>
  The natural language search query.
</ParamField>

<ParamField body="sourceTypes" type="string[]" default="[&#x22;entity&#x22;, &#x22;comment&#x22;, &#x22;message&#x22;]">
  Content types to search. Any combination of `entity`, `comment`, `message`.
</ParamField>

<ParamField body="spaceId" type="string">
  Restrict search to a specific space.
</ParamField>

<ParamField body="conversationId" type="string">
  Restrict message search to a specific conversation.
</ParamField>

<ParamField body="limit" type="number" default="20">
  Maximum number of results to return. Maximum `50`.
</ParamField>

## Query Parameters

### Space-scoped reputation

This endpoint has a space in context, so it accepts the opt-in reputation params. They add a `spaceReputation` field to each result record's populated `user`, alongside the always-present `reputation` total. Requires the `reputation` bundle. See the [Reputation data model](/data-models/reputation) for the full contract.

<ParamField query="spaceReputationId" type="string">
  Adds `spaceReputation` to each returned user. One of: a space **`<uuid>`** (that space's bucket), **`none`** (the project-general bucket), or **`context`** (the space derived from this request's context — per-row on lists). The empty string and the legacy `general` / `null` aliases are rejected (400). Missing buckets read as `0`.
</ParamField>

<ParamField query="spaceReputationDescendants" type="boolean">
  Only honored with an explicit space `<uuid>`. When `true`, `spaceReputation` is the subtree sum — the space plus all of its descendants (the root space's own bucket included). Ignored for `none`; not allowed with `context`.
</ParamField>

## Response

Returns an array of result objects ordered by similarity (highest first):

```json theme={null}
[
  {
    "sourceType": "entity",
    "similarity": 0.87,
    "record": { ...Entity | Comment | ChatMessage... }
  }
]
```

Each result includes:

* `sourceType` — one of `"entity"`, `"comment"`, or `"message"`, indicating which type of record was matched.
* `similarity` — cosine similarity score between the query and the matched content.
* `record` — the fully populated entity, comment, or chat message object.

## Error Responses

<AccordionGroup>
  <Accordion title="Plan Required — 403">
    ```json theme={null}
    { "error": "Semantic search requires a paid plan", "code": "project/plan-required" }
    ```
  </Accordion>
</AccordionGroup>
