Launch Runs

Creates a launch run and starts processing it.

post/experimental/launch-runs

Request

  • Base URL: https://api.tessl.io
  • URL: https://api.tessl.io/experimental/launch-runs
  • Auth: none declared

Headers

Authorizationstring

Request body

workspaceNamestring required
skillstring required

The plugin to install and the skill to run. A value without a file: prefix means a registry ref (either a full workspace/plugin[@version] or a bare plugin[@version] name resolved across the workspaces the caller can see); a value with a file: prefix means a local plugin path inside the cloned repo (e.g. file:apps/cli/plugins/agent-enablement). Either form may carry a trailing #skill selector (e.g. workspace/plugin@1.0.0#implement-ticket or file:apps/cli/plugins/agent-enablement#implement-ticket) that installs the whole plugin and launches the one named skill; it is required when the plugin exposes more than one skill. This is a wire convention: the value is stored verbatim and interpreted downstream by the launch recipe.

repostring required
baseBranchstring
sandboxSnapshotstring

Operational override selecting the sandbox runtime image the launch run is created from. When omitted the run falls back to the configured default.

workdirstring
agentstring
modelstring
environmentIdstring uuid

Id of an environment whose sealed .env payload is opened server-side at launch and delivered to the sandbox. A workspace environment must belong to the launch workspace. An org environment must be bound to the run's project: projectId, or the launch workspace's only live project when projectId is absent. A live reference resolved when each run starts, so environment edits affect subsequently started and resumed runs and a deleted or unbound environment fails the launch.

projectIdstring uuid

Id of the project the run is for, a live project in the launch workspace. An org environment named by environmentId must be bound to it.

uploadsobject

Additional upload keys (context archives, config tarballs) keyed by a caller-defined logical name. Each must be an existing, viewable upload.

inputsobject

Skill-specific inputs forwarded to the launched skill, keyed by the skill's own placeholder names (e.g. ISSUE_IDENTIFIER, ISSUE_TITLE, ISSUE_DESCRIPTION).

instructionsstring

Free-text instructions appended to the skill prompt the launch agent runs, mirroring the local --instructions flag. Distinct from the structured inputs channel.

timeoutMsinteger

How long the run has, in milliseconds, counted from when its sandbox attempt starts, setup included. The agent reads the resulting deadline, an ISO 8601 UTC time, from TESSL_LAUNCH_DEADLINE. Nothing stops the run before its deadline; after it, the run can be stopped at any moment. The value must be from 50 minutes (3000000) through 6 hours (21600000) in one-minute increments (a multiple of 60000). Omitted keeps the 50-minute default.

mcpServersstring[]

Names of workspace-registered MCP proxies to wire into the launched agent. Each name must resolve to an existing mcp_server_credential in the launch workspace that is either fully authorized or refreshable (has a stored token that can be renewed). Naming an unknown or unauthorized server is a 400.

labelstring
metadataobject

Response

Default Response

Changes