POST /validate/kosit – mit dem KoSIT-Validator prüfen

REST-API · POST /validate/kosit · kostenpflichtig

Mit dem offiziellen KoSIT-Validator prüfen, ohne ihn selbst zu betreiben.

Diese Route prüft eine E-Rechnung mit dem offiziellen KoSIT-Validator, dem Prüfprogramm der Koordinierungsstelle für IT-Standards. Sie bekommen dessen Bericht unverändert zurück, als XML oder als Zusammenfassung in JSON.

Die Route gehört zur gemeinsamen Schnittstelle der Suite. Dieselbe Adresse bietet auch die Validator Bridge auf Ihrem eigenen Rechner an. Ein Programm, das gegen die Bridge arbeitet, arbeitet deshalb ohne Änderung auch gegen diesen Dienst.


Anfrage

So rufen Sie die Route auf

Adresse: POST https://invoicepress.de/wp-json/einvoice-api/v1/validate/kosit

Schlüssel: Senden Sie Ihren API-Schlüssel in der Kopfzeile Authorization: Bearer <Schlüssel> oder in X-Api-Key. Beide Schreibweisen gelten gleich. Ohne Schlüssel gilt das freie Kontingent von zwei Aufrufen je Route und Tag; ein gesendeter, aber ungültiger Schlüssel bekommt den Status 401.

Inhalt: Der Inhalt der Anfrage ist die Rechnung selbst: als XML (XRechnung, Peppol BIS, CII oder UBL) mit Content-Type: application/xml oder als ZUGFeRD- beziehungsweise Factur-X-PDF mit Content-Type: application/pdf. Aus einer PDF holt der Dienst zuerst die eingebettete Rechnung.

Parameter

format (wahlweise) – json für die Zusammenfassung, xml für den unveränderten Bericht.

X-Filename (Kopfzeile, wahlweise) – Der Dateiname, URL-kodiert. Er erscheint im Bericht.

Diese Route reicht die Rechnung an die Validator Bridge auf unserem Server weiter. Die Bridge ist ein kleines Programm, das dort den Validator betreibt. Die Rechnung geht an diese Bridge und an keinen anderen Dienst.

Die Rechnung wird nur im Arbeitsspeicher verarbeitet und nicht gespeichert. Im Nutzungsprotokoll steht nur ein Fingerabdruck der Anfrage, nie ihr Inhalt.


Antwort

Was zurückkommt

Status 200 – auch bei einer ungültigen Rechnung. Das Ergebnis steht in der Kopfzeile X-Validation-Result mit valid oder invalid und im Bericht.

Ohne Angabe oder mit ?format=json – kommt eine Zusammenfassung als JSON.

Mit ?format=xml – kommt der unveränderte Prüfbericht des Validators.

Fehler – kommen als JSON mit den Feldern error (ein kurzer Code) und message.

Wenn etwas nicht geht

Status 401 – Es wurde ein Schlüssel gesendet, aber er ist nicht gültig.

Status 403 – Die Route ist auf diesem Dienst abgeschaltet.

Status 429 – Das Kontingent ist verbraucht. Die Kopfzeile Retry-After sagt, wann es wieder geht.

Status 502 – Die Validator Bridge hinter dem Dienst antwortet nicht.

Status 503 – Dieser Validator steht auf dem Dienst nicht zur Verfügung.


Beispiel

Ein Aufruf mit curl

curl -X POST "https://invoicepress.de/wp-json/einvoice-api/v1/validate/kosit?format=xml" \
     -H "X-Api-Key: <Schlüssel>" \
     -H "Content-Type: application/xml" \
     --data-binary @rechnung.xml -o bericht.xml

Kosten

Kontingent und Tarif

Die Route ist kostenpflichtig. Mit Schlüssel zählt jeder erfolgreiche Aufruf als eine Prüfung gegen das Monatskontingent Ihres Tarifs; Antworten mit einem Fehlerstatus zählen nicht. Zum Ausprobieren können Sie die Route ohne Schlüssel zweimal am Tag aufrufen. Diese Grenze gilt je Netzadresse und je Route: Zwei Aufrufe dieser Route lassen die übrigen Routen unberührt. Jede Antwort ohne Schlüssel sagt Ihnen in den Kopfzeilen X-RateLimit-Remaining und X-RateLimit-Reset, wie viele Aufrufe heute noch gehen und wann der Zähler zurückgesetzt wird.