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

Policy selector for each game seat.

idempotency_key
string | null

Key that makes repeated create requests return the same experience request.

Required string length: 5 - 200
private
boolean
default:false

Limit the request, episodes, and artifacts to the requester.

llm_routing_override
enum<string> | null

Language-model provider override for this request.

Available options:
openrouter,
bedrock
coworld_id
string | null

Coworld to run directly.

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

Variant to run within the direct Coworld.

target
V2ExperienceRequestTarget · object | null

Coworld, league, or division to resolve as the run target.

game_config_overrides
Game Config Overrides · object | null

Top-level game configuration values validated against the Coworld schema.

game_config_overlay_secret
string | null

Private Coworld configuration secret merged before public overrides.

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

Game state to load. Omit it to start with new state.

included_players
string[]

Limit champion selection to these player IDs or names. Explicit policy seats are unaffected.

excluded_players
string[]

Exclude these player IDs or names from champion selection. Exclusions take precedence.

num_episodes
integer
default:1

Number of episodes to create.

Required range: 1 <= x <= 100
notes
string | null

Note explaining the request's purpose.

Maximum string length: 1000
execution_backend
string
default:k8s

Execution system used for the episodes.

Allowed value: "k8s"
reporters
ReporterBindingSpec · object[]

Reporters to run after completion, including optional dependencies. Runs are billed to the requester.

Maximum array length: 10

Response

Successful Response

id
string
required

Experience request ID.

requester_user_id
string
required

User who created the experience request.

coworld_id
string
required

Coworld used by the requested episodes.

coworld_name
string
required

Name of the Coworld used by the requested episodes.

coworld_version
string
required

Coworld version used by the requested episodes.

variant_id
string | null
required

Coworld variant, or null when no variant was selected.

status
enum<string>
required

Current state of the experience request.

Available options:
pending,
submitted,
running,
completed,
failed,
cancelled
episode_count
integer
required

Total episodes created for the request.

pending_count
integer
required

Episodes waiting to be submitted for execution.

submitted_count
integer
required

Episodes submitted for execution but not yet running.

running_count
integer
required

Episodes currently running.

completed_count
integer
required

Episodes that completed successfully.

failed_count
integer
required

Episodes that failed.

error
string | null
required

Request-level failure message, or null when none was recorded.

created_at
string<date-time>
required

Time when the experience request was created.

started_at
string<date-time> | null
required

Time when execution began, or null until it starts.

completed_at
string<date-time> | null
required

Time when execution finished, or null until it finishes.

episodes
V2EpisodeRequestRow · object[]
required

Episode requests created by this experience request.

requester
string | null

Display name of the requester.

can_cancel
boolean
default:false

Whether the caller can cancel this experience request.

requested
Requested · object | null

Original purpose and roster request.

cost_preview
V2ExperienceRequestCostPreview · object | null

Admission-time cost estimate, present only in the create response.