API Reference

The Core Daemon serves a REST API at http://127.0.0.1:57474.

Authentication

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.


Server API (Runtime)

MethodEndpointDescription
GET/api/serversList server runtime states
GET/api/server/{name}/statusServer status
POST/api/server/{name}/startStart server
POST/api/server/{name}/stopStop server

Instance API (Configuration)

MethodEndpointDescription
GET/api/instancesList instances
GET/api/instance/{id}Instance details
POST/api/instancesCreate instance
PATCH/api/instance/{id}Update instance settings
DELETE/api/instance/{id}Delete instance
PUT/api/instances/reorderReorder instances
POST/api/instance/{id}/validateValidate settings
GET/api/instance/{id}/propertiesRead server properties
PUT/api/instance/{id}/propertiesWrite server properties
POST/api/instance/{id}/accept-eulaAccept EULA
POST/api/instance/{id}/diagnoseDiagnose server
POST/api/instance/{id}/server/resetReset server
POST/api/instance/{id}/properties/resetReset properties

Console API

MethodEndpointDescription
POST/api/instance/{id}/managed/startStart managed server (stdin/stdout capture)
GET/api/instance/{id}/consoleGet console output
POST/api/instance/{id}/stdinSend stdin text

Module API

MethodEndpointDescription
GET/api/modulesList modules
GET/api/module/{name}Module details
POST/api/modules/refreshRefresh modules
GET/api/module/{name}/versionsList versions
POST/api/module/{name}/installInstall server
GET/api/modules/manifestRemote module manifest
POST/api/modules/manifest/{id}/installInstall from manifest
DELETE/api/modules/{id}Delete module

Extension API

MethodEndpointDescription
GET/api/extensionsList extensions
POST/api/extensions/{id}/enableEnable
POST/api/extensions/{id}/disableDisable
POST/api/extensions/{id}/installInstall
DELETE/api/extensions/{id}Delete
GET/api/extensions/manifestRemote manifest
GET/api/extensions/updatesCheck updates
POST/api/extensions/rescanRescan
GET/api/extensions/init-statusInitialization status

Update API

MethodEndpointDescription
POST/api/updates/checkCheck for updates
GET/api/updates/statusUpdate status
POST/api/updates/downloadDownload update
POST/api/updates/applyApply update
GET/api/updates/configUpdater config
POST/api/updates/configUpdate config
GET/api/install/statusInstall status
POST/api/install/runInitial install
POST/api/install/component/{key}Install specific component
GET/api/install/progressInstall progress

Bot / Client API

MethodEndpointDescription
POST/api/client/registerRegister client
POST/api/client/{id}/heartbeatClient heartbeat
DELETE/api/client/{id}/unregisterUnregister client
GET/api/config/botGet bot config
PUT/api/config/botSave bot config
GET/api/provision-progress/{name}Provisioning status
DELETE/api/provision-progress/{name}Clear provisioning

Example (PowerShell)

# 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"