{"openapi":"3.1.0","info":{"title":"Documentr API","version":"1.0.0","description":"REST API für KI-gestützte Dokumentenverwaltung. Authentifizierung per Bearer-Token (API-Schlüssel).","contact":{"name":"Documentr","url":"https://documentr.app/developers/api"}},"servers":[{"url":"https://documentr.app","description":"Production"}],"paths":{"/api/v1/documents/{uuid}/download":{"get":{"tags":["Documents"],"parameters":[{"name":"uuid","in":"path","required":true,"schema":{"type":"string"},"description":"Dokument-UUID"}],"responses":{"200":{"description":"PDF-Datei","content":{"application/pdf":{}}},"401":{"description":"Unauthorized"},"404":{"description":"Dokument nicht gefunden"}},"description":"PDF-Datei eines Dokuments herunterladen","security":[{"bearerAuth":[]}]}},"/api/v1/documents/{uuid}":{"get":{"tags":["Documents"],"parameters":[{"name":"uuid","in":"path","required":true,"schema":{"type":"string"},"description":"Dokument-UUID"}],"responses":{"200":{"description":"Dokument-Details"},"401":{"description":"Unauthorized"},"404":{"description":"Dokument nicht gefunden"}},"description":"Einzeldokument per UUID abrufen (Titel, Zusammenfassung, Absender, Tags, Ordner)","security":[{"bearerAuth":[]}]}},"/api/v1/documents":{"get":{"tags":["Documents"],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":50,"minimum":1,"maximum":100},"description":"Anzahl Ergebnisse (1–100, Standard: 50)"},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0},"description":"Offset für Pagination"},{"name":"tag","in":"query","schema":{"type":"string"},"description":"Nach Tag filtern"},{"name":"folder","in":"query","schema":{"type":"string"},"description":"Nach Ordner filtern"},{"name":"sender","in":"query","schema":{"type":"string"},"description":"Nach Absender filtern"},{"name":"favorite","in":"query","schema":{"type":"boolean"},"description":"Nur Favoriten"},{"name":"archived","in":"query","schema":{"type":"boolean"},"description":"Nur archivierte"},{"name":"fromDate","in":"query","schema":{"type":"string","format":"date"},"description":"Ab Datum (ISO 8601)"},{"name":"toDate","in":"query","schema":{"type":"string","format":"date"},"description":"Bis Datum (ISO 8601)"}],"responses":{"200":{"description":"Paginierte Dokumentliste"},"401":{"description":"Unauthorized"}},"description":"Dokumente auflisten mit optionalen Filtern und Pagination","security":[{"bearerAuth":[]}]}},"/api/v1/documents/search-content":{"post":{"tags":["Search"],"parameters":[],"responses":{"200":{"description":"Semantische Suchergebnisse"},"401":{"description":"Unauthorized"}},"description":"Semantische Suche im Dokumentinhalt per Vektorähnlichkeit (RAG)","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Suchanfrage in natürlicher Sprache"},"limit":{"type":"number","description":"Max. Ergebnisse (Standard: 15, Max: 50)"}}}}}}}},"/api/v1/documents/search":{"post":{"tags":["Search"],"parameters":[],"responses":{"200":{"description":"Suchergebnisse"},"401":{"description":"Unauthorized"}},"description":"Textsuche über Dokumente (Titel, Zusammenfassung, Absender) mit Trigram-Ähnlichkeit","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Suchbegriff"}}}}}}}},"/api/v1/folders":{"get":{"tags":["Folders"],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":50,"minimum":1,"maximum":100},"description":"Anzahl Ergebnisse (1–100, Standard: 50)"},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0},"description":"Offset für Pagination"}],"responses":{"200":{"description":"Paginierte Ordner-Liste"},"401":{"description":"Unauthorized"}},"description":"Alle Ordner mit Dokument-Anzahl auflisten (paginiert)","security":[{"bearerAuth":[]}]}},"/api/v1/stats":{"get":{"tags":["Statistics"],"parameters":[],"responses":{"200":{"description":"Statistiken"},"401":{"description":"Unauthorized"}},"description":"Bibliotheksstatistiken abrufen (Gesamtzahl, analysiert, archiviert, Favoriten, Tags, Ordner)","security":[{"bearerAuth":[]}]}},"/api/v1/tags":{"get":{"tags":["Tags"],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":50,"minimum":1,"maximum":100},"description":"Anzahl Ergebnisse (1–100, Standard: 50)"},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0},"description":"Offset für Pagination"}],"responses":{"200":{"description":"Paginierte Tag-Liste"},"401":{"description":"Unauthorized"}},"description":"Alle Tags mit Dokument-Anzahl auflisten (paginiert)","security":[{"bearerAuth":[]}]}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API-Key im Format dk_..."}}}}