Skip to main content
POST
Run Tournament Sim

Authorizations

Authorization
string
header
required

Bearer token issued by Softmax

Path Parameters

division_id
string
required
Pattern: ^div_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

Body

application/json
structure
enum<string>
required
Available options:
single_elim,
double_elim,
round_robin,
elimination_rounds,
evolutionary
rounds_window
integer
default:20

How many recent completed rounds feed the matrix

Required range: 1 <= x <= 200
window_start
string<date-time> | null

Only rounds created at/after this time feed the matrix (overrides rounds_window; capped at the 200 most recent matching rounds — matrix.rounds_truncated reports when the cap dropped older ones)

window_end
string<date-time> | null

Only rounds created at/before this time

coworld_version_min
string | null
default:latest

Oldest coworld version whose episodes count; 'latest' (default) = newest in window; null = all

coworld_version_max
string | null

Newest coworld version whose episodes count; 'latest' = newest in window

n_sims
integer
default:1000
Required range: 1 <= x <= 2000
seed
integer
default:0
best_of
integer
default:1
Required range: 1 <= x <= 15
seeding
enum<string>
default:record
Available options:
record,
random
mutual_rule
enum<string>
default:loss_both
Available options:
coinflip,
redraw,
loss_both
smoothing
number
default:1
Required range: 0 <= x <= 10
rr_passes
integer
default:1
Required range: 1 <= x <= 20
eliminate_per_round
integer
default:1
Required range: 1 <= x <= 8
grand_final_reset
boolean
default:true
pop_size
integer
default:100
Required range: 2 <= x <= 500
generations
integer
default:200
Required range: 1 <= x <= 500
roster_mode
enum<string>
default:window

window = everyone seen in the rounds window; champions = current champion policy only (one per player); top_n / top_percent = best window records

Available options:
window,
champions,
top_n,
top_percent
roster_n
integer
default:8
Required range: 2 <= x <= 32
roster_percent
number
default:50
Required range: x <= 100
roster_only
boolean
default:false

Return the roster + win model without simulating

sufficiency
boolean
default:true

Posterior-resample the win model to judge whether the recorded 1v1 data is sufficient

sufficiency_draws
integer
default:24
Required range: 1 <= x <= 100
sufficiency_inner_sims
integer
default:150
Required range: 10 <= x <= 500
policy_version_ids
string[] | null

Explicit roster override; takes precedence over roster_mode

exclude_policy_version_ids
string[]

Manually excluded policies, applied after roster_mode selection

policy_cutoff
string<date-time> | null

Exclude policies submitted to the league after this time; champions become each player's last champion policy submitted at/before it

Response

Successful Response

division_id
string
required
league_id
string
required
matrix
Matrix · object
required
roster
Roster · object[]
required
note_prefix
string
default:""
missing_data_pairs
Missing Data Pairs · object[]
data_requests
Data Requests · object[]
access
Access · object | null
coworld_versions
Coworld Versions · object[]
win_model
Win Model · object | null
config
Config · object | null
showcase
Showcase · object | null
monte_carlo
Monte Carlo · object | null
sufficiency
Sufficiency · object | null