OpenAPI Specification
Unsere vollständige API ist als OpenAPI 3.1 Spezifikation verfügbar — zum Nachlesen jedes Endpunkts und für interaktive Dokumentation. Für Code-Generierung ist sie noch nicht geeignet; der Hinweis weiter unten nennt die vier Mängel.
Download
OpenAPI-Spezifikation (JSON)
Vollständige Spec, alle 81 Endpunkte — öffentlich, ohne Login. Zum Lesen geeignet; zur Code-Generierung noch nicht (siehe Hinweis unten).
openapi-full.jsonInteraktive Referenz
Alle Endpunkte im Browser durchsuchen und ausprobieren
service.invoice-api.xhub.io/docs-fullAPI Endpoints
Die wichtigsten Endpoints der Invoice-api.xhub API (Version 1.4.0):
/api/v1/invoice/{countryCode}/{format}/generate/api/v1/invoice/parse/api/v1/invoice/{countryCode}/validate/api/v1/invoice/{countryCode}/formats/api/v1/invoice/formats/api/v1/invoice/convert/api/v1/invoice/attachments/api/v1/pdf/attachments/api/v1/invoice/es/verifactu-qrAuthentifizierung
Bearer Token
Authentifiziere dich mit deinem API Key im Authorization Header:
1Authorization: Bearer sk_live_xxxxxxxxxxxxx2 3# Testmodus4Authorization: Bearer sk_test_xxxxxxxxxxxxxLive Keys (sk_live_*) sind für Produktionsdaten. Test Keys (sk_test_*) sind für Entwicklung und Tests.
Unterstützte Länder
Die API unterstützt E-Rechnungsformate für folgende Länder:
Deutschland
Österreich
Schweiz
Frankreich
Italien
Spanien
Niederlande
Belgien
Polen
Portugal
Vereinigte Arabische Emirate
Australien
Bulgarien
Zypern
Tschechien
Dänemark
Estland
Finnland
Großbritannien
Griechenland
Kroatien
Ungarn
Irland
Island
Japan
Liechtenstein
Litauen
Luxemburg
Lettland
Malta
Norwegen
Neuseeland
Oman
Rumänien
Schweden
Slowenien
Slowakei
Vorschau
Auszug aus der OpenAPI Spezifikation: service.invoice-api.xhub.io/openapi-full.json
1openapi: 3.1.02info:3 title: Invoice.xhub API4 version: 1.4.05 6servers:7 # Relative — the spec is served from the API host itself, so an import8 # without a base URL has no host to call. Set it in your client:9 # https://service.invoice-api.xhub.io10 - url: /11 description: Invoice API v112 13security:14 - bearerAuth: []15 16paths:17 /api/v1/invoice/{countryCode}/{format}/generate:18 post:19 summary: Generate invoice document20 parameters:21 - name: countryCode22 in: path23 required: true24 schema:25 type: string26 # 37 Länder, klein geschrieben — Auszug:27 enum: [ae, at, au, be, bg, ch, cy, cz, de, dk, ee, es, fi, fr, ...]28 - name: format29 in: path30 required: true31 schema:32 type: string33 # 15 Format-Slots — Auszug:34 enum: [pdf, xrechnung, zugferd, facturx, ubl, ...]35 # ...36 37 /api/v1/invoice/{countryCode}/validate:38 post:39 summary: Validate invoice data40 description: >-41 Validate invoice data against country-specific rules and e-invoice42 format requirements. Returns validation errors and warnings without43 consuming billing quota. Braucht wie jeder Endpoint einen API-Key und44 ist an das Kontingent gebunden (aufgebraucht = 429).45 # ...46 47 /api/v1/invoice/convert:48 post:49 summary: Convert an e-invoice between formats50 # ...51 52components:53 securitySchemes:54 bearerAuth:55 type: http56 scheme: bearer57 bearerFormat: API Key58 description: >-59 API Key authentication. Use `sk_live_*` for production or `sk_test_*`60 for testing.61 # ...Import in API-Clients
Vor dem Import lesen: die Spec ist noch nicht generator-tauglich
Die Datei lässt sich importieren, aber vier gemessene Mängel (Stand 2026-09-15) sorgen dafür, dass Clients und generierter Code ohne Modelle ankommen:
- • 138 von 138 internen `$ref` zeigen auf `#/components/schemas/__schema0` — ein Schema, das die Datei nicht definiert. Request- und Response-Modelle bleiben dadurch leer.
- • 65 Request-Bodies stehen als `{"vendor":"zod"}` in der Datei statt als JSON-Schema.
- • `POST /api/v1/invoice/convert` trägt überhaupt keinen `requestBody`.
- • `servers` ist `[{"url":"/"}]` — relativ. Im Client muss `https://service.invoice-api.xhub.io` als Base URL nachgetragen werden, sonst geht jeder Aufruf ins Leere.
Bis das behoben ist: Die Feldstruktur der Rechnung steht vollständig und aus derselben Spec erzeugt auf /docs/api/schema , und die Beispiele auf den Referenzseiten sind gegen die Spec geprüft (`pnpm exec node scripts/verify-doc-examples.mjs`).
Postman
1# Via URL importieren21. Öffne Postman32. Klicke auf "Import" (oben links)43. Wähle "Link" Tab54. Füge ein: https://service.invoice-api.xhub.io/openapi-full.json65. Klicke "Continue" → "Import" (Postman liest OpenAPI 3 direkt)7 8# Alternativ: Spec herunterladen und als Datei importieren9curl -O https://service.invoice-api.xhub.io/openapi-full.jsonInsomnia
1# Via URL importieren21. Öffne Insomnia32. Application → Preferences → Data43. "Import Data" → "From URL"54. URL: https://service.invoice-api.xhub.io/openapi-full.json65. "Fetch and Import"Code-Generierung
Generiere typsichere API-Clients aus der OpenAPI Spezifikation:
Achtung: Wegen der oben genannten hängenden `$ref` erzeugen diese Generatoren heute Clients mit leeren Modellen. Die Befehle stehen hier, damit sie nach dem Backend-Fix sofort stimmen.
1# TypeScript/JavaScript mit openapi-typescript2npx openapi-typescript https://service.invoice-api.xhub.io/openapi-full.json -o ./types/api.d.ts3 4# Python mit openapi-python-client5pip install openapi-python-client6openapi-python-client generate --url https://service.invoice-api.xhub.io/openapi-full.json7 8# Go mit oapi-codegen9go install github.com/deepmap/oapi-codegen/cmd/oapi-codegen@latest10oapi-codegen -package api https://service.invoice-api.xhub.io/openapi-full.json > api/api.gen.goVersionierung
Die OpenAPI Spezifikation wird bei API-Änderungen aktualisiert. Nutze die Versionsnummer in der Spec, um Kompatibilität sicherzustellen. Breaking Changes werden im Changelogangekündigt.