REST-API
Jede Rechnungsoperation, die CrateAPI beherrscht, gruppiert danach, was Sie tun wollen — Generate, Validate, Convert & Render, Extract & Embed — nicht danach, in welchem Format die Rechnung gerade vorliegt.
Zwei Dinge lohnt es sich vorab zu wissen: Validierung ist kostenlos — keine Kreditkarte, kein Konto — und Extraktion ist deterministisch — sie liest das XML, das tatsächlich in einem PDF eingebettet ist, statt eines zu rekonstruieren oder zu raten.
Live ausprobieren
Operation wählen, Beispiel einfügen oder laden, und die echte API aufrufen — direkt hier, ohne Anmeldung.
JSON-Rechnung rein, konformes XML — oder ein Factur-X-PDF — raus. Jede Ausgabe wird vorab validiert, bevor sie überhaupt bei Ihnen ankommt.
Das ist der Entwicklerweg — für ein geführtes Formular nutzen Sie den Generator ohne Code auf der Startseite.
Generate
JSON-Rechnung rein, konformes XML — oder ein Factur-X-PDF — raus. Jede Ausgabe wird vorab validiert, bevor sie überhaupt bei Ihnen ankommt.
POST /v1/generate/ublVorvalidiertes UBL-2.1-Rechnungs-XML — wählen Sie Peppol BIS, XRechnung oder RO_CIUS mit ?profile=. Erfüllt es die offiziellen Regeln nicht, erhalten Sie einen Fehler statt einer fehlerhaften Rechnung.
POST /v1/generate/ciiDieselbe Garantie, in CII D16B — der Syntax innerhalb von Factur-X und ZUGFeRD.
POST /v1/generate/facturxEin vollständiges Factur-X-PDF: unser klares visuelles Layout, mit dem konformen EN-16931-CII-XML darin eingebettet.
POST /v1/generate/fatturapaPOST /v1/generate/facturaePOST /v1/generate/ksefItaliens FatturaPA, Spaniens Facturae und Polens FA_VAT/KSeF — drei proprietäre nationale XML-Vokabulare, ein einziges JSON-Rechnungsmodell als Eingabe.
Validate
Genau dieselben Regelwerke, die hinter jedem Generate-Aufruf stehen, als eigenständiges Produkt. Und das Einzige auf dieser Seite, das kostenlos ist.
Kostenlos, ohne Schlüssel, sofort:
curl -X POST https://api.crateapi.com/v1/validate/ubl \ -H "Content-Type: application/xml" \ --data-binary @invoice.xml {"profile":"peppol","valid":true,"counts":{"fatal":0,"warning":0},"findings":[],"duration_ms":12}
POST /v1/validate/ublPOST /v1/validate/ciiVollständige XSD- + Schematron-Validierung gegen EN 16931, Peppol BIS, XRechnung, RO_CIUS und BR-FR. Strukturierte Befunde mit Regel-IDs — kostenlos, ohne Anmeldung, ohne Schlüssel.
POST /v1/validate/ubl/reportDieselbe Prüfung, als druckbarer PDF-Bericht: ein GÜLTIG/UNGÜLTIG-Banner und eine Befundtabelle. Kostenpflichtig, anders als der obige JSON-Endpunkt.
POST /v1/pdfa/validatePrüft jedes PDF gegen PDF/A-3 mit veraPDF, dem Referenzvalidator der PDF Association — kostenlos, wie die Rechnungsvalidierung.
Convert & Render
Bringen Sie eine Rechnung von einer Syntax in eine andere, oder machen Sie daraus etwas, das ein Mensch tatsächlich lesen kann.
POST /v1/convert/{source}-to-{target}Acht Richtungen zwischen UBL, CII, XRechnung und Factur-X. Verlustfrei oder abgelehnt: Was sich nicht sauber konvertieren lässt, kommt als 422 mit genauem Grund zurück — nie als still degradierte Rechnung.
POST /v1/render/pdfPOST /v1/render/htmlRechnungs-XML rein, eine lesbare PDF- oder HTML-Seite raus — die offiziellen KoSIT-Visualisierungs-Stylesheets, dieselbe Ansicht, die Portale brauchen, wenn ein Kunde ein XML erhält, das er nicht öffnen kann.
Extract & Embed
Holen Sie die maschinenlesbaren Daten aus einem PDF heraus — oder legen Sie sie hinein.
POST /v1/extract/xmlLiest das XML-Attachment, das tatsächlich in einem Factur-X-/ZUGFeRD-PDF steckt, und gibt es zurück — deterministisch, nie rekonstruiert oder geraten.
POST /v1/extract/attachmentsListet jede eingebettete Datei in einem PDF auf, nicht nur das Rechnungs-XML — inklusive Begleitdokumenten (BG-24).
POST /v1/generate/facturx/embedIhr eigenes markengerechtes Rechnungs-PDF plus das Rechnungs-JSON, kombiniert zu einem Factur-X-/PDF/A-3 mit dem konformen XML darin eingebettet. Behalten Sie Ihr Design, gewinnen Sie die Konformität.
Bereit, es selbst aufzurufen?
Jede Operation oben ist nur einen HTTP-Aufruf entfernt — holen Sie sich einen Schlüssel, oder lesen Sie zuerst die vollständige Referenz.