Empieza aquí
Despliega un sitio (SaaS)
Los sitios son aplicaciones web completas y aisladas — frontend, servidor, base de datos, almacenamiento y una URL en vivo. Normalmente un agente los construye y los despliega por ti; esta es la API subyacente, que también puedes llamar directamente.
El modelo
Cada sitio es su propia aplicación en la nube, aislada, servida en <slug>.commandagi.app. Envías un módulo de servidor (un módulo ES cuya exportación por defecto es { fetch(request, env, ctx) } — SSR, rutas de API, cualquier cosa dinámica) y/o archivos estáticos. Las variables de entorno, una base de datos SQL gestionada, el almacenamiento blob/KV y los dominios personalizados se conectan bajo demanda y quedan integrados automáticamente en la aplicación.
1. Crea un sitio
# Create a site → it gets a slug and a live URL.
curl https://api.commandagi.com/sites \
-H "Authorization: Bearer $COMMANDAGI_API_KEY" \
-H "content-type: application/json" \
-d '{ "name": "My app", "slug": "my-app" }'
# → { "site": { "id": "…", "slug": "my-app", "url": "https://my-app.commandagi.app" } }2. Despliega una compilación
Compila tu aplicación en una máquina (un agente lo hace por ti con la herramienta deploy_site), y luego envía el módulo de servidor empaquetado y los recursos. Cada despliegue se realiza en segundos y queda registrado en el historial del sitio.
# Deploy a build: a server module (SSR / API routes) and/or static files.
curl https://api.commandagi.com/sites/$SITE_ID/deploy \
-H "Authorization: Bearer $COMMANDAGI_API_KEY" \
-H "content-type: application/json" \
-d '{
"entry": "export default { async fetch(req, env){ return new Response(\"hi from \" + env.GREETING) } }",
"files": [{ "path": "index.html", "content": "<h1>Hello</h1>" }],
"spaFallback": true
}'3. Variables de entorno y secretos
Persisten entre despliegues; los secretos se cifran en reposo y son de solo escritura. Vuelve a desplegar para aplicarlos.
# Persistent env vars + secrets (read via env.KEY in the server module).
curl -X PUT https://api.commandagi.com/sites/$SITE_ID/env \
-H "Authorization: Bearer $COMMANDAGI_API_KEY" \
-H "content-type: application/json" \
-d '{ "key": "STRIPE_KEY", "value": "sk_live_…", "secret": true }'4. Base de datos, almacenamiento y dominios
Aprovisiona un recurso gestionado y queda vinculado a la aplicación — una base de datos SQL D1 como env.DB, un bucket R2 como env.BLOB, o un almacén KV como env.KV. Vincula un dominio personalizado (con TLS automático) mediante POST /sites/$SITE_ID/domains.
# Attach a managed database (env.DB), blob bucket (env.BLOB), or KV store (env.KV).
curl https://api.commandagi.com/sites/$SITE_ID/resources \
-H "Authorization: Bearer $COMMANDAGI_API_KEY" \
-H "content-type: application/json" \
-d '{ "kind": "d1" }' # d1 | r2 | kvO simplemente pídeselo a un agente
Todo el flujo está disponible para los agentes como herramientas — create_site, deploy_site, set_site_env, add_site_resource, add_site_domain. El camino más simple es decirle a un agente qué construir: escribe la aplicación, aprovisiona lo que necesita y la despliega.