Перейти к основному содержимому

POST /api/v1/events/{id}/pools

Создаёт новый пул внутри события. Пул определяет вопрос с одним или несколькими исходами, каждый из которых обеспечен автоматическим маркет-мейкером LMSR. Только создатель события может добавлять пулы.

Аутентификация

Creator — требуется действительный Bearer-токен в заголовке Authorization. Аутентифицированный пользователь должен быть создателем родительского события.

Запрос

Параметры пути

ПараметрТипОбязательноОписание
idintegerДаID родительского события

Тело запроса

ПолеТипОбязательноОписание
namestringДаНазвание пула на английском
name_rustringНетНазвание пула на русском
marginintegerНетЗначение маржи (по умолчанию 0)
finish_atstring (ISO 8601)ДаВремя закрытия пула для торговли
live_atstring (ISO 8601)НетВремя, когда пул становится видимым и доступным для торговли
rulesstringНетПравила разрешения на английском
rules_rustringНетПравила разрешения на русском
metadataobjectДаКонфигурация рынков (см. ниже)

Объект metadata

ПолеТипОбязательноОписание
market_namesarray of stringsДаОтображаемое название для каждого исхода
market_probabilitiesarray of floatsДаНачальные вероятности для каждого исхода (должны давать в сумме 1)
lmsr_b_kopecksintegerНетПараметр ликвидности LMSR b в копейках. Большие значения означают более глубокую ликвидность.

Пример

curl -X POST https://intotes.com/api/v1/events/10/pools \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Match Winner",
"name_ru": "Победитель матча",
"margin": 0,
"finish_at": "2026-04-10T18:00:00Z",
"live_at": "2026-04-04T12:00:00Z",
"rules": "Resolves to the team that wins the match in regular time.",
"rules_ru": "Разрешается в пользу команды, победившей в основное время.",
"metadata": {
"market_names": ["Team A", "Draw", "Team B"],
"market_probabilities": [0.40, 0.25, 0.35],
"lmsr_b_kopecks": 1000000
}
}'

Ответ

201 Created

{
"id": 42,
"name": "Match Winner",
"name_ru": "Победитель матча",
"rules": "Resolves to the team that wins the match in regular time.",
"rules_ru": "Разрешается в пользу команды, победившей в основное время.",
"won_side": null,
"margin": 0,
"finish_at": "2026-04-10T18:00:00Z",
"live_at": "2026-04-04T12:00:00Z",
"markets": [
{
"id": 101,
"pool_id": 42,
"name": "Team A",
"yes_probability": 0.40,
"market_type": "lmsr",
"volume": 0,
"b": 10000,
"q_yes": 0,
"q_no": 0,
"paused": false,
"resolved": false,
"outcome_index": 0
},
{
"id": 102,
"pool_id": 42,
"name": "Draw",
"yes_probability": 0.25,
"market_type": "lmsr",
"volume": 0,
"b": 10000,
"q_yes": 0,
"q_no": 0,
"paused": false,
"resolved": false,
"outcome_index": 1
},
{
"id": 103,
"pool_id": 42,
"name": "Team B",
"yes_probability": 0.35,
"market_type": "lmsr",
"volume": 0,
"b": 10000,
"q_yes": 0,
"q_no": 0,
"paused": false,
"resolved": false,
"outcome_index": 2
}
],
"metadata": {
"market_names": ["Team A", "Draw", "Team B"],
"market_probabilities": [0.40, 0.25, 0.35],
"lmsr_b_kopecks": 1000000
}
}

Ошибки

СтатусКодОписание
400invalid_requestОтсутствуют обязательные поля или недопустимые значения
400invalid_probabilitiesВероятности не дают в сумме 1 или содержат значения за пределами допустимого диапазона
401unauthorizedОтсутствует или недействителен токен аутентификации
403forbiddenАутентифицированный пользователь не является создателем события
404event_not_foundСобытие с указанным ID не найдено
500internal_errorНепредвиденная ошибка сервера