Skip to main content
POST
Create Experience Request

Authorizations

Authorization
string
header
required

Bearer token issued by Softmax

Body

application/json
roster
V2RosterParticipant · object[]
required

One participant per seat.

idempotency_key
string | null
Required string length: 5 - 200
private
boolean
default:false

Restrict the XP and its derived episodes and artifacts to the requester.

llm_routing_override
enum<string> | null
Available options:
openrouter,
bedrock
coworld_id
string | null

Direct Coworld target.

Pattern: ^cow_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
variant_id
string | null

Direct Coworld variant.

target
V2ExperienceRequestTarget · object | null

Direct Coworld target or league/division selector.

game_config_overrides
Game Config Overrides · object | null

Shallow game config override validated against the resolved Coworld schema.

game_config_overlay_secret
string | null

Coworld-owner-published private coworld.game_config_overlay.v1 object to merge before public overrides.

Pattern: ^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$
state
V2CoworldState · object | null

Typed game-owned state selection. Omit it for the Coworld's normal new-state start; head selects live mutable state and snapshot selects an immutable checkpoint.

included_players
string[]

If non-empty, restrict the top_n/random champion pool to only these players, as player IDs ('ply_...') or player names. Players named by policy_ref roster seats are always included. Entries that match no player are ignored.

excluded_players
string[]

Players to drop from the top_n/random champion pool entirely, as player IDs ('ply_...') or player names. Excluded players never appear in the pool, even after it regenerates mid-episode. Entries that match no player are ignored. Applied after included_players.

num_episodes
integer
default:1
Required range: 1 <= x <= 100
notes
string | null
Maximum string length: 1000
execution_backend
string
default:k8s
Allowed value: "k8s"
reporters
ReporterBindingSpec · object[]

Reporter bindings to run over this request's episodes after completion. Each binding may include an optional dependency graph; runs are billed to the requester.

Maximum array length: 10

Response

Successful Response

id
string
required
requester_user_id
string
required
coworld_id
string
required
coworld_name
string
required
coworld_version
string
required
variant_id
string | null
required
status
enum<string>
required
Available options:
pending,
submitted,
running,
completed,
failed,
cancelled
episode_count
integer
required
pending_count
integer
required
submitted_count
integer
required
running_count
integer
required
completed_count
integer
required
failed_count
integer
required
error
string | null
required
created_at
string<date-time>
required
started_at
string<date-time> | null
required
completed_at
string<date-time> | null
required
episodes
V2EpisodeRequestRow · object[]
required
requester
string | null
requested
Requested · object | null
cost_preview
V2ExperienceRequestCostPreview · object | null

Cost expectations for a just-created experience request (spec 0080 §3).