curl --request POST \
--url https://api.example.com/api/containers \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"image": "<string>",
"name": "<string>",
"custom_image": "<string>",
"role": "<string>",
"shell": {
"shell.enhanced": true,
"shell.theme": "<string>",
"shell.autosuggestions": true,
"shell.syntax_highlight": true,
"shell.history_search": true,
"shell.git_aliases": true,
"shell.system_stats": true,
"shell.use_tmux": true
},
"memory_mb": 123,
"cpu_shares": 123,
"disk_mb": 123
}
'{
"id": "<string>",
"db_id": "<string>",
"user_id": "<string>",
"name": "<string>",
"image": "<string>",
"role": "<string>",
"status": "<string>",
"created_at": "<string>",
"async": true,
"message": "<string>",
"resources": {
"resources.memory_mb": 123,
"resources.cpu_shares": 123,
"resources.disk_mb": 123
},
"expires_at": "<string>",
"session_limit_seconds": 123,
"error": "<string>",
"current": 123,
"limit": 123,
"tier": "<string>",
"supported_images": [
{}
]
}Create a new sandboxed Linux container
curl --request POST \
--url https://api.example.com/api/containers \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"image": "<string>",
"name": "<string>",
"custom_image": "<string>",
"role": "<string>",
"shell": {
"shell.enhanced": true,
"shell.theme": "<string>",
"shell.autosuggestions": true,
"shell.syntax_highlight": true,
"shell.history_search": true,
"shell.git_aliases": true,
"shell.system_stats": true,
"shell.use_tmux": true
},
"memory_mb": 123,
"cpu_shares": 123,
"disk_mb": 123
}
'{
"id": "<string>",
"db_id": "<string>",
"user_id": "<string>",
"name": "<string>",
"image": "<string>",
"role": "<string>",
"status": "<string>",
"created_at": "<string>",
"async": true,
"message": "<string>",
"resources": {
"resources.memory_mb": 123,
"resources.cpu_shares": 123,
"resources.disk_mb": 123
},
"expires_at": "<string>",
"session_limit_seconds": 123,
"error": "<string>",
"current": 123,
"limit": 123,
"tier": "<string>",
"supported_images": [
{}
]
}Documentation Index
Fetch the complete documentation index at: https://mintlify.com/brimblehq/rexec/llms.txt
Use this file to discover all available pages before exploring further.
POST /api/containers
creating status, and the container becomes running once initialization completes.
Bearer YOUR_API_TOKEN
application/jsonubuntu:24.04 - Ubuntu 24.04 LTSdebian:bookworm - Debian 12alpine:latest - Alpine Linuxarchlinux:latest - Arch Linuxcustom - Use a custom Docker image (requires custom_image field)image is “custom”. Specify a valid Docker image reference (e.g., “node:20-alpine”, “python:3.11”).node - Node.js development (nvm, npm, yarn)python - Python development (pyenv, pip, poetry)go - Go development toolsrust - Rust toolchaindevops - Docker, kubectl, terraform, ansiblebarebone - Minimal setup, fastest startupShow Shell Configuration
rexec, minimal, or powerlevel10kcreating, running, stopped, or errortrue - indicates asynchronous creationcurl -X POST https://your-rexec-instance.com/api/containers \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"image": "ubuntu:24.04",
"name": "dev-environment",
"role": "node",
"memory_mb": 2048,
"cpu_shares": 2000,
"shell": {
"enhanced": true,
"theme": "rexec",
"use_tmux": true
}
}'
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"db_id": "550e8400-e29b-41d4-a716-446655440000",
"user_id": "usr_123abc",
"name": "dev-environment",
"image": "ubuntu:24.04",
"role": "node",
"status": "creating",
"created_at": "2024-01-15T10:30:00Z",
"async": true,
"message": "Container is being created. This may take a moment if the image needs to be pulled.",
"resources": {
"memory_mb": 2048,
"cpu_shares": 2000,
"disk_mb": 10240
}
}
{
"error": "container limit reached",
"current": 5,
"limit": 5,
"tier": "free",
"message": "Upgrade your plan to create more containers"
}
{
"error": "unsupported image type",
"supported_images": [
"ubuntu:24.04",
"debian:bookworm",
"alpine:latest",
"archlinux:latest",
"custom"
]
}
wss://your-rexec-instance.com/ws/events?token=YOUR_API_TOKEN
{
"type": "container_progress",
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"stage": "pulling",
"message": "Pulling image...",
"progress": 15
}
}
validating → pulling → creating → starting → configuring → ready
status: "creating". Use WebSocket events or poll the Get Container endpoint to monitor progress.macos and macos-legacy images require Enterprise tier or admin permissions.