---
title: "Run a sandbox command"
method: POST
path: "/tally/workspace/executions"
tags: ["Tally Workspace"]
---

# Run a sandbox command

`POST /tally/workspace/executions`

## Request

- Base URL: `https://ledgerhq.pro/api/v1`
- URL: `https://ledgerhq.pro/api/v1/tally/workspace/executions`
- Auth: HTTP bearer

Runs a bash command in an ephemeral isolated sandbox with the firm workspace hydrated at /workspace. Blocks until the run completes. New or changed files under /workspace are synced back to the workspace. Metered against the firm's monthly sandbox-minute quota; cannot touch accounting data.

## Request body

- object
  - `organizationId` string, uuid
  - `command` string, required
  - `inputPaths` string[]: Optional subset of workspace paths to hydrate.
  - `timeoutSeconds` integer
  - `networkMode` 'web' | 'none'

## Response `201`

Execution result

- TallySandboxExecution
  - `id` string, uuid
  - `executionId` string, uuid
  - `status` 'running' | 'succeeded' | 'failed' | 'timeout' | 'canceled', required
  - `exitCode` integer, nullable
  - `timedOut` boolean
  - `networkMode` 'web' | 'none'
  - `stdoutTail` string
  - `stderrTail` string
  - `filesSyncedIn` integer
  - `filesSyncedOut` integer
  - `syncedOutPaths` string[]
  - `skippedOutPaths` string[]
  - `durationMs` integer, nullable
  - `estimatedCostMicros` integer, nullable
  - `logDownloadUrl` string, uri, nullable

## Other responses

- `default`: Error response

---

[API](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api.md) · [All operations](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/revisions/9a8269f0a586?raw)
