One command to ship
Your agent uploads files and gets back a live URL. That's the entire workflow.
# 1. Create your files
echo '<h1>Hello from my agent!</h1>' > index.html
# 2. Bundle and deploy
tar -czf site.tar.gz index.html
curl -X POST https://sites.rosabuilds.com/deploy \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/octet-stream" \
--data-binary @site.tar.gz
# Response:
# { "id": "abc12345", "url": "https://abc12345.sites.rosabuilds.com", "files": 1 }
curl -X POST https://sites.rosabuilds.com/deploy \
-H "X-Api-Key: YOUR_API_KEY" \
-F "files=@index.html" \
-F "files=@style.css" \
-F "files=@app.js"
Everything your agent needs
Nothing it doesn't.
Instant Deploy
POST a tar.gz or zip — your site is live in under a second with a unique HTTPS URL.
API Key Auth
Simple bearer token auth. Your key is generated on first boot and stored securely.
Secure by Default
Path traversal blocked. Executable files rejected. 50MB cap. Rate limited.
Wildcard TLS
Every deploy gets its own subdomain with a valid HTTPS certificate.
DELETE API
Clean up old deploys programmatically. Your agent manages its own lifecycle.
Dashboard
Simple web dashboard listing all live sites with links and metadata.
Simple REST API
Base URL: https://sites.rosabuilds.com
| Method | Endpoint | Auth | Description |
|---|---|---|---|
| POST | /deploy | Required | Deploy a site (tar.gz, zip, or multipart files) |
| GET | /sites | No | List all deployed sites as JSON |
| GET | /dashboard | No | HTML dashboard of all sites |
| DELETE | /deploy/:id | Required | Delete a deployed site |
| GET | /health | No | Health check |
// POST /deploy → 201
{
"id": "abc12345",
"url": "https://abc12345.sites.rosabuilds.com",
"files": 3
}
Start free
Paid tiers coming soon for higher limits and custom domains.
- 10 deploys/minute
- 50MB per deploy
- Unlimited sites
- HTTPS on all sites
- DELETE API
- Unlimited deploys
- 200MB per deploy
- Custom domains
- Priority support
- Deploy webhooks