# Объяснить результаты поиска

**API:** Data API

**Endpoint:** `POST /v1/beta/scholar/search/explain`

**Tags:** Scholar Search

Объясняет ранее полученные результаты поиска. Передайте search_id, возвращённый поиском Scholar, с необязательными detail_level и language. response_mode=NON_STREAMING возвращает JSON с message; COMPLETE и INCREMENTAL возвращают text/event-stream, где каждое событие содержит накопленное объяснение. Эта операция объясняет существующий поиск и не запускает новый.

### Справочные цены

- Тарификация: фиксированная базовая стоимость успешного запроса.
- Справочная оценка запроса: USD 0.01.
- Справочный множитель для клиента: 1.0. Не применяйте его повторно к уже рассчитанной сумме клиента.

Справочные метаданные, а не коммерческое предложение для аккаунта, гарантированная цена или лимит расходов. Кредиты ресурсов — не кредиты Felo. Итоговые списания определяются записями биллинга Felo.

## Base URL

- `https://openapi.felo.ai`

## Authentication

- `FeloBearerAuth` (http bearer, bearer format Felo API Key)
- `FeloApiKey` (apiKey in header `X-API-Key`)

## Request body

Required: **yes**

### application/json

Schema:

```json
{
  "type": "object",
  "required": [
    "search_id"
  ],
  "properties": {
    "search_id": {
      "type": "string",
      "description": "ID поиска, для которого нужно дать объяснение"
    },
    "response_mode": {
      "type": "string",
      "enum": [
        "COMPLETE",
        "INCREMENTAL",
        "NON_STREAMING"
      ],
      "default": "NON_STREAMING",
      "description": "Формат ответа с объяснением. COMPLETE и INCREMENTAL передают server-sent events потоком; NON_STREAMING возвращает JSON-ответ."
    },
    "language": {
      "type": "string",
      "default": "en",
      "description": "Код языка объяснения (например, en, zh, ar)",
      "example": "ar"
    },
    "detail_level": {
      "type": "string",
      "enum": [
        "BRIEF",
        "MODERATE",
        "DETAILED"
      ],
      "default": "MODERATE",
      "description": "Уровень детализации объяснения"
    }
  }
}
```

## Responses

### 200 — Успешный ответ с объяснением. COMPLETE/INCREMENTAL передают text/event-stream; NON_STREAMING возвращает application/json.

Headers:
- `X-Request-Id` (string) — Идентификатор запроса, который нужно указать при обращении в поддержку Felo.

**application/json**

Schema: `Response8Da310D1D213_ExplainSearchResponse` (`#/components/schemas/Response8Da310D1D213_ExplainSearchResponse`)

**text/event-stream**

Schema: string

```json
{
  "type": "string"
}
```

### 400 — Запрос не удалось обработать. Проверьте параметры запроса.

### 401 — Требуется действительный API-ключ Felo.

### 402 — Запрос не может быть выполнен: не выполнено требование биллинга.

### 403 — Аккаунту не разрешено выполнять эту операцию.

### 429 — Достигнут лимит запросов или расходов.

### 502 — Сервис не смог выполнить запрос.

### 503 — API или сервис биллинга временно недоступны.

### 504 — Истекло время ожидания обработки запроса.

### default — Ответ с ошибкой; сквозные ответы upstream могут использовать форматы провайдера

**application/json**

Schema:

```json
{}
```

## Schema definitions

### Response8Da310D1D213_ExplainSearchResponse

`#/components/schemas/Response8Da310D1D213_ExplainSearchResponse`

```json
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "message": {
      "type": "string",
      "description": "Сгенерированный текст объяснения."
    }
  },
  "description": "Ответ с JSON-объяснением, возвращаемый, когда response_mode имеет значение NON_STREAMING."
}
```
