Bugfix and Docs
This commit is contained in:
@@ -1,16 +1,21 @@
|
||||
# API-Referenz
|
||||
|
||||
Ripster bietet eine **REST-API** für alle Operationen sowie einen **WebSocket-Endpunkt** für Echtzeit-Updates.
|
||||
Ripster bietet eine REST-API für Steuerung/Verwaltung sowie einen WebSocket-Endpunkt für Echtzeit-Updates.
|
||||
|
||||
---
|
||||
|
||||
## Basis-URL
|
||||
|
||||
```
|
||||
```text
|
||||
http://localhost:3001
|
||||
```
|
||||
|
||||
Konfigurierbar über die Umgebungsvariable `PORT`.
|
||||
API-Prefix: `/api`
|
||||
|
||||
Beispiele:
|
||||
|
||||
- `GET /api/health`
|
||||
- `GET /api/pipeline/state`
|
||||
|
||||
---
|
||||
|
||||
@@ -18,11 +23,19 @@ Konfigurierbar über die Umgebungsvariable `PORT`.
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- :material-heart-pulse: **Health**
|
||||
|
||||
---
|
||||
|
||||
Service-Liveness.
|
||||
|
||||
`GET /api/health`
|
||||
|
||||
- :material-pipe: **Pipeline API**
|
||||
|
||||
---
|
||||
|
||||
Pipeline-Steuerung: Analyse starten, Metadaten setzen, Ripping und Encoding steuern.
|
||||
Analyse, Start/Retry/Cancel, Queue, Re-Encode.
|
||||
|
||||
[:octicons-arrow-right-24: Pipeline API](pipeline.md)
|
||||
|
||||
@@ -30,7 +43,7 @@ Konfigurierbar über die Umgebungsvariable `PORT`.
|
||||
|
||||
---
|
||||
|
||||
Einstellungen lesen und schreiben.
|
||||
Einstellungen, Skripte/Ketten, User-Presets.
|
||||
|
||||
[:octicons-arrow-right-24: Settings API](settings.md)
|
||||
|
||||
@@ -38,7 +51,7 @@ Konfigurierbar über die Umgebungsvariable `PORT`.
|
||||
|
||||
---
|
||||
|
||||
Job-Geschichte abfragen, Jobs löschen, Orphan-Ordner importieren.
|
||||
Job-Historie, Orphan-Import, Löschoperationen.
|
||||
|
||||
[:octicons-arrow-right-24: History API](history.md)
|
||||
|
||||
@@ -46,7 +59,7 @@ Konfigurierbar über die Umgebungsvariable `PORT`.
|
||||
|
||||
---
|
||||
|
||||
Cron-Jobs verwalten, manuell auslösen und Ausführungs-Logs abrufen.
|
||||
Zeitgesteuerte Skript-/Kettenausführung.
|
||||
|
||||
[:octicons-arrow-right-24: Cron API](crons.md)
|
||||
|
||||
@@ -54,7 +67,7 @@ Konfigurierbar über die Umgebungsvariable `PORT`.
|
||||
|
||||
---
|
||||
|
||||
Echtzeit-Events für Pipeline-Status, Fortschritt und Disc-Erkennung.
|
||||
Pipeline-, Queue-, Disk-, Settings-, Cron- und Monitoring-Events.
|
||||
|
||||
[:octicons-arrow-right-24: WebSocket](websocket.md)
|
||||
|
||||
@@ -64,30 +77,41 @@ Konfigurierbar über die Umgebungsvariable `PORT`.
|
||||
|
||||
## Authentifizierung
|
||||
|
||||
Die API hat **keine Authentifizierung**. Sie ist für den Einsatz im lokalen Netzwerk konzipiert.
|
||||
|
||||
!!! warning "Produktionsbetrieb"
|
||||
Falls Ripster öffentlich erreichbar sein soll, schütze die API mit einem Reverse-Proxy (z. B. nginx mit Basic Auth oder OAuth).
|
||||
Es gibt keine eingebaute Authentifizierung. Ripster ist für lokalen Betrieb gedacht.
|
||||
|
||||
---
|
||||
|
||||
## Fehlerformat
|
||||
|
||||
Alle API-Fehler werden im folgenden Format zurückgegeben:
|
||||
Fehler werden zentral als JSON geliefert:
|
||||
|
||||
```json
|
||||
{
|
||||
"error": "Job nicht gefunden",
|
||||
"details": "Kein Job mit ID 999 vorhanden"
|
||||
"error": {
|
||||
"message": "Job nicht gefunden.",
|
||||
"statusCode": 404,
|
||||
"reqId": "req_...",
|
||||
"details": [
|
||||
{
|
||||
"field": "name",
|
||||
"message": "Name darf nicht leer sein."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
HTTP-Statuscodes:
|
||||
`details` ist optional (z. B. bei Validierungsfehlern).
|
||||
|
||||
---
|
||||
|
||||
## Häufige Statuscodes
|
||||
|
||||
| Code | Bedeutung |
|
||||
|-----|-----------|
|
||||
|------|-----------|
|
||||
| `200` | Erfolg |
|
||||
| `400` | Ungültige Anfrage |
|
||||
| `201` | Ressource erstellt |
|
||||
| `400` | Ungültige Anfrage / Validierungsfehler |
|
||||
| `404` | Ressource nicht gefunden |
|
||||
| `409` | Konflikt (z.B. Pipeline bereits aktiv) |
|
||||
| `500` | Interner Serverfehler |
|
||||
| `409` | Konflikt (z. B. falscher Pipeline-Zustand, Job läuft bereits) |
|
||||
| `500` | Interner Fehler |
|
||||
|
||||
Reference in New Issue
Block a user