Browse Documentation

Reference / sandboxes / generated

POST/v1/sandboxes/{id}/files/write

Write a file in an existing sandbox.

Writes one file through the shared sandbox command boundary. Parent directories must already exist and writes are limited to 1 MiB.

Operation IDwriteSandboxFile
Success200
AuthenticationBearer key

Path parameters

writeSandboxFile path parameters
NameTypeRequirementMeaning
idstringRequiredOpaque, project-scoped Wildflower sandbox ID returned by create. The provider namespace is visible, but the random payload does not encode the provider-native ID.

Optional provider context

These headers are inline overrides. Connected project profiles keep the same fields outside individual requests.

writeSandboxFile header parameters
NameTypeRequirementMeaning
X-Provider-WorkspacestringOptionalOptional inline provider workspace override. Required with an inline Blaxel credential and omitted when using a connected profile.

Request and response

Request bodyWriteFileInput

HTTP example

This credential-safe request and its representative success response are generated with the operation contract. Replace placeholder IDs and read secrets from your environment.

Request

terminal
curl --fail-with-body --request POST \  "$WILDFLOWER_URL/v1/sandboxes/wf_e2b_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/files/write" \  -H "Authorization: Bearer $WILDFLOWER_API_KEY" \  -H "Content-Type: application/json" \  --data '{"path":"/tmp/hello.txt","content":"hello","encoding":"utf8"}'

Response / 200

200.json
{  "sandboxId": "wf_e2b_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",  "path": "/tmp/hello.txt",  "bytesWritten": 5}

SDK examples

Use the same operation through any generated client. Each snippet comes from the SDK generator rather than a hand-copied website example.

TypeScriptexample.ts
example.ts
import { Wildflower } from "@wildflowercomputer/sdk";const client = new Wildflower({  wildflowerApiKey: process.env.WILDFLOWER_API_KEY,});const handle = client.sandboxes.attach("wf_e2b_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");const written = await handle.writeFile({  path: "/tmp/hello.txt",  content: "hello",  encoding: "utf8",});console.log(written.bytesWritten);
Pythonexample.py
example.py
import osfrom wildflower import (    E2bCreateSandboxInput,    ReadFileInput,    RunCommandInput,    WriteFileInput,    Wildflower,)client = Wildflower(    wildflower_api_key=os.environ.get("WILDFLOWER_API_KEY"),)handle = client.sandboxes.attach("wf_e2b_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")written = handle.write_file(    WriteFileInput(        path="/tmp/hello.txt",        content="hello",        encoding="utf8",    ))print(written.bytes_written)
Rustexample.rs
example.rs
use wildflower::{    CreateSandboxInput, FileEncoding, ListSandboxesOptions, ReadFileInput,    RunCommandInput, WriteFileInput,    Wildflower,};let client = Wildflower::new(std::env::var("WILDFLOWER_API_KEY")?)?;let handle = client.sandboxes().attach("wf_e2b_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")?;let written = handle.write_file(&WriteFileInput {    path: "/tmp/hello.txt".to_owned(),    content: "hello".to_owned(),    encoding: FileEncoding::Utf8,}).await?;println!("{}", written.bytes_written);
Goexample.go
example.go
client, err := wildflower.NewClient(os.Getenv("WILDFLOWER_API_KEY"))if err != nil {    return err}handle, err := client.Sandboxes.Attach("wf_e2b_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")if err != nil {    return err}encoding := wildflower.FileEncodingUtf8written, err := handle.WriteFile(ctx, wildflower.WriteFileInput{    Path: "/tmp/hello.txt",    Content: "hello",    Encoding: &encoding,})if err != nil {    return err}fmt.Println(written.BytesWritten)
Zigexample.zig
example.zig
var client = try Wildflower.init(    allocator,    wildflower_api_key,    transport,);defer client.deinit();var handle = client.attach("wf_e2b_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");var written = try handle.writeFile(.{    .path = "/tmp/hello.txt",    .content = "hello",    .encoding = .utf8,});defer written.deinit();std.debug.print("{d}\n", .{written.value.bytes_written});

Generated SDK methods

Every name below comes from the generator mapping for this operation, so a language-specific rename creates website drift.