# samreshuuu API

Интегрируйте AI-возможности в ваш продукт: генерация текста, агенты, обработка документов и автоматизация задач.

## Начало работы

### Установите зависимости

```bash
# No SDK required — the API is plain HTTP + Server-Sent Events.
# Python: pip install requests
# Node.js: built-in fetch (Node 18+)
```

### Настройте переменные окружения

```bash
export SAMRESHUUU_API_KEY="sk-org-your_api_key"
export SAMRESHUUU_BASE_URL="https://samreshuuu.ru/api/v1"
```

### Запустите ход

`POST /sessions/stream` запускает ход и возвращает `202` с его идентификаторами — он не стримит. Используйте полученные `session_id` и `message_id`, чтобы подписаться на следующем шаге.

**Python**

```python
import requests, os

API_KEY = os.environ["SAMRESHUUU_API_KEY"]
BASE = os.environ["SAMRESHUUU_BASE_URL"]
headers = {"Authorization": f"Bearer {API_KEY}"}

spawn = requests.post(
    f"{BASE}/sessions/stream",
    headers=headers,
    json={"message": "Summarize the key points of this contract"},
).json()
session_id, message_id = spawn["session_id"], spawn["message_id"]
```

**Node.js**

```typescript
const API_KEY = process.env.SAMRESHUUU_API_KEY;
const BASE = process.env.SAMRESHUUU_BASE_URL;
const headers = { Authorization: `Bearer ${API_KEY}` };

const spawn = await fetch(`${BASE}/sessions/stream`, {
  method: "POST",
  headers: { ...headers, "Content-Type": "application/json" },
  body: JSON.stringify({ message: "Summarize the key points of this contract" }),
}).then((r) => r.json());
const { session_id, message_id } = spawn;
```

**cURL**

```bash
curl -X POST "$SAMRESHUUU_BASE_URL/sessions/stream" \
  -H "Authorization: Bearer $SAMRESHUUU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "message": "Summarize the key points of this contract" }'
# → { "session_id": "ses_abc123", "message_id": "msg_def456", "kind": "new_turn" }
```

### Читайте поток событий

Подпишитесь на устойчивый журнал событий хода через SSE. Каждый фрейм — строка `data:` с JSON-полем `type`. Полная таксономия событий и семантика возобновления — на странице [Стриминг (SSE)](/docs/streaming).

**Python**

```python
with requests.get(
    f"{BASE}/sessions/{session_id}/messages/{message_id}/stream",
    headers=headers,
    stream=True,
) as resp:
    for line in resp.iter_lines():
        if line:
            print(line.decode())
```

**cURL**

```bash
curl -N "$SAMRESHUUU_BASE_URL/sessions/$SESSION_ID/messages/$MESSAGE_ID/stream" \
  -H "Authorization: Bearer $SAMRESHUUU_API_KEY"
```

```json
data: {"type": "start", "session_id": "ses_abc123"}

data: {"type": "delta", "content": "Here are the key points of the contract:\n\n"}

data: {"type": "delta", "content": "1. **Term**: 24 months starting March 2026\n"}

data: {"type": "complete", "session_id": "ses_abc123", "final_response": "Here are the key points...", "total_input_tokens": 150, "total_output_tokens": 89}
```

## Доступные модели

samreshuuu предоставляет доступ к лучшим моделям для различных задач. Актуальный список — с доступностью и ценами — возвращает эндпоинт `GET /api/v1/models`.

| Модель | ID | Примечание |
| --- | --- | --- |
| DeepSeek V4 Flash | `deepseek` | Модель по умолчанию |
| MiniMax M3 | `minimax` | |
| NVIDIA Nemotron 3 Super | `nvidia` | |
| NVIDIA Nemotron 3 Ultra | `nvidia_ultra` | |
| Sber GigaChat 2 | `gigachat` | |
| YandexGPT | `yandexgpt` | |

[Посмотреть все модели и цены →](/docs/reference)

**Полезные ссылки**

- [Аутентификация — Bearer-токены и контекст организации](/docs/authentication)
- [Агенты — создание агентов, привязка коннекторов, выдача учётных записей](/docs/agents)
- [Ошибки и лимиты — формат ошибок, HTTP-коды, retry-логика](/docs/reference)

## FAQ

### Нужен ли SDK для работы с API samreshuuu?

Нет. API — это обычный HTTP плюс Server-Sent Events. В Python подойдёт `requests`, в Node.js 18+ — встроенный `fetch`. Если вы предпочитаете OpenAI SDK, доступен OpenAI-совместимый эндпоинт.

### Как запустить ход и прочитать ответ?

`POST /api/v1/sessions/stream` запускает ход и возвращает `202` с `session_id` и `message_id` — сам он не стримит. Подпишитесь на `GET /sessions/{session_id}/messages/{message_id}/stream` по SSE, чтобы читать события.

### Какие модели доступны?

DeepSeek V4 Flash (модель по умолчанию), MiniMax M3, NVIDIA Nemotron 3 Super и Ultra, Sber GigaChat 2 и YandexGPT. Всегда актуальный список с доступностью и ценами возвращает `GET /api/v1/models`.

### Как устроен base URL?

Нативный API — по адресу `https://samreshuuu.ru/api/v1`. OpenAI-совместимый эндпоинт использует `https://samreshuuu.ru/v1`.
