API Reference
The Core Daemon serves a REST API at http://127.0.0.1:57474.
All requests require the X-Saba-Token header:
X-Saba-Token: <contents of .ipc_token file>
Token file location: %APPDATA%/saba-chan/.ipc_token
On 401 response, re-read the token file and retry once.
| Method | Endpoint | Description |
|---|
GET | /api/servers | List server runtime states |
GET | /api/server/{name}/status | Server status |
POST | /api/server/{name}/start | Start server |
POST | /api/server/{name}/stop | Stop server |
| Method | Endpoint | Description |
|---|
GET | /api/instances | List instances |
GET | /api/instance/{id} | Instance details |
POST | /api/instances | Create instance |
PATCH | /api/instance/{id} | Update instance settings |
DELETE | /api/instance/{id} | Delete instance |
PUT | /api/instances/reorder | Reorder instances |
POST | /api/instance/{id}/validate | Validate settings |
GET | /api/instance/{id}/properties | Read server properties |
PUT | /api/instance/{id}/properties | Write server properties |
POST | /api/instance/{id}/accept-eula | Accept EULA |
POST | /api/instance/{id}/diagnose | Diagnose server |
POST | /api/instance/{id}/server/reset | Reset server |
POST | /api/instance/{id}/properties/reset | Reset properties |
| Method | Endpoint | Description |
|---|
POST | /api/instance/{id}/managed/start | Start managed server (stdin/stdout capture) |
GET | /api/instance/{id}/console | Get console output |
POST | /api/instance/{id}/stdin | Send stdin text |
| Method | Endpoint | Description |
|---|
GET | /api/modules | List modules |
GET | /api/module/{name} | Module details |
POST | /api/modules/refresh | Refresh modules |
GET | /api/module/{name}/versions | List versions |
POST | /api/module/{name}/install | Install server |
GET | /api/modules/manifest | Remote module manifest |
POST | /api/modules/manifest/{id}/install | Install from manifest |
DELETE | /api/modules/{id} | Delete module |
| Method | Endpoint | Description |
|---|
GET | /api/extensions | List extensions |
POST | /api/extensions/{id}/enable | Enable |
POST | /api/extensions/{id}/disable | Disable |
POST | /api/extensions/{id}/install | Install |
DELETE | /api/extensions/{id} | Delete |
GET | /api/extensions/manifest | Remote manifest |
GET | /api/extensions/updates | Check updates |
POST | /api/extensions/rescan | Rescan |
GET | /api/extensions/init-status | Initialization status |
| Method | Endpoint | Description |
|---|
POST | /api/updates/check | Check for updates |
GET | /api/updates/status | Update status |
POST | /api/updates/download | Download update |
POST | /api/updates/apply | Apply update |
GET | /api/updates/config | Updater config |
POST | /api/updates/config | Update config |
GET | /api/install/status | Install status |
POST | /api/install/run | Initial install |
POST | /api/install/component/{key} | Install specific component |
GET | /api/install/progress | Install progress |
| Method | Endpoint | Description |
|---|
POST | /api/client/register | Register client |
POST | /api/client/{id}/heartbeat | Client heartbeat |
DELETE | /api/client/{id}/unregister | Unregister client |
GET | /api/config/bot | Get bot config |
PUT | /api/config/bot | Save bot config |
GET | /api/provision-progress/{name} | Provisioning status |
DELETE | /api/provision-progress/{name} | Clear provisioning |
# List servers
$token = Get-Content "$env:APPDATA\saba-chan\.ipc_token"
$headers = @{ "X-Saba-Token" = $token }
Invoke-RestMethod -Uri "http://127.0.0.1:57474/api/servers" -Headers $headers
# Create instance
$body = @{ name = "My Server"; module = "palworld" } | ConvertTo-Json
Invoke-RestMethod -Method POST -Uri "http://127.0.0.1:57474/api/instances" `
-Headers $headers -Body $body -ContentType "application/json"