← Zurück

API und Claude-Zugang

Mit der Voltdoc-API legen eigene Programme, deine Hausverwaltung, ein Fachbetrieb oder ein KI-Assistent wie Claude Akten, Einheiten, Einträge, Akkus und Teile an, lesen sie aus und liefern Rechnungen ein. Ohne Abtippen. Es gilt immer: Jede Kategorie erlaubt nur, was es dort gibt. Einheiten gibt es nur beim Haus, Kilometer nicht beim Haus, Akkus nicht beim Fahrrad ohne Motor.

Version 1 · Stand 31.10.2026 · Änderungen kündigen wir hier an.

So kommst du rein

  1. Freischalten lassen. Die API ist ein Zusatzpaket. Wir schalten sie je Konto frei, mit einer Anzahl Akten, die das Konto per API nutzen darf. Schreib uns über „Problem melden“.
  2. Selbst einschalten. In der App unter Konto → API und Claude → „API für mein Konto einschalten“. Ausschalten sperrt alle Schlüssel sofort.
  3. Schlüssel anlegen. Name (für wen), Rechte, für welche Akten, Laufzeit. Der Schlüssel (vd_…) wird nur einmal angezeigt. Widerrufen geht jederzeit.

Hausverwaltung oder Fachbetrieb: Der Eigentümer legt einen Schlüssel für dich an und gibt ihn dir. Oder du nutzt die API mit deinem eigenen Konto für deine eigenen Objekte.

Rechte eines Schlüssels

Rechterlaubt
lesenAkten, Einheiten, Einträge, Akkus, Teile, Posteingang und Dateien ansehen
einliefernBelege in den Posteingang „Zu prüfen“ legen; der Eigentümer bestätigt in der App
anlegenAkten, Einheiten, Einträge, Akkus und Teile anlegen und ändern

Löschen geht per API nicht. Ein Schlüssel kann auf bestimmte Akten beschränkt sein; legt er eine neue Akte an, gilt er auch für diese.

Mit Claude nutzen (MCP)

Voltdoc spricht das Model Context Protocol. Claude kann damit selbst Objekte anlegen, Einheiten eintragen, Rechnungen zuordnen und Unklares markieren.

Werkzeuge: konto, kategorien, objekte_liste, objekt_details, objekt_anlegen, objekt_aendern, einheiten_anlegen, einheit_aendern, eintraege_liste, eintrag_anlegen, eintrag_aendern, akku_anlegen, teil_anlegen, eingang_einliefern, eingang_liste.

Beispiel: „Leg meine drei Häuser aus dieser Liste mit allen Wohnungen an und ordne die Rechnungen aus dem Ordner zu. Was du nicht sicher zuordnen kannst, markier als zu klären.“

Die Adresse mit Schlüssel ist wie ein Passwort. Behandle sie so. Was Claude abruft, geht an Anthropic; dort gelten deren Bestimmungen (Datenschutz).

REST-API

Basis: https://voltdoc.app/api/voltdoc/v1 · Anmeldung: Header Authorization: Bearer vd_… · Daten als JSON (UTF-8) · Datum als JJJJ-MM-TT · Beträge in Euro brutto, Zahl oder Text wie "289,50".

Methode und PfadRechtZweck
GET /kategorien[/{kind}]ohneWas es je Kategorie gibt: Felder, Eintragsarten, Einheiten, Akkus, Teile in km oder Jahren
GET /kontogültigSchlüssel, Rechte, Paket (erlaubte und vorhandene Akten)
GET /objekte?kind=lesenAlle Akten
POST /objekteanlegenAkte anlegen, beim Haus mit einheiten, sonst optional akkus, teile
GET /objekte/{id}lesenAkte mit Einheiten, Akkus, Teilen, Zahlen und Regeln der Kategorie
PATCH /objekte/{id}anlegenFelder ändern (Kategorie bleibt)
GET / POST /objekte/{id}/einheitenlesen / anlegenEinheiten (nur Haus), POST mit {"einheiten":[…]} bis 500 auf einmal
PATCH /einheiten/{id}anlegenEinheit ändern
GET /objekte/{id}/eintraegelesenFilter: unit, kind, zu_klaeren=true, von, bis, limit, seite
POST /objekte/{id}/eintraegeanlegenEintrag direkt anlegen, optional mit dateien
GET / PATCH /eintraege/{id}lesen / anlegenEintrag lesen, ändern, Einheit zuordnen, klären, Belege anhängen
GET / POST /objekte/{id}/akkus, PATCH /akkus/{id}lesen / anlegenAkkus und Stromspeicher
GET / POST /objekte/{id}/teile, PATCH /teile/{id}lesen / anlegenVerschleißteile (km) oder Bauteile (Jahre)
GET /objekte/{id}/eingang?status=lesenPosteingang: zu_pruefen, uebernommen, verworfen
POST /objekte/{id}/eingangeinliefernBeleg einliefern, der Eigentümer bestätigt
GET /dateien/{eintraege|eingang|akkus|objekte}/{id}/{name}lesenDatei herunterladen (Link steht in dateien[].url)

