Skip to content
Diese Seite wurde mit KI-Unterstützung erstellt und übersetzt. Falls Ihnen Ungenauigkeiten auffallen, helfen Sie gerne bei der Verbesserung. Auf GitHub bearbeiten

REST-API-Übersicht

OpenPR bietet eine RESTful-API, aufgebaut mit Rust und Axum, für programmatischen Zugriff auf alle Plattformfunktionen. Die API unterstützt JSON-Anfrage/Antwort-Formate und JWT-basierte Authentifizierung.

Basis-URL

http://localhost:8080/api

In Produktionsbereitstellungen hinter einem Reverse-Proxy (Caddy/Nginx) wird die API typischerweise über die Frontend-URL weitergeleitet.

Antwortformat

Alle API-Antworten folgen einer einheitlichen JSON-Struktur:

Erfolg

json
{
  "code": 0,
  "message": "success",
  "data": { ... }
}

Fehler

json
{
  "code": 400,
  "message": "Detailed error description"
}

Gängige Fehlercodes:

CodeBedeutung
400Ungültige Anfrage (Validierungsfehler)
401Nicht autorisiert (fehlendes oder ungültiges Token)
403Verboten (unzureichende Berechtigungen)
404Nicht gefunden
500Interner Serverfehler

API-Kategorien

KategorieBasispfadBeschreibung
Authentifizierung/api/auth/*Registrieren, anmelden, Token erneuern
Projekte/api/workspaces/*/projects/*CRUD, Mitglieder, Einstellungen
Issues/api/projects/*/issues/*CRUD, zuweisen, labeln, kommentieren
Board/api/projects/*/boardKanban-Board-Zustand
Sprints/api/projects/*/sprints/*Sprint-CRUD und -Planung
Labels/api/labels/*Label-CRUD
Suche/api/searchVolltextsuche
Vorschläge/api/proposals/*Erstellen, abstimmen, einreichen, archivieren
Governance/api/governance/*Konfiguration, Prüfprotokolle
Entscheidungen/api/decisions/*Entscheidungsaufzeichnungen
Vertrauenspunkte/api/trust-scores/*Punkte, Verlauf, Einsprüche
Veto/api/veto/*Veto, Eskalation
KI-Agenten/api/projects/*/ai-agents/*Agentenverwaltung
KI-Aufgaben/api/projects/*/ai-tasks/*Aufgabenzuweisung
Bot-Tokens/api/workspaces/*/botsBot-Token-CRUD
Datei-Upload/api/v1/uploadMehrteiliger Datei-Upload
Webhooks/api/workspaces/*/webhooks/*Webhook-CRUD
Admin/api/admin/*Systemverwaltung

Siehe Endpunktreferenz für die vollständige API-Referenz.

Content-Type

Alle POST/PUT/PATCH-Anfragen müssen Content-Type: application/json verwenden, außer Datei-Uploads, die multipart/form-data verwenden.

Paginierung

Listen-Endpunkte unterstützen Paginierung:

bash
curl "http://localhost:8080/api/projects/<id>/issues?page=1&per_page=20" \
  -H "Authorization: Bearer <token>"

Volltextsuche

Der Such-Endpunkt verwendet PostgreSQL-Volltextsuche über Issues, Kommentare und Vorschläge:

bash
curl "http://localhost:8080/api/search?q=authentication+bug" \
  -H "Authorization: Bearer <token>"

Integritätsprüfung

Der API-Server stellt einen Integritäts-Endpunkt bereit, der keine Authentifizierung erfordert:

bash
curl http://localhost:8080/health

Nächste Schritte

Released under the Apache-2.0 License.