APIСправочник API
Поиск реакций
POST /v1/reactions/search
POST /v1/reactions/search
Доступ
Требуется bearer-авторизация. Описание операции задаёт дополнительные права, роли и ограничения для сессий кабинета. Сам по себе API-ключ их не предоставляет.
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
reactants | string ∣ null | нет | Полная сторона исходных веществ: SMILES, разделённые точками. |
products | string ∣ null | нет | Полная сторона продуктов: SMILES, разделённые точками. |
temperature_min | number ∣ null | нет | °C; выбираются пересекающиеся интервалы. |
temperature_max | number ∣ null | нет | °C; выбираются пересекающиеся интервалы. |
pressure_min | number ∣ null | нет | |
pressure_max | number ∣ null | нет | |
pressure_kind | string ∣ null | нет | Обозначение давления из источника: например абсолютное или манометрическое. |
agent | string ∣ null | нет | SMILES реагентов в поле agents; должны присутствовать все указанные молекулы. |
solvent | string ∣ null | нет | Точное обозначение растворителя из источника. |
min_balance_confidence | number ∣ null | нет | Некалиброванная оценка исходной модели SynRBL. |
validated_only | boolean | нет | Только записи с положительным результатом исходной проверки. По умолчанию: true. |
limit | integer | нет | Максимальное количество записей: от 1 до 100. По умолчанию: 10. |
offset | integer | нет | Смещение страницы, начиная с нуля. По умолчанию: 0. |
Полная схема: SearchReactionsRequest
{
"properties": {
"reactants": {
"anyOf": [
{
"type": "string",
"maxLength": 10000,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Reactants",
"description": "Complete dot-separated reactant side (SMILES)."
},
"products": {
"anyOf": [
{
"type": "string",
"maxLength": 10000,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Products",
"description": "Complete dot-separated product side (SMILES)."
},
"temperature_min": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Temperature Min",
"description": "°C; matches overlapping intervals."
},
"temperature_max": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Temperature Max",
"description": "°C; matches overlapping intervals."
},
"pressure_min": {
"anyOf": [
{
"type": "number",
"description": "Pressure in bar; negative bounds require an explicit gauge pressure_kind."
},
{
"type": "null"
}
],
"title": "Pressure Min"
},
"pressure_max": {
"anyOf": [
{
"type": "number",
"description": "Pressure in bar; negative bounds require an explicit gauge pressure_kind."
},
{
"type": "null"
}
],
"title": "Pressure Max"
},
"pressure_kind": {
"anyOf": [
{
"type": "string",
"maxLength": 100,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Pressure Kind",
"description": "Source pressure label, e.g. absolute or gauge."
},
"agent": {
"anyOf": [
{
"type": "string",
"maxLength": 10000,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Agent",
"description": "Agent SMILES; every molecule must be present."
},
"solvent": {
"anyOf": [
{
"type": "string",
"maxLength": 1000,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Solvent",
"description": "Exact source solvent label."
},
"min_balance_confidence": {
"anyOf": [
{
"type": "number",
"maximum": 1,
"minimum": 0
},
{
"type": "null"
}
],
"title": "Min Balance Confidence",
"description": "Upstream, uncalibrated SynRBL score."
},
"validated_only": {
"type": "boolean",
"title": "Validated Only",
"description": "Only observations with a positive upstream verdict.",
"default": true
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"title": "Limit",
"description": "Maximum records, from 1 to 100.",
"default": 10
},
"offset": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"title": "Offset",
"description": "Zero-based pagination offset.",
"default": 0
}
},
"additionalProperties": false,
"type": "object",
"title": "SearchReactionsRequest"
}Ответы
| HTTP | Описание | Тип |
|---|---|---|
| 200 | Успешный ответ | application/json: ObservationPage |
| 401 | Требуется авторизация | application/problem+json: ProblemDetails |
| 402 | Недостаточно кредитов | application/problem+json: ProblemDetails |
| 403 | Доступ запрещён | application/problem+json: ProblemDetails |
| 408 | Время запроса истекло | application/problem+json: ProblemDetails |
| 413 | Превышен размер запроса | application/problem+json: ProblemDetails |
| 422 | Ошибка входных данных | application/problem+json: ProblemDetails |
| 429 | Превышен лимит | application/problem+json: ProblemDetails |
| 502 | Ошибка шлюза | application/problem+json: ProblemDetails |
| 503 | Сервис недоступен | application/problem+json: ProblemDetails |
Ответ: ObservationPage
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
items | Observation[] | да | |
limit | integer | да | |
offset | integer | да | |
has_more | boolean | да | |
next_offset | integer ∣ null | да |
Полная схема
{
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/Observation"
},
"type": "array",
"title": "Items"
},
"limit": {
"type": "integer",
"title": "Limit"
},
"offset": {
"type": "integer",
"title": "Offset"
},
"has_more": {
"type": "boolean",
"title": "Has More"
},
"next_offset": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Next Offset"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"items",
"limit",
"offset",
"has_more",
"next_offset"
],
"title": "ObservationPage"
}Эта страница генерируется из OpenAPI. Примеры показывают схемы, а не вымышленные успешные ответы.