66 lines
1.8 KiB
Markdown
66 lines
1.8 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 |
|
|
|
|
### 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.
|