Skip to main content

POST /api/v1/events/create-full

Creates a complete event with pools, markets, and all associated metadata in a single request. This is the preferred method for event creation when all details are known upfront.

Authentication

Required. User must have the Creator role.

Request

ParameterTypeInDescription
namestringbodyRequired. Event name in English
name_rustringbodyEvent name in Russian
tagsstring[]bodyArray of tag slugs
versus_namesstring[]bodyNames of the opposing sides
versus_imagesstring[]bodyImage URLs for each side
has_drawboolbodyWhether the event supports a draw outcome
image_urlstringbodyURL of the event cover image
polymarket_event_urlstringbodyPolymarket event URL for odds syncing
main_pool_indexintbodyIndex of the pool to use as the main/default pool (0-based)
loop_interval_minutesintbodyInterval in minutes for loop (recurring) events; 0 for one-off events
poolsarraybodyRequired. Array of pool objects
pools[].namestringbodyPool name in English
pools[].name_rustringbodyPool name in Russian
pools[].marginfloatbodyPool margin (fee percentage, e.g. 0.02 for 2%)
pools[].finish_atstringbodyISO 8601 deadline for the pool
pools[].live_atstringbodyISO 8601 time when the pool goes live
pools[].rulesstringbodyResolution rules in plain text
pools[].metadataobjectbodyPool metadata containing market configuration
pools[].metadata.market_namesstring[]bodyNames for each market outcome
pools[].metadata.market_probabilitiesfloat[]bodyInitial probabilities for each market (must sum to 1.0)
pools[].metadata.lmsr_b_kopecksintbodyLMSR liquidity parameter b in kopecks (1/100 of base currency unit)

Example

curl -X POST "https://api.intotes.com/api/v1/events/create-full" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"name": "ETH price at end of April",
"name_ru": "Цена ETH в конце апреля",
"tags": ["crypto", "ethereum"],
"versus_names": ["Above $4000", "Below $4000"],
"versus_images": [],
"has_draw": false,
"image_url": "https://images.intotes.com/events/eth-april.png",
"polymarket_event_url": "",
"main_pool_index": 0,
"loop_interval_minutes": 0,
"pools": [
{
"name": "Main Pool",
"name_ru": "Основной пул",
"margin": 0.02,
"finish_at": "2026-04-30T23:59:59Z",
"live_at": "2026-04-04T12:00:00Z",
"rules": "Resolves based on ETH/USD spot price on Coinbase at 2026-04-30 23:59 UTC.",
"metadata": {
"market_names": ["Above $4000", "Below $4000"],
"market_probabilities": [0.55, 0.45],
"lmsr_b_kopecks": 1000000
}
}
]
}'

Response

201 Created

{
"id": 4,
"name": "ETH price at end of April",
"name_ru": "Цена ETH в конце апреля",
"tags": ["crypto", "ethereum"],
"image_url": "https://images.intotes.com/events/eth-april.png",
"status": "new",
"is_active": false,
"created_at": "2026-04-04T12:00:00Z",
"versus_names": ["Above $4000", "Below $4000"],
"versus_images": [],
"has_draw": false,
"pools": [
{
"id": 11,
"name": "Main Pool",
"name_ru": "Основной пул",
"margin": 0,
"finish_at": "2026-04-30T23:59:59Z",
"live_at": "2026-04-04T12:00:00Z",
"rules": "Resolves based on ETH/USD spot price on Coinbase at 2026-04-30 23:59 UTC.",
"markets": [
{
"id": 103,
"pool_id": 11,
"name": "Above $4000",
"yes_probability": 0.55,
"market_type": "lmsr",
"volume": 0,
"b": 1000000,
"q_yes": 0,
"q_no": 0,
"paused": false,
"resolved": false,
"outcome_index": 0
},
{
"id": 104,
"pool_id": 11,
"name": "Below $4000",
"yes_probability": 0.45,
"market_type": "lmsr",
"volume": 0,
"b": 1000000,
"q_yes": 0,
"q_no": 0,
"paused": false,
"resolved": false,
"outcome_index": 1
}
]
}
]
}

403 Forbidden

{
"error": "insufficient permissions"
}