API Reference
Homeio exposes a REST API at http://your-server-ip:3000. All endpoints require the Authorization: Bearer <token> header after login.
Note: The API is currently unstable and may change between versions. Pin to a specific tag when scripting against it.
POST
Authentication
POST/api/auth/login
Authenticate with username and password to receive a session token.
Request body
{
"username": "admin",
"password": "your-password"
}Response
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": { "id": 1, "username": "admin" }
}GET
Apps
GET/api/apps
List all installed Docker Compose applications and their status.
Response
[
{
"id": "jellyfin",
"name": "Jellyfin",
"status": "running",
"cpu": 2.1,
"memory": 512
}
]GET
Files
GET/api/files?path=/home
List files and directories at the given path.
Response
{
"path": "/home",
"entries": [
{ "name": "movies", "type": "directory", "size": 1234567890 },
{ "name": "config.yml", "type": "file", "size": 4096 }
]
}GET
System
GET/api/system/stats
Get real-time CPU, memory, disk, and network statistics.
Response
{
"cpu": { "usage": 23.5, "cores": 4 },
"memory": { "used": 4831838208, "total": 8589934592 },
"disk": { "used": 359661568000, "total": 536870912000 },
"network": { "rx": 12300000, "tx": 4500000 }
}GET
Scheduled Tasks
GET/api/tasks
List all scheduled cron tasks.
Response
[
{
"id": "backup-daily",
"name": "Daily backup",
"schedule": "0 2 * * *",
"lastRun": "2024-01-15T02:00:00Z",
"status": "ok"
}
]