API- Dokumentation
Alle Endpoints mit Parametern, Beispiel-Responses und kopierbaren curl-Befehlen. Für Einsteiger und Profis.
Erste Schritte
Authentifizierung
Die API nutzt Bearer-Token-Authentifizierung. Du brauchst einen API-Schlüssel, den du in den Einstellungen deines Accounts erstellen kannst.
So funktioniert es
dk_ und wird nur einmal angezeigt — kopiere ihn sofort.curl -H "Authorization: Bearer dk_dein_schlüssel" \
https://documentr.app/api/v1/statsDein API-Schlüssel wird serverseitig mit SHA-256 gehasht gespeichert. Er ist an deinen Account gebunden — du siehst nur deine eigenen Dokumente. Maximal 5 Schlüssel pro Account.
Dokumente
Dokumente-Endpoints
Dokumente auflisten, einzelne Dokumente abrufen und PDF-Dateien herunterladen.
/api/v1/documentsGibt eine paginierte Liste deiner Dokumente zurück. Du kannst nach Tags, Ordnern, Absender, Favoriten, Archiv-Status und Datum filtern. Alle Filter sind optional und kombinierbar.
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
limit | integer | Anzahl Ergebnisse pro Seite (Standard: 50 (max. 100)) |
offset | integer | Überspringt die ersten N Ergebnisse (für Pagination) (Standard: 0) |
tag | string | Filtert nach Dokumenten mit diesem Tag (Teilsuche, Groß-/Kleinschreibung egal) |
folder | string | Filtert nach Dokumenten in diesem Ordner (Teilsuche) |
sender | string | Filtert nach Absender (Teilsuche) |
favorite | boolean | Wenn true, nur favorisierte Dokumente |
archived | boolean | Wenn true, nur archivierte Dokumente (Standard: false) |
fromDate | string (date) | Nur Dokumente ab diesem Datum (ISO 8601, z.B. 2025-01-01) |
toDate | string (date) | Nur Dokumente bis zu diesem Datum |
Response
{
"data": [
{
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "Nebenkostenabrechnung 2024",
"summary": "Jährliche Nebenkostenabrechnung für die Wohnung in der Bergstraße 12.",
"sender": "Hausverwaltung Müller GmbH",
"documentDate": "2025-03-15T00:00:00.000Z",
"isFavorite": false,
"createdAt": "2025-03-20T14:30:00.000Z",
"folder": "Wohnung",
"tags": ["Nebenkosten", "2024", "Wohnung"]
}
],
"meta": {
"total": 142,
"limit": 50,
"offset": 0
}
}curl
curl -H "Authorization: Bearer dk_dein_schlüssel" \
"https://documentr.app/api/v1/documents?tag=Rechnung&limit=10"/api/v1/documents/:uuidGibt alle Details eines einzelnen Dokuments zurück, identifiziert per UUID. Enthält Titel, Zusammenfassung, Absender, Datum, Tags, Ordner und mehr.
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
uuid | string | Die UUID des Dokuments (findest du z.B. in der Dokumentliste) |
Response
{
"data": {
"info": "Dokument gefunden.",
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "Mietvertrag Bergstraße 12",
"summary": "Mietvertrag zwischen Max Mustermann und Hausverwaltung Müller GmbH für die 3-Zimmer-Wohnung in der Bergstraße 12, 10115 Berlin.",
"sender": "Hausverwaltung Müller GmbH",
"documentDate": "2023-07-01T00:00:00.000Z",
"createdAt": "2023-07-05T10:15:00.000Z",
"folder": "Wohnung",
"tags": ["Mietvertrag", "Wohnung", "2023"],
"isFavorite": true,
"isArchived": false,
"pageCount": 8,
"hasVectorData": true
}
}curl
curl -H "Authorization: Bearer dk_dein_schlüssel" \
"https://documentr.app/api/v1/documents/a1b2c3d4-e5f6-7890-abcd-ef1234567890"/api/v1/documents/:uuid/downloadGibt die originale PDF-Datei eines Dokuments als Download zurück. Der Response hat den Content-Type application/pdf.
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
uuid | string | Die UUID des Dokuments |
Response
(Binäre PDF-Datei — Content-Type: application/pdf)curl
curl -H "Authorization: Bearer dk_dein_schlüssel" \
-o dokument.pdf \
"https://documentr.app/api/v1/documents/a1b2c3d4-.../download"Suche
Suche-Endpoints
Zwei Suchvarianten: Textsuche über Metadaten und semantische Suche im Dokumentinhalt.
/api/v1/documents/searchDurchsucht Titel, Zusammenfassung und Absender aller Dokumente per Trigram-Matching. Findet auch unscharfe Treffer — z.B. "Stromrechung" findet "Stromrechnung". Ideal wenn du nach einem bestimmten Dokumentnamen oder Absender suchst.
Request Body
{
"query": "Stromrechnung Stadtwerke"
}Response
{
"data": {
"info": "3 Treffer für \"Stromrechnung Stadtwerke\".",
"results": [
{
"uuid": "...",
"title": "Stromrechnung Q4 2024",
"summary": "Quartalsabrechnung der Stadtwerke München...",
"sender": "Stadtwerke München",
"similarity": 0.85,
"documentDate": "2025-01-15T00:00:00.000Z",
"tags": ["Rechnung", "Strom", "2024"]
}
]
}
}curl
curl -X POST \
-H "Authorization: Bearer dk_dein_schlüssel" \
-H "Content-Type: application/json" \
-d '{"query": "Stromrechnung Stadtwerke"}' \
"https://documentr.app/api/v1/documents/search"/api/v1/documents/search-contentDurchsucht den gesamten Inhalt deiner Dokumente per Vektorähnlichkeit. Versteht die Bedeutung deiner Anfrage — nicht nur Schlüsselwörter. Perfekt wenn du eine spezifische Information suchst, die irgendwo im Text steht.
Request Body
{
"query": "Wie hoch ist die Kündigungsfrist meines Mietvertrags?",
"limit": 5
}Response
{
"data": {
"info": "5 semantische Treffer.",
"results": [
{
"uuid": "...",
"title": "Mietvertrag Bergstraße 12",
"content": "...Die Kündigungsfrist beträgt drei Monate zum Monatsende gemäß § 573c BGB...",
"similarity": 0.92,
"pageNumber": 4,
"documentDate": "2023-07-01T00:00:00.000Z"
}
]
}
}curl
curl -X POST \
-H "Authorization: Bearer dk_dein_schlüssel" \
-H "Content-Type: application/json" \
-d '{"query": "Kündigungsfrist Mietvertrag", "limit": 5}' \
"https://documentr.app/api/v1/documents/search-content"Organisation
Organisation-Endpoints
Tags und Ordner deiner Bibliothek abfragen — inklusive der Anzahl enthaltener Dokumente.
/api/v1/foldersGibt alle Ordner zurück — sortiert nach Dokumentanzahl. Jeder Ordner hat einen Namen, ein optionales Icon und die Anzahl enthaltener Dokumente.
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
limit | integer | Anzahl Ergebnisse (Standard: 50 (max. 100)) |
offset | integer | Offset für Pagination (Standard: 0) |
Response
{
"data": [
{ "name": "Versicherungen", "icon": "🛡️", "documentCount": 28 },
{ "name": "Wohnung", "icon": "🏠", "documentCount": 19 },
{ "name": "Arbeit", "icon": "💼", "documentCount": 15 },
{ "name": "Steuer", "icon": "📊", "documentCount": 12 }
],
"meta": { "total": 8, "limit": 50, "offset": 0 }
}curl
curl -H "Authorization: Bearer dk_dein_schlüssel" \
"https://documentr.app/api/v1/folders"Statistik
Statistik-Endpoints
Kennzahlen deiner Dokumentenbibliothek auf einen Blick.
/api/v1/statsGibt einen Überblick über deine gesamte Bibliothek: wie viele Dokumente du hast, wie viele davon analysiert, archiviert oder favorisiert sind, plus Anzahl deiner Tags und Ordner.
Response
{
"data": {
"totalDocuments": 142,
"analyzedDocuments": 138,
"archivedDocuments": 12,
"favoriteDocuments": 23,
"totalTags": 35,
"totalFolders": 8
}
}curl
curl -H "Authorization: Bearer dk_dein_schlüssel" \
"https://documentr.app/api/v1/stats"Technische Details
Pagination & Rate-Limiting
Pagination
Listen-Endpoints unterstützen limit und offset Parameter.
Standard: 50 Ergebnisse pro Seite, maximal 100.
Jede Antwort enthält ein meta-Objekt mit total, limit und offset.
Rate-Limiting
Die Limits hängen von deinem Plan ab:
Response-Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset
Fehlerbehandlung
HTTP Status-Codes
Bei Fehlern gibt die API einen passenden HTTP-Statuscode mit einer Fehlernachricht zurück.
Bad Request
Die Anfrage ist fehlerhaft — z.B. fehlt ein Pflicht-Parameter oder das JSON-Format ist ungültig.
Unauthorized
Kein API-Schlüssel mitgesendet oder der Schlüssel ist ungültig. Prüfe den Authorization-Header.
Not Found
Das angeforderte Dokument wurde nicht gefunden — entweder existiert die UUID nicht oder es gehört einem anderen Account.
Too Many Requests
Rate-Limit überschritten. Warte die im Retry-After Header angegebene Zeit ab, bevor du es erneut versuchst.
Bereit, die API zu nutzen?
Erstelle einen API-Schlüssel und schicke deinen ersten Request in unter einer Minute.