Skip to content
home / kit / terminal
TerminalKit Service

Terminal

A persistent Linux shell exposed as an HTTPS endpoint. Run commands via API, connect from any browser, stream over WebSocket, or SSH in directly. Sessions persist across reconnections.

Quickstart

# Get your token

$ curl https://your-terminal.hoody.com/token

> eyJhbG...

 

# Run your first command

$ curl -X POST .../api/v1/terminal/execute \

-H "Authorization: Bearer $TOKEN" \

-d '["command":"echo Hello from Hoody!","wait":true]'

> ["success":true,"stdout":"Hello from Hoody!\n","duration_ms":3]

 

# Share the URL — anyone can connect

https://proj-dev-terminal-1.server.containers.hoody.com

home / kit / terminal / features
How It Works

Five ways to use Terminal

Terminal adapts to how you work. Execute commands via HTTP, stream builds over WebSocket, collaborate in real time, launch GUI apps, or monitor system resources — all from the same URL.

terminal-1

Commands Over HTTP

POST a shell command to any terminal session. Get structured JSON with stdout, stderr, exit code, and timing. No SSH tunnel, no client library — just HTTP.

# before / after

- ssh user@server 'ls -la /app' 2>/dev/null

+ curl -X POST terminal.hoody.com/api/v1/terminal/execute -d '["command":"ls -la /app"]'

$ curl -X POST /api/v1/terminal/execute \

-d '["command": "npm test", "wait": true]'

 

> HTTP/1.1 200 OK

> [

> "success": true,

> "exit_code": 0,

> "stdout": "24 passed, 0 failed",

> "duration_ms": 12

> ]

Execute1/5
home / kit / terminal / api
HTTP API

Every command is an API call

POST a command, get structured JSON back with stdout, stderr, exit code, and timing metadata. Sync or async with polling.

View All Endpoints
terminal-api.sh

# Execute a command via Terminal HTTP API

curl -X POST \

https://proj-dev-terminal-1.hoody.com/api/v1/terminal/execute \

-H "Content-Type: application/json" \

-H "Authorization: Bearer $TOKEN" \

-d '{

"command": "ls -la /app",

"wait": true

}'

 

# Response:

# {

# "success": true,

# "exit_code": 0,

# "stdout": "total 48\ndrwxr-xr-x ...",

# "stderr": "",

# "duration_ms": 12

# }

home / kit / terminal / more
Use Cases

Built for real workflows

Terminal covers the full range of developer and automation scenarios. Each use case maps to specific API endpoints and URL parameters.

Remote Development

SSH into your container from any device with a browser. Full shell access with persistent sessions — pick up where you left off from your phone, tablet, or another machine.

AI Agent Orchestration

Agents execute shell commands via the HTTP API. Build, test, deploy — the Terminal API gives AI agents structured access to your entire development environment.

Team Debugging

Share a terminal URL with your team for multiplayer debugging. Everyone sees the same output, types commands, and gets unique cursor colors in real time.

GUI Applications

Launch any graphical application from the terminal. Firefox, VS Code, GIMP — terminal-N auto-maps to display-N with zero X11 forwarding setup.

CI/CD Integration

Run build steps, execute tests, deploy artifacts — all via HTTP. Integrate Terminal into any CI pipeline with simple curl calls and structured JSON responses.

Live Monitoring

Real-time CPU, memory, disk, and network stats via API. List running processes, send signals, inspect ports — full system visibility through structured endpoints.

home / kit / terminal / endpoints
HTTP API

19 endpoints, full control

Four domains: command execution, session management, live streaming via WebSocket, and system monitoring. Every endpoint returns structured JSON with bearer token auth.

Session Management

7 endpoints

curl .../sessions → [{terminal_id: "1", shell: "bash"}]

GET
/api/v1/terminal/sessionsList active sessions
POST
/api/v1/terminal/sessionsCreate new session
DELETE
/api/v1/terminal/sessions/:idTerminate session
POST
/api/v1/terminal/sessions/:id/resizeResize terminal
POST
/api/v1/terminal/sessions/:id/writeWrite to session
GET
/api/v1/terminal/sessions/:id/statusSession status
POST
/api/v1/terminal/sessions/:id/signalSend signal to session

System & Meta

6 endpoints

curl .../system/resources → {cpu: 45%, mem: 8GB}

GET
/api/v1/system/resourcesCPU, memory, disk, network
GET
/api/v1/system/processesRunning processes
POST
/api/v1/system/process/signalSend signal to PID
GET
/api/v1/system/envEnvironment variables
GET
/api/v1/system/infoSystem information
GET
/api/v1/terminal/rawExport raw output

Command Execution

4 endpoints

curl -X POST .../execute -d '{"command":"npm test"}'

POST
/api/v1/terminal/executeExecute command (sync/async)
GET
/api/v1/terminal/result/:idPoll async result
GET
/api/v1/terminal/history/:idCommand history
GET
/api/v1/terminal/screenshotCapture as PNG/JPEG/GIF

Live Streaming

2 endpoints

WS .../sessions/1/ws → real-time stdout frames

WS
/api/v1/terminal/sessions/:id/wsReal-time stream
GET
/api/v1/terminal/sessions/:id/bufferRead output buffer
home / kit / terminal / more
Capabilities

Everything built in

Every feature is available out of the box with zero configuration. Terminal ships ready to use the moment your container starts.

Persistent Sessions

Working directory, environment variables, shell history — everything survives browser closes and reconnections.

Shell Selection

bash, zsh, fish, tmux, sh — switch shells via URL parameter. Pre-installed and ready to use.

tmux Bridge

tmux sessions shared between web and SSH access. terminal-3 in the browser maps to tmux session 3 over SSH.

Terminal Screenshots

Capture terminal state as PNG, JPEG, or GIF via API. Configurable colors and font size for documentation.

Session Reset

Kill all processes, clear environment, reset working directory with a single URL parameter. Clean slate instantly.

OpenAPI Spec

Self-documenting API at /api/v1/terminal/openapi.json. Generate typed clients in any language automatically.

home / kit / terminal / start

Ready to explore?

Terminal is one of 14 Kit services that ship with every Hoody container. No installation, no configuration — explore the docs or browse the API reference above.

Read the Docs