---
title: "Retrieve Run Sandbox Details"
method: GET
path: "/api/v1/runs/{id}/sandbox"
tags: ["Human-in-the-Loop"]
---

# Retrieve Run Sandbox Details

`GET /api/v1/runs/{id}/sandbox`

Returns provider-neutral details about the sandbox owned by this run, including identity, normalized state, image/snapshot, resources, labels, and timestamps.

## Path parameters

- `id` string, required

## Response `200`

Sandbox details

- SandboxDetails — Provider-neutral details about the sandbox owned by a run.
  - `sandbox` RunSandboxInstance, required — Initialized sandbox provider and runtime metadata.
    - `provider` 'local' | 'docker' | 'daytona', required — Sandbox provider discriminator.
    - `image` string, nullable
    - `snapshot` string, nullable
    - `runtime` RunSandboxRuntime, required
      - `id` string, required
      - `working_directory` string, required
      - `repo_cloned` boolean, nullable, required
      - `clone_origin_url` string, nullable, required
      - `clone_branch` string, nullable, required
      - `workspace_root` string, nullable
      - `repos_root` string, nullable
      - `primary_repo_path` string, nullable
      - `primary_repo_link` string, nullable
  - `state` 'unknown' | 'provisioning' | 'starting' | 'running' | 'stopping' | 'stopped' | 'paused' | 'deleting' | 'deleted' | 'archived' | 'restoring' | 'resizing' | 'error', required — Normalized sandbox lifecycle state used by the control plane and UI. The original provider-specific state string is preserved in `native_state`.
  - `native_state` string, nullable — Original provider state string before normalization. Display/debugging only; UI behavior keys off `state`.
  - `region` string, nullable — Provider region or target. Null for local-style providers.
  - `web_url` string, nullable — Provider dashboard URL for this sandbox when available.
  - `resources` SandboxResources, required — Resource configuration for a sandbox. Fields are nullable when the provider does not surface a value or no limit is configured.
    - `cpu_cores` number, double — Configured CPU cores. Null when unavailable.
    - `memory_bytes` integer — Memory limit in bytes. Null when unavailable or unlimited.
    - `disk_bytes` integer — Disk size in bytes. Null when unavailable.
  - `network` SandboxNetwork, required — Provider-neutral public-network policy for sandbox egress and ingress.
    - `egress` SandboxNetworkPolicy, required — Public-network policy for one direction.
      - `mode` 'unknown' | 'open' | 'blocked' | 'cidr_allow_list' | 'essentials_only', required — Provider-neutral public-network policy for one direction.
      - `cidrs` string[], required — CIDR entries when `mode` is `cidr_allow_list`; empty for other modes.
    - `ingress` SandboxNetworkPolicy, required — Public-network policy for one direction.
      - `mode` 'unknown' | 'open' | 'blocked' | 'cidr_allow_list' | 'essentials_only', required — Provider-neutral public-network policy for one direction.
      - `cidrs` string[], required — CIDR entries when `mode` is `cidr_allow_list`; empty for other modes.
  - `labels` object, required — Provider-reported labels.
  - `timestamps` SandboxTimestamps, required — Lifecycle timestamps for a sandbox. Fields are nullable when the provider does not surface a value.
    - `created_at` string, date-time — When the sandbox was created.
    - `last_activity_at` string, date-time — Most recent activity timestamp reported by the provider.

## Other responses

- `404` — Run not found or run has no sandbox
- `409` — Sandbox provider exists but inspection failed because the sandbox is gone or inaccessible
- `501` — Sandbox provider has no details implementation

---

[API](https://skmtc.net/fabro-sh/apis/fabro-run-api.md) · [All operations](https://skmtc.net/fabro-sh/apis/fabro-run-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fabro-sh/fabro-run-api/versions/bee030053823/schema)
