curl -X GET "https://nunu.ai/api/v1/project/your-project-id/runs/lkkg6t5612m/live?include_screenshot=true" \
-H "X-Api-Key: YOUR_API_TOKEN"
curl -X GET "https://nunu.ai/api/v1/project/your-project-id/runs/lkkg6t5612m/live?include_screenshot=false" \
-H "X-Api-Key: YOUR_API_TOKEN"
{
"multiplayer_run_id": "lkkg6t5612m",
"state": "RUNNING",
"test": {
"id": "a5060a07-d386-4269-98ce-b33fb894201e",
"name": "Sanity smoke"
},
"players": [
{
"player_number": 0,
"composite_run_id": "lkkg6t5612m-1",
"current_run_id": "run_abc123",
"current_step": 4,
"game_state": { "scene": "main_menu" },
"screenshot": {
"data": "iVBORw0KGgoAAAANSUhEUgAA...",
"mimeType": "image/png",
"encoding": "base64"
},
"last_agent_step": {
"agent": "user-beholder",
"step": 12,
"save_data": { "reasoning": "navigated to main menu" },
"start_time": "2026-04-01T09:55:01.000000+00:00"
}
}
]
}
Runs
Get Live Run Snapshot
Return a live snapshot for an active run, including latest game state and (optionally) per-player screenshots.
GET
/
project
/
{projectId}
/
runs
/
{runId}
/
live
curl -X GET "https://nunu.ai/api/v1/project/your-project-id/runs/lkkg6t5612m/live?include_screenshot=true" \
-H "X-Api-Key: YOUR_API_TOKEN"
curl -X GET "https://nunu.ai/api/v1/project/your-project-id/runs/lkkg6t5612m/live?include_screenshot=false" \
-H "X-Api-Key: YOUR_API_TOKEN"
{
"multiplayer_run_id": "lkkg6t5612m",
"state": "RUNNING",
"test": {
"id": "a5060a07-d386-4269-98ce-b33fb894201e",
"name": "Sanity smoke"
},
"players": [
{
"player_number": 0,
"composite_run_id": "lkkg6t5612m-1",
"current_run_id": "run_abc123",
"current_step": 4,
"game_state": { "scene": "main_menu" },
"screenshot": {
"data": "iVBORw0KGgoAAAANSUhEUgAA...",
"mimeType": "image/png",
"encoding": "base64"
},
"last_agent_step": {
"agent": "user-beholder",
"step": 12,
"save_data": { "reasoning": "navigated to main menu" },
"start_time": "2026-04-01T09:55:01.000000+00:00"
}
}
]
}
Permission Required:
project:read-runsPath Parameters
string
required
The multiplayer run ID (12 lowercase alphanumeric characters)
Query Parameters
boolean
default:"true"
Whether to include a base64-encoded screenshot per player. Set to
false
for a lighter-weight response.Response
string
required
Run ID (echoes the path param)
string
required
Run state:
initializing, running, or completedLivePlayer[]
required
Snapshot per player
Show LivePlayer properties
Show LivePlayer properties
integer
Player number (0-indexed)
string
Composite run ID for this player
string
Currently executing inner run ID, or
nullinteger
Latest beholder step number, or
nullobject
Latest captured game state, or
nullobject
Latest screenshot —
{ data, mimeType, encoding: "base64" } — or null
if not available or include_screenshot=falseobject
Latest agent reasoning entry —
{ agent, step, save_data, start_time } —
or nullcurl -X GET "https://nunu.ai/api/v1/project/your-project-id/runs/lkkg6t5612m/live?include_screenshot=true" \
-H "X-Api-Key: YOUR_API_TOKEN"
curl -X GET "https://nunu.ai/api/v1/project/your-project-id/runs/lkkg6t5612m/live?include_screenshot=false" \
-H "X-Api-Key: YOUR_API_TOKEN"
{
"multiplayer_run_id": "lkkg6t5612m",
"state": "RUNNING",
"test": {
"id": "a5060a07-d386-4269-98ce-b33fb894201e",
"name": "Sanity smoke"
},
"players": [
{
"player_number": 0,
"composite_run_id": "lkkg6t5612m-1",
"current_run_id": "run_abc123",
"current_step": 4,
"game_state": { "scene": "main_menu" },
"screenshot": {
"data": "iVBORw0KGgoAAAANSUhEUgAA...",
"mimeType": "image/png",
"encoding": "base64"
},
"last_agent_step": {
"agent": "user-beholder",
"step": 12,
"save_data": { "reasoning": "navigated to main menu" },
"start_time": "2026-04-01T09:55:01.000000+00:00"
}
}
]
}
Authorizations
API key for authentication
Path Parameters
The multiplayer run ID (12 lowercase alphanumeric characters)
Pattern:
^[a-z0-9]{12}$The project ID. You can copy it from the project settings page or the project URL in the dashboard.
Query Parameters
Whether to include per-player screenshots