API-Dokumentation
REST API für XRechnung und ZUGFeRD Validierung
REST API für XRechnung und ZUGFeRD Validierung
Die Validator-API ermöglicht die programmatische Validierung von XRechnungen und ZUGFeRD-Dokumenten. Die API ist kostenlos nutzbar und erfordert keine Registrierung.
Die API kann ohne Authentifizierung genutzt werden (Rate Limit: 10 Anfragen/Stunde). Für höhere Limits kann ein API-Key verwendet werden.
| Ohne API-Key | 10 Validierungen pro Stunde |
| Mit API-Key | Je nach Abo-Plan (monatliches Kontingent) |
Jede Response enthält Header mit Informationen über dein aktuelles Limit:
| Header | Beschreibung |
|---|---|
X-RateLimit-Limit |
Maximale Anzahl an Requests pro Stunde (10) |
X-RateLimit-Remaining |
Verbleibende Requests in diesem Zeitfenster |
X-RateLimit-Reset |
Unix Timestamp, wann das Limit zurückgesetzt wird |
| Header | Beschreibung |
|---|---|
X-Quota-Limit |
Monatliches Kontingent (z.B. 1000 Validierungen) |
X-Quota-Used |
Bereits verbrauchte Validierungen diesen Monat |
X-Quota-Remaining |
Verbleibende Validierungen diesen Monat |
Validiert eine XRechnung oder ein ZUGFeRD-Dokument gegen den XRechnung 3.0.2 Standard.
Content-Type: application/xml oder application/pdf
Body: XML-Datei (XRechnung) oder PDF-Datei (ZUGFeRD)
| Header | Beschreibung |
|---|---|
Authorization |
Bearer Token mit API-Key: Bearer YOUR_API_KEY |
| Parameter | Beschreibung |
|---|---|
output |
Format der Response: json für strukturiertes JSON (Standard: XML) |
?output=json)Content-Type: application/xml
Gibt das komplette KoSIT-Validierungs-XML zurück (Prüfbericht).
?output=jsonContent-Type: application/json
Gibt strukturiertes JSON mit geparsten Informationen zurück.
| Feld | Typ | Beschreibung |
|---|---|---|
valid |
boolean | Ob die Rechnung formal valide ist |
assessment |
string | acceptable, reject, oder unknown |
errors |
number | Anzahl der Fehler |
warnings |
number | Anzahl der Warnungen |
messages |
array | Liste aller Fehler und Warnungen |
reportHtml |
string | HTML-Prüfbericht. Nur vorhanden wenn der KoSIT-Validator einen HTML-Report generiert. |
rawXml |
string | Das komplette KoSIT-Validierungs-XML |
Generiert eine HTML-Vorschau einer XRechnung oder eines ZUGFeRD-Dokuments.
Content-Type: application/xml oder application/pdf
Body: XML-Datei (XRechnung) oder PDF-Datei (ZUGFeRD)
Content-Type: text/html
Gibt direkt HTML zurück, das die Rechnung in lesbarer Form darstellt.
Der Request-Body ist leer oder ungültig.
Der API-Key ist ungültig oder fehlt.
Das monatliche Kontingent ist aufgebraucht.
Die Subscription ist nicht aktiv.
Die Datei überschreitet die maximale Größe von 5MB.
Das Rate Limit wurde überschritten. Das Feld reset zeigt den Zeitpunkt der Zurücksetzung.
Der Validator-Service ist temporär nicht verfügbar.
| Limit | Wert |
|---|---|
| Maximale Dateigröße | 5 MB |
| Rate Limit (ohne API-Key) | 10 Anfragen pro Stunde |
| Request Timeout | 30 Sekunden |
| Unterstützte Formate | XML (XRechnung), PDF (ZUGFeRD) |
Lies die X-RateLimit-* oder X-Quota-* Header, um dein Limit zu überwachen
und Anfragen entsprechend zu throtteln.
Nutze ?output=json wenn du strukturierte Daten verarbeiten möchtest.
Das XML-Format ist nützlich, wenn du den kompletten KoSIT-Prüfbericht speichern willst.
Implementiere immer Retry-Logik für 503-Fehler. Bei 429-Fehlern beachte das
reset-Feld, das den Zeitpunkt der Zurücksetzung angibt.
Prüfe die Dateigröße client-seitig, um unnötige Uploads zu vermeiden (max. 5MB).
Setze Request-Timeouts auf mindestens 35 Sekunden, um dem Server Zeit für die Validierung zu geben.
Cache Validierungsergebnisse für identische Dateien, um API-Calls zu sparen.