This chapter is for system administrators and developers.

System Management API

The NeuralDrive System Management API provides programmatic access to system operations, monitoring, and configuration.

Access and Endpoints

The API is accessible over HTTPS:

  • URL: https://<IP>:8443/system/

Internally, the neuraldrive-system-api service runs on port 3001 and is proxied by Caddy to port 8443.

Authentication

All requests to the System Management API require a Bearer token for authentication. This is the same token used for the inference API and can be found in /etc/neuraldrive/api.key.

Common Endpoints

MethodPathPurpose
GET/system/statusCPU, RAM, disk, uptime, and system version.
GET/system/servicesList all neuraldrive-* services and their status.
POST/system/services/{name}/restartRestart a specific service.
POST/system/services/{name}/{action}Start or stop a specific service.
GET/system/logsService log tailing (query params: service, lines).
GET/system/storageDetailed disk usage (models and persistence).
GET/system/networkInterfaces, hostname, and mDNS status.
POST/system/network/hostnameSet a new system hostname.
GET/system/gpuGPU vendor, device names, VRAM usage, and temperature.
POST/system/ssh/{action}Enable or disable SSH access.
GET/system/securityFirewall, TLS, and SSH status.
POST/system/api-keys/rotateRotate the system API key.
GET/system/ca-certDownload the root CA certificate (no authentication required).

Implementation Details

The API is implemented using FastAPI and is served by Uvicorn. The application environment is located at /usr/lib/neuraldrive/api/.

For security reasons, only services prefixed with neuraldrive- can be managed through the API.

See Also