Skip to content
KRATOSStreaming Control
Reference

Endpoints

KRATOS exposes viewer-facing playlist surfaces and an RPC-style control API used by the panel.

Viewer-facing (public)#

PathReturns
GET /playlist.m3uAll streams
GET /linear.m3u · /event.m3u · /vod.m3u · /replay.m3uFiltered by type / recordings
GET /app1.confEnigma2 service list
GET /stream/{provider}/{sid}/index.m3u8Repackaged master playlist
GET :epgport/{provider}[.xml|.xml.gz]Schedule table or XMLTV
Playlists, /stream/…/index.m3u8 and /replay/… require ?token=<playback token>. Each user's token is shown in the panel and changes when their password changes. Segment and key URLs inside playlists are HMAC-signed by the server, so the proxy cannot be used to fetch arbitrary URLs.

Control API#

The UI uses an RPC-style API. Requests are POST with a JSON body carrying Token, and each route is available both at the root and under /api/.

GroupRoutes
Authmisc/login, api/login, api/me
Providerprovider/{get,add,edit,delete,export,import,rescan,massupdate,backup}
Streamstream/{status,get,add,edit,delete,rename,refresh,start,stop,monitoring}
DRM toolsstream/{refreshkeys,flushkeys,probekeys,probemanifest}
Catalogue{event,vod,channel}/{get,refreshrequest,refreshapply}
Recordingrecording/{get,add,edit,delete,stop}, replay/{get,delete}
Accountsaccount/{get,add,edit,delete,import,…,pairstart,pairstop,login}
Users & logsuser/{get,add,edit,delete,rename}, log/{get,clean,getconf,setconf}
Systemsave, applyglobalnetwork, shutdown, server/*, api/status, api/license
The control API needs a session token (12-hour idle expiry; repeated failed logins are throttled per IP). Do not expose it publicly without a TLS reverse proxy — see Deployment.