# Первый запрос к API

Проверьте ключ, выполните химическую проверку и найдите источник реакции.

Canonical: https://docs.cyberrxn.com/ru/docs/quickstart

В этом руководстве используется cURL без SDK. Для типизированного клиента есть быстрый старт на [Python](/ru/docs/sdk/python) и [JavaScript](/ru/docs/sdk/javascript). Для подключения без кода — [настройка MCP](/ru/docs/mcp).

## 1. Создайте ключ рабочего пространства

Войдите в [CyberRXN](https://app.cyberrxn.com/ru), выберите рабочее пространство и откройте [API-ключи](https://app.cyberrxn.com/ru/keys). Создайте ключ с правами на операции ниже, включая чтение расхода. Скопируйте секрет при показе и передайте его в переменной окружения `CYBERRXN_API_KEY` через закрытый терминал или хранилище секретов.

Тестовый ключ использует отдельную квоту тестовой среды; live-ключ — лимит и предоплаченный баланс рабочего пространства. Различия описаны в [авторизации](/ru/docs/api/keys). Не вставляйте ключ в разговор с ассистентом или публичный браузерный код.

## 2. Проверьте доступ без расхода химического вызова

```bash
curl --fail-with-body --silent --show-error \
  'https://api.cyberrxn.com/v1/usage' \
  -H "Authorization: Bearer $CYBERRXN_API_KEY"
```

В успешном ответе есть поля `period`, `included_calls` и `used_calls`. Этот запрос не тарифицируется. HTTP 401 означает отсутствие или недействительность ключа; 403 — недостаточные права. Исправьте это перед следующим шагом. Не проверяйте API-ключ через `GET /v1/me`: этому методу нужна собственная сессия приложения.

## 3. Выполните воспроизводимую химическую проверку

```bash
curl --fail-with-body --silent --show-error \
  'https://api.cyberrxn.com/v1/chemistry/validate' \
  -H "Authorization: Bearer $CYBERRXN_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{"reaction_smiles":"CCO>>CC=O","mode":"strict"}'
```

В этом уравнении теряются два атома водорода. Ожидайте HTTP 200 с `valid: false` и диагностикой атомного баланса. Запрос выполнен успешно: отрицательный химический вердикт — это данные. Проверка расходует один успешный тарифицируемый вызов. Ответ с ошибкой содержит стабильный `code` и `request_id`; см. [обработку ошибок](/ru/docs/api/errors).

## 4. Найдите описанный способ получения

```bash
curl --fail-with-body --silent --show-error \
  'https://api.cyberrxn.com/v1/molecules/reactions' \
  -H "Authorization: Bearer $CYBERRXN_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{"smiles":"CCN1CCN(CO)C(=O)C1=O","role":"product","limit":3}'
```

Посмотрите массив `items`. В каждом элементе есть `observation_id`; пустой массив означает, что этот запрос не нашёл наблюдений. Передайте ID из своего ответа в [GET /v1/observations/ID](/ru/docs/api/reference/get-observation), закодировав значение для URL.

В полной записи есть `paragraph_text`, `conditions` и `evidence`. Сопоставьте условия с исходным абзацем: давление может относиться к сушке, а не к реакции. В [готовых сценариях](/ru/docs/recipes) есть полный пример поиска и чтения записи без ручного копирования ID.

## Что дальше

- [Установите SDK](/ru/docs/installation) для типизированных моделей, пагинации и ошибок.
- [Выберите способ поиска](/ru/docs/chemistry/search): молекула, точное преобразование или фильтры.
- Настройте [контроль расхода](/ru/docs/api/usage) и [частоты запросов](/ru/docs/api/rate-limits) перед пакетной обработкой.
- Откройте [справочник API](/ru/docs/api/reference) для всех поддерживаемых полей и методов.
