Loading...
Loading...
VM0 API for running AI agents in secure sandboxes. Use this skill to execute agents, manage runs, and download outputs (artifacts) and inputs (volumes) via the VM0 platform API.
npx skill4agent add vm0-ai/vm0-skills vm0Note: If you have the VM0 CLI installed and the vm0-cli skill available, prefer using the vm0-cli skill instead. It provides a higher-level interface with more convenient operations.
export VM0_TOKEN=vm0_live_your-api-keyvm0 auth loginvm0 auth setup-tokenvm0_live_Important: When usingin a command that pipes to another command, wrap only the curl command in$VAR, then pipe to jq outside. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.bash -c '...'bashbash -c 'curl -s "https://api.vm0.ai/v1/agents" -H "Authorization: Bearer $VM0_TOKEN"' | jq '.data'
bash -c 'curl -s "https://api.vm0.ai/v1/agents" -H "Authorization: Bearer $VM0_TOKEN"' | jq '.data[] | {id, name}'/tmp/vm0_request.json{
"agent": "my-agent",
"prompt": "Hello, please introduce yourself"
}bash -c 'curl -s -X POST "https://api.vm0.ai/v1/runs" -H "Authorization: Bearer $VM0_TOKEN" -H "Content-Type: application/json" -d @/tmp/vm0_request.json' | jq '{id, status}'<run-id>bash -c 'curl -s "https://api.vm0.ai/v1/runs/<run-id>" -H "Authorization: Bearer $VM0_TOKEN"' | jq '{id, status, error, execution_time_ms}'bash -c 'curl -s "https://api.vm0.ai/v1/runs/<run-id>/logs" -H "Authorization: Bearer $VM0_TOKEN"' | jq '.data[]'bash -c 'curl -s "https://api.vm0.ai/v1/agents" -H "Authorization: Bearer $VM0_TOKEN"' | jq '.data'bash -c 'curl -s "https://api.vm0.ai/v1/agents/<agent-id>" -H "Authorization: Bearer $VM0_TOKEN"' | jq '{id, name, description}'curl -s -X POST "https://api.vm0.ai/v1/runs" \
-H "Authorization: Bearer $VM0_TOKEN" \
-H "Content-Type: application/json" \
-d @- << 'EOF'
{
"agent": "my-agent",
"prompt": "Process the data file",
"variables": {
"DEBUG": "true"
},
"volumes": {
"input-data": "latest"
}
}
EOFbash -c 'curl -s -X POST "https://api.vm0.ai/v1/runs/<run-id>/cancel" -H "Authorization: Bearer $VM0_TOKEN"' | jq '{id, status}'bash -c 'curl -s "https://api.vm0.ai/v1/volumes" -H "Authorization: Bearer $VM0_TOKEN"' | jq '.data[] | {id, name}'curl -L -o volume.tar.gz "https://api.vm0.ai/v1/volumes/<volume-id>/download" \
-H "Authorization: Bearer $VM0_TOKEN"bash -c 'curl -s "https://api.vm0.ai/v1/artifacts" -H "Authorization: Bearer $VM0_TOKEN"' | jq '.data[] | {id, name}'curl -L -o artifact.tar.gz "https://api.vm0.ai/v1/artifacts/<artifact-id>/download" \
-H "Authorization: Bearer $VM0_TOKEN"tar -xzf artifact.tar.gz -C ./output/bash -c 'curl -s "https://api.vm0.ai/v1/runs?limit=10" -H "Authorization: Bearer $VM0_TOKEN"' | jq '{data, pagination}'{
"pagination": {
"has_more": true,
"next_cursor": "abc123"
}
}bash -c 'curl -s "https://api.vm0.ai/v1/runs?limit=10&cursor=abc123" -H "Authorization: Bearer $VM0_TOKEN"' | jq '{data, pagination}'{
"error": {
"type": "invalid_request_error",
"code": "resource_not_found",
"message": "No such agent: 'my-agent'",
"param": "agent"
}
}| Error Type | Status | Description |
|---|---|---|
| 401 | Invalid or missing API key |
| 400 | Invalid parameters |
| 404 | Resource doesn't exist |
| 500 | Internal server error |
https://api.vm0.ai/v1/