---
title: "Sandbox detail: registry row + metric series + session logs"
method: GET
path: "/sandboxes/{sandboxId}"
tags: ["sandboxes"]
---

# Sandbox detail: registry row + metric series + session logs

`GET /sandboxes/{sandboxId}`

## Request

- Base URL: `https://api.letsship.ai/v1`
- URL: `https://api.letsship.ai/v1/sandboxes/{sandboxId}`
- Auth: none declared

## Path parameters

- `sandboxId` string, required

## Response `200`

Detail

- SandboxDetailResponse
  - `sandbox` SandboxInstance, required
    - `sandboxId` string, required
    - `issueId` string, required
    - `projectId` string, nullable, required
    - `role` string, required
    - `harness` string, nullable, required
    - `harnessVersion` string, nullable, required
    - `runId` string, nullable, required
    - `status` 'running' | 'stale' | 'completed' | 'stopped' | 'failed', required: How the agent's run in this sandbox stands. `running`: the agent works now. `completed`: the agent finished its work. `stopped`: something ended the run on purpose before it finished, for example a newer run, a stop of the mission or a person. `failed`: the agent reported a failure, or exited without a report. `stale`: the platform closed the run without a report, after its time limit or after a later attempt replaced it.
    - `terminationReason` string, nullable, required
    - `instanceType` string, nullable, required
    - `createdAt` integer, required
    - `timeoutAt` integer, nullable, required
    - `lastHeartbeatAt` integer, nullable, required
    - `endedAt` integer, nullable, required: When the run ended, in epoch milliseconds. Null until the run ends.
    - `lastCpuPct` number, nullable, required
    - `lastMemUsedMb` integer, nullable, required
    - `lastMemTotalMb` integer, nullable, required
    - `lastDiskUsedPct` number, nullable, required
    - `lastMetricAt` integer, nullable, required
  - `runSessionId` string, nullable: The session that this run recorded when it started. `sessions` lists every session of this role on the mission, with this one first once its log is saved. Null for a run that recorded none.
  - `metrics` SandboxMetricSample[], required
    - `t` integer, required
    - `cpuPct` number, required
    - `memUsedMb` integer, required
    - `memTotalMb` integer, required
    - `diskUsedPct` number, required
  - `sessions` SandboxSession[], required
    - `role` string, required
    - `sessionId` string, required
    - `ts` string, required
    - `outcome` string, nullable, required
    - `logKey` string, nullable, required
    - `systemKey` string, nullable, required
    - `totalCostUsd` number, nullable, required
  - `liveFragments` LiveFragment[], required
    - `kind` 'thought' | 'action' | 'plan' | 'error', required
    - `t` integer, required
    - `body` string
    - `action` string
    - `parameter` string
    - `result` string
    - `toolUseId` string
    - `items` object[]
      - `content` string, required
      - `status` string, required

## Other responses

- `404`: Not found

---

[API](https://skmtc.dev/letsship/apis/ship-api.md) · [All operations](https://skmtc.dev/letsship/apis/ship-api/llms.txt) · [OpenAPI document](https://skmtc.dev/letsship/apis/ship-api/revisions/e6eac1bcadd4?raw)
