Attach Filesystem
Attach a filesystem to a running sandbox at an absolute guest mount path. Returns 200 OK once the mount is persisted; the mount applies asynchronously on the live sandbox. If the mount later cannot converge — including a file_system_id that does not exist, or a pinned snapshot_id that is not a permanent snapshot of the filesystem — the sandbox is terminated fail-closed with termination_reason and error_details on the sandbox object, so verify the filesystem exists (for example with tl fs ls) and the snapshot is listed by tl fs history before attaching.
- This path accepts either the sandbox ID or the sandbox name.
file_system_idis the filesystem’s name — the one created withtl fs create <name>.200 OKmeans the mount is persisted; it applies asynchronously on the live sandbox moments later.snapshot_idpins the mount to a permanent snapshot (requiresread_only: true); see Pinned mounts.- If the mount later cannot converge — including a filesystem that does not exist, or a pinned snapshot that is not a permanent snapshot of the filesystem — the sandbox is terminated fail-closed with
termination_reasonanderror_detailson the sandbox object. Verify the filesystem exists (e.g.tl fs ls) and the snapshot is listed bytl fs historybefore attaching. - Tensorlake returns
400 Bad Requestfor asnapshot_idwithoutread_only, or when the sandbox runs on an executor fleet without filesystem or snapshot-pin support. - Tensorlake returns
409 Conflictwhen the sandbox is not running, the mount path is already in use, the sandbox is at the 8-mount cap, or the sandbox’s executor is momentarily unresolvable. The last case is transient — retry shortly.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The sandbox ID or sandbox name.
Body
Filesystem name within the project — the name created with tl fs create <name>. ASCII letters, digits, _, and - only.
Absolute guest mount path (e.g. /mnt/skills). Must not be / or contain ..; paths are normalized, and mount paths must be unique and non-nested within the sandbox.
Mount the filesystem read-only. Writes inside the guest fail with EROFS; the mount's storage credential carries no write scope. Fail-closed — sandboxes requesting read-only mounts are only placed on fleets that can enforce them.
Download the filesystem's full tree in the background after the mount is ready. The mount is usable immediately with lazy reads meanwhile. Best-effort — never blocks or fails the sandbox, and older fleets skip it silently.
Pin the mount to a permanent snapshot of the filesystem (created with tl fs snapshot or a message-bearing tl fs push; ids listed by tl fs history). A pinned mount serves exactly that snapshot and never follows the live filesystem head. Requires read_only to be true — a snapshot_id without read_only is rejected with 400. Pinning an id that is not a permanent snapshot of the filesystem fails the sandbox with termination_reason FileSystemSnapshotNotFound. Omit for an unpinned mount that follows the live filesystem; responses omit the field for unpinned mounts.
Response
Filesystem attach accepted and persisted; the returned sandbox already reflects the new file_systems entry
pending, running, snapshotting, suspending, suspended, terminated Milliseconds since Unix epoch.
Whether sandbox ingress may route requests without auth validation.
Present when status is pending.
Platform-specific termination outcome string returned for completed sandboxes.
Typed reason the sandbox terminated (e.g. FileSystemNotFound, FileSystemSnapshotNotFound, ImageNotFound). Present on failed terminations.
Human-readable detail accompanying termination_reason.
Canonical server-provided base for sandbox-specific ingress.
Sandbox-specific management URL derived from ingress_endpoint.
Additional routable ingress ports. When null, only the management port 9501 is routable.
1 <= x <= 65535Filesystems currently mounted into the sandbox.