This page provides detailed documentation for all API endpoints. All endpoints require authentication unless otherwise noted.
Deployments
/api/deployments List all deployments.
Response
[
{
"name": "my-wordpress",
"path": "/var/flatrun/deployments/my-wordpress",
"status": "running",
"created_at": "2024-01-01T00:00:00Z",
"services": [
{"name": "wordpress", "status": "running", "health": "healthy"}
]
}
] /api/deployments/:name Get detailed information about a specific deployment.
Parameters
name— Deployment name
/api/deployments Create a new deployment.
Request Body
{
"name": "my-app",
"template_id": "wordpress", // Optional: use template
"compose": "...", // Optional: raw compose content
"port": 8080, // Optional: external port
"auto_start": true // Optional: start after creation
} /api/deployments/:name/start Start a stopped deployment.
/api/deployments/:name/stop Stop a running deployment.
/api/deployments/:name/restart Restart a deployment.
/api/deployments/:name Delete a deployment.
Query Parameters
remove_files— Also delete deployment directory (default: false)
/api/deployments/:name/logs Get deployment logs.
Query Parameters
service— Filter by service nametail— Number of lines (default: 100)follow— Stream logs (SSE)
/api/deployments/:name/stats Get resource usage statistics for all containers in deployment.
Containers
/api/containers List all Docker containers.
Query Parameters
all— Include stopped containers (default: true)
/api/containers/:id/start Start a container.
/api/containers/:id/stop Stop a container.
/api/containers/:id/restart Restart a container.
/api/containers/:id Remove a container (must be stopped).
/api/containers/:id/logs Get container logs.
Templates
/api/templates List all available templates.
/api/templates/categories Get template categories with counts.
/api/templates/refresh Reload templates from disk.
/api/templates/:id/compose Get template's docker-compose.yml content.
Certificates
/api/certificates List all SSL certificates.
/api/certificates Request a new SSL certificate.
Request Body
{
"domain": "example.com"
} /api/certificates/renew Renew all expiring certificates.
/api/certificates/:domain Delete a certificate.
Proxy
/api/proxy/status/:name Get proxy configuration status for a deployment.
/api/proxy/setup/:name Configure reverse proxy for a deployment.
Request Body
{
"domain": "app.example.com",
"port": 80,
"ssl": true
} /api/proxy/:name Remove proxy configuration.
Databases
/api/databases/test Test database connection.
/api/databases/list List all databases on the server.
/api/databases/tables List tables in a database.
Request Body
{
"database": "myapp"
} /api/databases/query Execute a SQL query.
Request Body
{
"database": "myapp",
"query": "SELECT * FROM users LIMIT 10"
} /api/databases/create Create a new database.
/api/databases/users/create Create a database user.
/api/databases/privileges/grant Grant privileges to a user.
Infrastructure
/api/infrastructure List infrastructure services.
/api/infrastructure/:name/start Start an infrastructure service.
/api/infrastructure/:name/stop Stop an infrastructure service.
System
/api/health Health check endpoint (no auth required).
Response
{
"status": "ok",
"version": "0.1.4",
"uptime": "24h30m"
} /api/settings Get current agent settings.
/api/settings Update agent settings.