---
title: "Get a sandbox"
method: GET
path: "/orgs/{orgName}/sandboxes/{sandboxName}"
tags: ["Sandboxes"]
---

# Get a sandbox

`GET /orgs/{orgName}/sandboxes/{sandboxName}`

## Request

- Base URL: `https://api.signadot.com/api/v2`
- URL: `https://api.signadot.com/api/v2/orgs/{orgName}/sandboxes/{sandboxName}`
- Auth: API key in header `signadot-api-key`

Fetch the details about a given sandbox.

## Path parameters

- `orgName` string, required
- `sandboxName` string, required

## Response `200`

OK

- Sandbox
  - `createdAt` string
  - `defaults` DefaultsCompositeDefaults
    - `cluster` DefaultsDefault[]
      - `class` 'ttl'
      - `createdAt` string
      - `resourceKind` 'sandbox' | 'routegroup'
      - `updatedAt` string
      - `value` unknown
  - `endpoints` SandboxEndpoint[]
    - `baselineUrl` string
    - `host` string
    - `name` string
    - `port` integer
    - `protocol` string
    - `routeType` string
    - `target` string
    - `url` string
  - `name` string: Human-readable name of this sandbox
  - `routingKey` string
  - `spec` SandboxSpec
    - `cluster` string, required: Cluster within which this sandbox should be created
    - `connection` Connection
      - `devboxId` string: Required: deterministic ID from user+metadata hash
    - `defaultRouteGroup` SandboxDefaultRouteGroup
      - `endpoints` EndpointsEndpoint[]
        - `name` string
        - `target` string
    - `description` string: Description of the purpose of this sandbox
    - `disableSandboxTrafficManager` boolean: DisableSandboxTrafficManager provides a way of turning off the sandbox traffic manager for forks in this sandbox. Deprecated in operators since v1.1. The sandbox traffic manager has been retired.
    - `endpoints` SandboxHostEndpoint[]: Deprecated. Use defaultRouteGroup.Endpoints instead.
      - `host` string: Hostname that this endpoint points to
      - `name` string: Name of the endpoint
      - `port` integer: Port it will map to on the specified host
      - `protocol` string: Protocol that this endpoint uses
    - `forks` SandboxFork[], required: Forks is the specification of each forked entity
      - `customizations` SandboxCustomizations
        - `env` SandboxEnvVar[]: Environment variable modifications that will be applied to the forked workload
          - `container` string: name of container to which it applies
          - `name` string: environmental variable name
          - `operation` 'upsert' | 'delete'
          - `value` string: environmental variable value
          - `valueFrom` SandboxEnvValueFrom
            - `configMap` SandboxEnvValueFromMap
              - …
            - `fork` SandboxEnvValueFromFork
              - …
            - `resource` SandboxEnvValueFromResource
              - …
            - `secret` SandboxEnvValueFromMap
              - …
        - `images` SandboxImage[]: One or more docker images that will be applied to the forked workload
          - `container` string: Container is the container this image must apply to in the forked workload
          - `image` string: Name of the image (e.g. gcr.io/my-image/repo:my-tag)
        - `patch` SandboxCustomPatch
          - `type` 'strategic' | 'merge' | 'json' | 'signadot/env' | 'signadot/image'
          - `value` string
      - `endpoints` SandboxForkEndpoint[]: Deprecated. Use defaultRouteGroup.Endpoints instead.
        - `name` string: Name of the endpoint
        - `port` integer: Port it will map to on the forked workload
        - `protocol` string: Protocol that this endpoint uses
      - `forkOf` SandboxForkOf
        - `kind` string, required: Kind of the baseline workload.
        - `name` string, required: Name of the entity within the Kubernetes cluster.
        - `namespace` string, required: Namespace within which the entity lives in the Kubernetes cluster.
      - `name` string
    - `labels` object: Labels are used to specify metadata associated with the sandbox as key-value pairs.
    - `local` Local[]: Local Workloads
      - `env` SandboxEnvVar[]
        - `container` string: name of container to which it applies
        - `name` string: environmental variable name
        - `operation` 'upsert' | 'delete'
        - `value` string: environmental variable value
        - `valueFrom` SandboxEnvValueFrom
          - `configMap` SandboxEnvValueFromMap
            - `key` string
            - `name` string
            - `optional` boolean
          - `fork` SandboxEnvValueFromFork
            - `expression` string
            - `forkOf` SandboxForkOf
              - …
          - `resource` SandboxEnvValueFromResource
            - `name` string
            - `outputKey` string
          - `secret` SandboxEnvValueFromMap
            - `key` string
            - `name` string
            - `optional` boolean
      - `files` SandboxFileOp[]
        - `path` string
        - `value` string
        - `valueFrom` SandboxFileSource
          - `configMap` SandboxFileSourceMap
            - `key` string
            - `name` string
            - `optional` boolean
          - `resource` SandboxFileSourceResource
            - `name` string
            - `outputKey` string
          - `secret` SandboxFileSourceMap
            - `key` string
            - `name` string
            - `optional` boolean
      - `from` LocalFrom
        - `kind` string, required: Kind of the baseline workload.
        - `name` string, required: Name of the entity within the Kubernetes cluster.
        - `namespace` string, required: Namespace within which the entity lives in the Kubernetes cluster.
      - `mappings` LocalPortMapping[]
        - `appProtocol` string
        - `port` integer
        - `toLocal` string
      - `name` string
    - `localMachineID` string: Identifier of the machine from where a sandbox containing local workloads was created or is intended to be ran
    - `middleware` SandboxesMiddleware[]: Request Middleware
      - `args` SandboxesArgument[]: Middleware arguments
        - `name` string: Name indicates the name of the associated parameter.
        - `value` string: Value indicates the value passed to the parameter of the same name.
        - `valueFrom` SandboxesArgValueFrom
          - `forward` string
      - `match` SandboxesMiddlewareMatch[]: Matches specifies a disjunction of matching criteria for dispatching the middleware. Any empty list means don't dispatch anything.
        - `workload` string: Workload specifies a glob which matches each workload name in the spec.
      - `name` string: Middleware name
    - `resources` SandboxResource[]: Resources specifies each required resource to spin up the sandbox
      - `name` string: Unique name for this resource (used to reference it in env vars and files)
      - `params` object: Plugin-specific parameters as key-value pairs
      - `plugin` string: Plugin name, optionally suffixed with @version (e.g. my-plugin@1.2.0)
    - `routing` SandboxesRouting
      - `forwards` SandboxesForward[]
        - `appProtocol` string
        - `name` string
        - `port` integer
        - `toLocal` string
    - `ttl` SandboxTTL
      - `duration` string: Duration represents the duration until sandbox end of life. It should be an unsigned integer not exceeding 32 bits followed by a units character, which can be one of the following. - 'm' for minutes - 'h' for hours - 'd' for days - 'w' for weeks
      - `offsetFrom` string: OffsetFrom indicates what the Duration is relative to. It may be the empty string, "createdAt" or "updatedAt". The empty string defaults to meaning "createdAt".
    - `virtual` Virtual[]: Virtual Workloads
      - `name` string
      - `workload` LocalFrom
        - `kind` string, required: Kind of the baseline workload.
        - `name` string, required: Name of the entity within the Kubernetes cluster.
        - `namespace` string, required: Namespace within which the entity lives in the Kubernetes cluster.
  - `status` SandboxReadiness
    - `connection` SandboxConnectionStatus
      - `devbox` string: Machine to which local mappings in this sandbox may be linked.
      - `session` ConnectSession
        - `createdAt` string
        - `id` string
        - `renewedAt` string
        - `validUntil` string
    - `forwards` SandboxesForwardStatus[]: Forwards status
      - `name` string
      - `tunnel` SandboxTunnelStatus
        - `health` object
          - `connected` boolean
          - `lastCheckTime` string
          - `lastConnectedTime` string
    - `jobs` SandboxesJobsSummary
      - `phaseCounts` JobsPhaseCount[]
        - `count` integer
        - `phase` 'queued' | 'running' | 'failed' | 'succeeded' | 'canceled'
    - `local` SandboxLocalWorkloadStatus[]: Local mappings status
      - `name` string
      - `tunnel` SandboxTunnelStatus
        - `health` object
          - `connected` boolean
          - `lastCheckTime` string
          - `lastConnectedTime` string
    - `message` string: Message is a human readable explanation of why the sandbox is healthy or not.
    - `ready` boolean: Ready indicates whether the sandbox is ready, meaning that it can be used for testing.
    - `reason` string: Reason is a machine readable explanation of why the sandbox is healthy or not.
    - `scheduledDeleteTime` string: ScheduledDeleteTime returns the formatted and computed ttl based on the Duration and OffsetFrom
    - `testExecutions` SandboxTestExecutionsSummary
      - `checks` SandboxTestExecutionsSummaryChecks
        - `failed` integer
        - `passed` integer
      - `phaseCounts` TestexecutionsPhaseCount[]
        - `count` integer
        - `phase` 'pending' | 'in_progress' | 'failed' | 'succeeded' | 'canceled'
      - `trafficDiffs` SandboxTestExecutionsSummaryTrafficDiffs
        - `green` integer
        - `red` integer
        - `yellow` integer
  - `updatedAt` string

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `502`: Bad Gateway

---

[API](https://skmtc.dev/signadot/apis/signadot-api.md) - [All operations](https://skmtc.dev/signadot/apis/signadot-api/llms.txt) - [OpenAPI document](https://skmtc.dev/signadot/apis/signadot-api/revisions/5e80b0f9c718?raw)
