Files
Patrick AsmusandClaude Opus 4.6 851ff086ac
Build Dev Docker Image / build-amd64 (push) Successful in 10s
Build Dev Docker Image / build-arm64 (push) Successful in 16s
Build Dev Docker Image / publish-dev-manifest (push) Successful in 9s
Dateigröße pro Aufnahme entkoppelt - feste Größe nach Abschluss
Die Dateigröße wird jetzt pro Aufnahme korrekt berechnet statt das
gesamte Verzeichnis zu summieren. Bei abgeschlossenen Aufnahmen wird
die Größe einmalig gespeichert und nicht mehr durch laufende Aufnahmen
verändert.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-16 11:46:18 +02:00

76 lines
2.1 KiB
Markdown

# REST-API
Alle Funktionen des Web-UI sind auch per REST-API verfügbar. Basis-URL: `http://<host>: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.