API reference

Lanes

Start, launch, and stop lanes; create worktrees.

POST /api/v1/lanes

worktreePathstringbodyrequired
Absolute path of an existing checkout.
simulatorUdidstringbodyrequired
Simulator UDID, or AVD name for an Android lane.
environmentstringbodyDefault: development
development, staging, preprod, or production.
modestringbodyDefault: debug
debug or release (iOS only).
preferredPortnumberbody
Debug only; accepted when free and inside the environment's range.
platformstringbody
ios or android; inferred from the device ID when omitted.

Returns the lane. Release lanes have port: null and metroPid: null. Creation fails rather than taking a device, worktree, or port another lane holds.

Operate

RequestEffect
GET /api/v1/lanesLanes with Metro health
POST /api/v1/lanes/{laneId}/launchDebug: waits up to 15 s for Metro, then opens the app at its exact URL. Release: returns a job polled at /api/v1/lanes/launch-jobs/{jobId}.
POST /api/v1/lanes/{laneId}/open-urlBody { "url": "buy" }. A path uses the lane mode's scheme; a full URL passes through.
GET /api/v1/lanes/{laneId}/log?maxCharacters=20000Metro log tail (plain text)
POST /api/v1/lanes/{laneId}/stopStops only the Metro process group this lane owns and releases the lease

POST /api/v1/worktrees

{ "name": "agent-e2e-a", "branch": "fleet-agent/e2e-a", "startPoint": "origin/main" }

Creates a sibling worktree and prepares it for the fleet (shared paths, overlays, skills). The name must be lowercase letters, digits, and hyphens. See Worktrees.