---
title: "Internal Search Grounded"
method: POST
path: "/internal/knowledge/search_grounded"
tags: ["RAG internal"]
---

# Internal Search Grounded

`POST /internal/knowledge/search_grounded`

## Request

- Base URL: `https://api.emile.wine` (the document declares no server; this is the origin it was published from)
- URL: `https://api.emile.wine/internal/knowledge/search_grounded`
- Auth: none declared

RAG + Exa web search merged into a single result list.

Used by the n8n content pipeline when curated RAG alone is too sparse
(most pillars except 'vins'/'appellations' have no FR content). Both
legs fire in parallel; Exa is best-effort (returns [] on key missing or
upstream error) so RAG outages don't take the whole call down.

## Headers

- `x-internal-secret` string

## Request body

- SearchQuery: Input for /knowledge/search.
  - `query` string, required
  - `language` 'fr' | 'en'
  - `pillars` string[], nullable
  - `top_k` integer

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

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