Install an app template on a VPS/Cloud site.
Starts a background installation. Poll get_app_status() for progress.
Requires: API key with write scope. VPS or Cloud plan only.
Args:
slug: Site identifier
template: App template slug. Available: django, laravel, nextjs, nodejs,
nuxtjs, rails, static, forge
app_name: Short name for the app (2-50 chars, lowercase alphanumeric + hyphens).
Used as subdomain: {app_name}.{site_domain}
db_type: Database type. "none", "mysql", or "postgresql" (depends on template)
domain: Custom domain override (default: {app_name}.{site_domain})
display_name: Human-friendly name (default: derived from app_name)
Returns:
{"id": "uuid", "app_name": "forge", "status": "installing",
"message": "Installation started. Poll for progress."}
Errors:
FORBIDDEN: Plan does not support apps (shared plans)
VALIDATION_ERROR: Invalid template, app_name, or duplicate name