Create write

Writes bytes to one path in the caller's sandbox, creating parents, and answers the resolved path.

POST /v1/sandbox/write

Addresshttps://api.hanzo.ai/v1/sandbox/write
MethodPOST
Operationwrite_sandbox_file
AuthAuthorization: Bearer $HANZO_API_KEY

Writes bytes to one path in the caller's sandbox, creating parents, and answers the resolved path.

Request

3 fields, body application/json (required).

FieldInTypeRequiredDescription
databodystring—Data is the file's bytes, and replaces whatever was there.
idbodystring—ID is the sandbox to write into, from an earlier lease.
pathbodystring—Path is confined the same way PathIn.Path is.

Response

StatusBodyMeaning
200sandbox.Wroteok
defaultproblem-detailsrefused

200 body — 2 fields.

FieldInTypeAlwaysDescription
bytesbodyinteger (int64)—Bytes is how many bytes the file now holds.
pathbodystring—Path is where the bytes actually landed: the caller's path resolved against the sandbox's working directory (Leased.Workdir), which is what a later read or a shell line inside the sandbox has to name.

Failure carries the platform error shape — see Errors.

Examples

hanzo sandbox write
import { Configuration, SandboxApi } from 'hanzoai';

const api = new SandboxApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.writeSandboxFile({ data: "<data>", id: "<id>" });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import SandboxApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = SandboxApi(client).write_sandbox_file(data="<data>", id="<id>")
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.SandboxAPI.WriteSandboxFile(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, sandbox_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = sandbox_api::write_sandbox_file(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.SandboxApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new SandboxApi(client).writeSandboxFile();
curl -X POST https://api.hanzo.ai/v1/sandbox/write \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "data": "<data>",
       "id": "<id>"
     }'

Tool sandbox, op write_sandbox_file — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "sandbox",
         "arguments": {
           "op": "write_sandbox_file",
           "input": {
             "data": "<data>",
             "id": "<id>"
           }
         }
       }
     }'

Sandbox API · All Hanzo APIs · Interactive reference

Was this page useful?