Open Source|All improvements go through Pull Requests with automated CI checks before review by@Leo-Galli|Join Discord|Contributing guide
Backend API reference

Backend — API reference

All REST endpoints, configuration and examples.

Configuration

VariableDefaultDescription
AETHERIS_BACKEND_DBbackend/aetheris.dbSQLite path
AETHERIS_SECRETHMAC signing secret
AETHERIS_TOKEN_TTL86400Token lifetime (seconds)
AETHERIS_CORS_ORIGINS*CORS origins
ADMIN_EMAILadmin@example.comSeeded admin email
ADMIN_PASSWORDadmin-aetheris-2026Seeded admin password

Endpoints

MethodPathAuthDescription
GET/healthHealth check
POST/api/auth/loginLogin → bearer token
GET/api/auth/meuserCurrent user
GET/api/auth/usersadminList users
GET/api/nodesuserList nodes
POST/api/nodesadminCreate node
GET/api/nodes/{id}/telemetryuserNode telemetry
GET/api/serversuserList servers
GET/api/servers/plansuserList plans
POST/api/serversadminProvision server
POST/api/servers/{id}/poweruserstart / stop / restart
DELETE/api/servers/{id}adminTerminate server
GET/api/billing/summaryuserBilling summary
GET/api/billing/invoicesuserList invoices
POST/api/billing/invoices/{id}/payuserPay invoice
GET/api/themeCurrent theme
PUT/api/themeadminUpdate theme
GET/api/system/statusVersion, update check
GET/api/system/cronuserList cron jobs
POST/api/system/cronadminCreate cron job
PATCH/api/system/cron/{id}adminUpdate cron job
DELETE/api/system/cron/{id}adminDelete cron job
POST/api/system/cron/{id}/runadminTrigger job
GET/api/system/sftpuserList SFTP users
POST/api/system/sftpadminCreate SFTP user
PATCH/api/system/sftp/{id}adminUpdate SFTP user
DELETE/api/system/sftp/{id}adminDelete SFTP user

Login example

curl -sS http://127.0.0.1:8000/api/auth/login \
  -H 'Content-Type: application/json' \
  -d '{"email":"admin@example.com","password":"admin-aetheris-2026"}'

Tests

pip install -r requirements-dev.txt
pytest -q

See also: API authentication, Backend overview.