Kategorien

fahrrad, ebike, escooter, emoped, motorrad, emotorrad, auto, eauto, hybrid, haus, wohnmobil, boot, speicher, sonstiges (mit kind_label). Die genauen Felder liefert GET /kategorien. Felder, die es in einer Kategorie nicht gibt, lehnt die API mit einer klaren Meldung ab.

KategorieAkteEintragsartenExtras
hausname, house_type (efh, dhh, rh, wohnung, mfh), area, year, heating, heat_year, energy_class, energy_kwh, cert_type, cert_untilenergetisch, renovierung, wartung, reparatur, pruefung, mangel, massnahme, kauf, sonstigesEinheiten, labor_cost, funding_ref, Bauteile in Jahren, Stromspeicher
Fahrzeugename, brand, model, ident, year, km (nicht bei boot)wartung, inspektion, reparatur, reifen, akku, pruefung, mangel, kauf, sonstigesAkkus (nicht fahrrad, motorrad, auto), Teile in km (boot in Jahren)
speichername, brand, model, ident, yearwartung, pruefung, reparatur, mangel, kauf, sonstigesAkkus, Teile in Jahren

Einträge haben immer date, optional title, shop, cost, notes, part, unclear und unclear_note (zu klären), bei Mangel und Maßnahme state (offen, erledigt).

Beispiel: Haus mit Wohnungen anlegen

curl -X POST https://voltdoc.app/api/voltdoc/v1/objekte \
  -H "Authorization: Bearer vd_…" -H "Content-Type: application/json" \
  -d '{"kind":"haus","name":"Musterstraße 5","house_type":"mfh","area":640,"year":1972,
       "einheiten":[{"name":"EG links","kind":"wohnung","area":72},
                    {"name":"Garage 1","kind":"stellplatz"}]}'

Arten von Einheiten: wohnung, gewerbe, stellplatz, keller, allgemein, sonstiges. Bitte keine Namen von Mietern eintragen.

Beispiel: Rechnung anlegen, Einheit zuordnen, als zu klären markieren

curl -X POST https://voltdoc.app/api/voltdoc/v1/objekte/AKTEN_ID/eintraege \
  -H "Authorization: Bearer vd_…" -H "Content-Type: application/json" \
  -d '{"kind":"wartung","date":"2026-10-01","title":"Heizungswartung",
       "shop":"Heizung Muster GmbH","cost":"289,50","labor_cost":120,
       "unit":"EINHEITEN_ID","unclear":true,"unclear_note":"Umlagefähig?",
       "dateien":[{"name":"rechnung.pdf","type":"application/pdf","data":"BASE64…"}]}'

Geklärt: PATCH /eintraege/{id} mit {"unclear":false}. Offene Punkte: GET /objekte/{id}/eintraege?zu_klaeren=true.

Beispiel: Beleg einliefern (Eigentümer bestätigt)

curl -X POST https://voltdoc.app/api/voltdoc/v1/objekte/AKTEN_ID/eingang \
  -H "Authorization: Bearer vd_…" \
  -F 'subject=Rechnung Schornsteinfeger' \
  -F 'fields={"date":"2026-09-12","shop":"Huber","cost":84.2,"kind":"pruefung"}' \
  -F 'dateien=@rechnung.pdf'

Dateien gehen als JSON (dateien: Base64 mit name, type, data) oder als Formular-Upload (Feld dateien). Erlaubt: PDF, JPEG, PNG, WebP, je höchstens 1 MB, bis 5 je Eintrag. Mit "auslesen":true und ohne fields liest Voltdoc den ersten Beleg per KI aus; das zählt auf die monatlichen KI-Auslesungen des Kontos.

Grenzen und Fehler

Fragen?

Tipp unten auf „Problem melden“ oder schreib über das Kontaktformular.