Authentication
All endpoints exceptGET /health require a Bearer token:
--key flag or $ISOL8_API_KEY environment variable.
Architecture
- Ephemeral requests create a new
DockerIsol8engine per request, using the warm container pool - Session-based requests (with
sessionId) reuse a persistentDockerIsol8instance stored in memory - Config defaults from
isol8.config.jsonare merged into every request - Global semaphore limits concurrent container executions (default: 10, configurable via
maxConcurrent) - Auto-pruning periodically removes stale containers when enabled
Endpoints Overview
| Method | Path | Description |
|---|---|---|
GET | /health | Health check (no auth) |
POST | /execute | Execute code, return full result |
POST | /execute/stream | Execute code, stream output via SSE |
POST | /file | Upload a file to a session container |
GET | /file | Download a file from a session container |
DELETE | /session/:id | Destroy a persistent session |
Remote Client
UseRemoteIsol8 to connect to a server from your TypeScript application:
RemoteIsol8 implements the same Isol8Engine interface as DockerIsol8, so you can swap between local and remote execution without changing your application code.