Workspace
Introduction
Oblien Workspace gives you programmable cloud sandboxes - full Linux environments you can create, control, and destroy through code. Each workspace is an isolated micro-VM with its own filesystem, network, and resources.
What you can do
- Spin up environments in seconds - Ubuntu, Node.js, Python, Go, Rust, Redis, Postgres
- Execute code remotely - run commands, stream output, manage long-running tasks
- Open terminals - full interactive shell sessions over WebSocket
- Control networking - firewall rules, public port exposure, outbound IP selection
- SSH access - connect from any terminal with password or key auth
- Manage resources - scale CPU, memory, and disk on the fly
- Snapshot & restore - save state and roll back instantly
- Run workloads - managed background processes with logs and lifecycle control
- Monitor everything - live CPU/memory/network stats via SSE streaming
Who it's for
| Use Case | How |
|---|---|
| AI agent sandboxes | Give your agent a full Linux environment to write code, run tests, browse the web |
| Code execution | Run untrusted code in isolated containers with resource limits and TTL |
| Dev environments | Spin up pre-configured dev boxes with SSH, terminals and port forwarding |
| CI/CD runners | Ephemeral build environments that self-destruct after the job |
| API testing | Isolated environments per request with full network control |
Architecture
Your App ──▶ Oblien SDK / REST API ──▶ Oblien Platform ──▶ Micro-VM
(oblien/workspace) (isolated sandbox)Each workspace runs as a lightweight micro-VM with:
- Dedicated kernel - full process isolation, not a container
- Writable filesystem - persistent storage with snapshots
- Virtual network - configurable firewall, public access, outbound IP
- Resource limits - hard caps on CPU, memory, disk
Two ways to interact
npm install oblienimport { OblienClient } from 'oblien';
import { Workspace } from 'oblien/workspace';
const client = new OblienClient({
clientId: process.env.OBLIEN_CLIENT_ID,
clientSecret: process.env.OBLIEN_CLIENT_SECRET,
});
const ws = new Workspace(client);
// Create a workspace
const workspace = await ws.create({
name: 'my-sandbox',
image: 'node-20',
config: { cpus: 2, memory_mb: 2048 },
});
// Run code
const result = await ws.exec(workspace.id, {
cmd: ['node', '-e', 'console.log("Hello from the cloud!")'],
});
console.log(result.data); // "Hello from the cloud!"
// Clean up
await ws.delete(workspace.id);# Create a workspace
curl -X POST https://api.oblien.com/workspace \
-H "X-Client-ID: $OBLIEN_CLIENT_ID" \
-H "X-Client-Secret: $OBLIEN_CLIENT_SECRET" \
-H "Content-Type: application/json" \
-d '{
"name": "my-sandbox",
"image": "node-20",
"config": { "cpus": 2, "memory_mb": 2048 }
}'
# Execute a command
curl -X POST https://api.oblien.com/workspace/{id}/exec \
-H "X-Client-ID: $OBLIEN_CLIENT_ID" \
-H "X-Client-Secret: $OBLIEN_CLIENT_SECRET" \
-H "Content-Type: application/json" \
-d '{ "cmd": ["node", "-e", "console.log(\"Hello from the cloud!\")"] }'
# Delete
curl -X DELETE https://api.oblien.com/workspace/{id} \
-H "X-Client-ID: $OBLIEN_CLIENT_ID" \
-H "X-Client-Secret: $OBLIEN_CLIENT_SECRET"Next steps
- Quickstart - Create your first workspace in 5 minutes
- Authentication - API keys and tokens
- SDK Setup - Install and configure the SDK
- API Reference - Complete endpoint documentation
- Plans & Pricing - Compare plans and resource limits