# REST-API Alle Funktionen des Web-UI sind auch per REST-API verfügbar. Basis-URL: `http://:8484` ## Endpunkte ### System | Methode | Pfad | Beschreibung | |---------|------|-------------| | `GET` | `/api/health` | Health Check (kein Auth nötig) | | `GET` | `/api/config` | Konfiguration lesen | | `PUT` | `/api/config` | Konfiguration speichern | ### Jobs | Methode | Pfad | Beschreibung | |---------|------|-------------| | `GET` | `/api/jobs` | Alle Jobs auflisten | | `POST` | `/api/jobs` | Neuen Job erstellen | | `GET` | `/api/jobs/:id` | Job-Details abrufen | | `PUT` | `/api/jobs/:id` | Job aktualisieren | | `DELETE` | `/api/jobs/:id` | Job löschen | | `POST` | `/api/jobs/:id/record` | Job-Aufnahme starten | ### Senderbibliothek | Methode | Pfad | Beschreibung | |---------|------|-------------| | `GET` | `/api/stations` | Alle gespeicherten Sender auflisten | | `POST` | `/api/stations` | Neuen Sender erstellen | | `GET` | `/api/stations/:id` | Sender-Details abrufen | | `PUT` | `/api/stations/:id` | Sender aktualisieren | | `DELETE` | `/api/stations/:id` | Sender löschen | ### Schnellaufnahme | Methode | Pfad | Beschreibung | |---------|------|-------------| | `POST` | `/api/quick-record` | Schnellaufnahme starten | ```json { "url": "rtmp://example.com/live/stream", "name": "Meine Aufnahme", "stream_type": "auto", "max_duration": 3600 } ``` ### Aufnahmen | Methode | Pfad | Beschreibung | |---------|------|-------------| | `GET` | `/api/recordings` | Alle Aufnahmen (Parameter: `active_only`, `limit`) | | `GET` | `/api/recordings/:id` | Aufnahme-Status | | `POST` | `/api/recordings/:id/stop` | Aufnahme stoppen | | `POST` | `/api/recordings/:id/extend?minutes=30` | Aufnahme verlängern | | `POST` | `/api/recordings/:id/unlimited` | Zeitlimit entfernen | ### Logs | Methode | Pfad | Beschreibung | |---------|------|-------------| | `GET` | `/api/logs` | Protokoll (Parameter: `limit`, `level`) | ## Authentifizierung Bei aktiviertem Auth wird Basic Authentication verwendet: ```bash curl -u admin:passwort http://localhost:8484/api/jobs ``` Der Health-Endpunkt (`/api/health`) ist immer ohne Auth erreichbar.