# Sandbox 0đ: thử API trước khi trả tiền

Sandbox mô phỏng tạo VPS, database và vận hành service với giá 0đ. Dùng prefix /api/sandbox hoặc header X-Vibecloud-Sandbox: 1. Dữ liệu tách khỏi máy thật, hết hạn theo TTL và không có IP để deploy ứng dụng.

## Làm sao chắc chắn đang thử miễn phí?

Thêm `X-Vibecloud-Sandbox: 1` vào route tạo thật, hoặc dùng prefix `/api/sandbox`. Response phải có `sandbox: true`; dừng nếu kết quả không đúng môi trường bạn đã chọn.


```bash
curl -sS -X POST "$MONACLOUD_API/api/lxc" \
  -H "Authorization: Bearer $MONACLOUD_TOKEN" \
  -H "X-Vibecloud-Sandbox: 1" \
  -H "Content-Type: application/json" \
  -d '{"app_name":"app-demo","cpu":1,"ram_gb":1,"disk_gb":10}'
```

Sandbox không gọi Proxmox và không trừ ví. IP nằm trong dải giả `10.99.x.x`; mật khẩu và connection string cũng giả.

## Sandbox có những giới hạn gì?

Không SSH, không chạy source, không kiểm chứng tốc độ website hay năng lực database thật. Dữ liệu tự dọn sau TTL mặc định 24 giờ; đây không phải gói hosting miễn phí.

Job chuyển `queued → running → done` sau vài giây. Job thật dùng `succeeded`, nên agent cần xử lý cả hai trạng thái đúng ngữ cảnh.

## Đọc danh sách sandbox có cần header không?

Có. Danh sách mặc định chỉ trả tài nguyên thật. Thêm header để chỉ lấy sandbox, hoặc `include_sandbox=1` để gộp cả hai.


```bash
curl -sS "$MONACLOUD_API/api/services" \
  -H "Authorization: Bearer $MONACLOUD_TOKEN" \
  -H "X-Vibecloud-Sandbox: 1"
```

Lookup theo ID của job/service tự tìm sang kho sandbox nếu không thấy bản ghi thật. Start, stop, rebuild và delete theo ID cũng hỗ trợ fallback; luôn đọc cờ sandbox trong kết quả.

## Chuyển sang thật cần thay gì?

Bỏ prefix/header sandbox sau khi người dùng duyệt chi phí. Dùng ID thật mới được tạo; không tái sử dụng IP hoặc credential giả. Đọc [tạo VPS](/docs/tao-vps) để biết bước tiếp theo.

## Có thử app từ git được không?

Có. `POST /api/apps` với `X-Vibecloud-Sandbox: 1`, `cloud_app_create` với `sandbox=true`, hoặc CLI `npx monacloud deploy --repo <url> --sandbox` trả job, URL giả và ước tính app host, phí 0đ. Route `POST /api/app-hosts` không nhận sandbox; thử qua app create. Xem [deploy Node.js](/docs/deploy-nodejs).

## Prompt mẫu cho AI


```text
Thử toàn bộ luồng trên sandbox 0đ. Xác minh sandbox: true ở từng kết quả, poll đến done và kiểm tra start/stop. Không SSH vào 10.99.x.x, không nói app đã online và không tự chuyển sang tài nguyên thật.
```

Trước: [SSH và console: vào máy vừa tạo](/docs/ssh-va-console) · Tiếp: [API reference: endpoint và ví dụ curl](/docs/api)

[Đọc trang HTML](https://monacloud.vn/docs/sandbox)
