https://api.invoicenavigator.euQuick Links
Validation
/v1/validateValidate a single invoice XML against EN16931 and country-specific rules.
View documentation/v1/validate/batchValidate multiple invoices in a single request (up to 100).
View documentationEvidence Packs
/v1/evidence-packGenerate a cryptographically signed Evidence Pack for a validated invoice.
/v1/evidence-pack/batchGenerate Evidence Packs for multiple validations in a single request.
/v1/evidence-packsList all Evidence Packs for your workspace with pagination.
/v1/evidence-pack/{id}Get Evidence Pack details including metadata and verification status.
/v1/evidence-pack/{id}/downloadDownload the Evidence Pack PDF certificate.
/v1/verify/{id}Verify the authenticity of an Evidence Pack by its ID (public endpoint).
Fixer (Invoice Correction)
/v1/fixer/categorizeCategorize validation errors by fix type (auto, input-required, blocked).
View documentation/v1/fixer/fixApply automatic fixes to an invoice. Returns fixed XML and change log.
View documentation/v1/fixer/fix-with-inputApply fixes that require user-provided values (seller name, dates, etc.).
View documentationFormat Conversion
/v1/convertConvert invoices between formats (UBL, CII, XRechnung, Factur-X, Peppol BIS).
Compliance Data
/v1/countriesList all EU countries with their e-invoicing status and requirements.
/v1/countries/{code}Get detailed compliance information for a specific country.
/v1/rules/{country}Get validation rules and CIUS requirements for a country.
/v1/deadlinesGet upcoming compliance deadlines across all EU countries.
/v1/requirementsGet trade lane requirements (what format to use for a seller/buyer combination).
/v1/changesGet regulatory changes since a given date. Supports filtering by country and type.
/v1/rules/upcomingGet upcoming rule changes and deprecations with effective dates.
Intelligence
/v1/errorsList all error codes with explanations and fix suggestions.
/v1/errors/{ruleId}Get detailed information about a specific error code.
/v1/compliance-scoreCalculate a compliance readiness score for a business.
/v1/facts/{country}Get regulatory facts and citations for a country (for AI/RAG use cases).
/v1/facts/searchSearch regulatory facts by keyword.
Authentication
All API requests (except public endpoints) require authentication via API key.
curl -X POST https://api.invoicenavigator.eu/v1/validate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"xml": "<Invoice>...</Invoice>"}'Learn more about authenticationEndpoint Details
Detailed request/response documentation for key endpoints.
/v1/evidence-pack/batchBusinessGenerate multiple Evidence Packs as a ZIP bundle. Useful for batch compliance certification.
Request Body
{
"validationRefs": ["val_abc123", "val_def456", "val_ghi789"]
}Response
{
"success": true,
"data": {
"downloadUrl": "https://api.invoicenavigator.eu/downloads/batch_xyz.zip",
"expiresAt": "2026-01-10T00:00:00Z",
"count": 3
}
}/v1/evidence-pack/{id}BusinessRetrieve Evidence Pack metadata including verification URLs and expiration dates.
Response
{
"success": true,
"data": {
"evidencePackId": "ep_xyz789",
"validationRef": "val_abc123",
"createdAt": "2026-01-09T12:00:00Z",
"expiresAt": "2027-01-09T12:00:00Z",
"downloadUrl": "https://api.invoicenavigator.eu/v1/evidence-pack/ep_xyz789/download",
"verifyUrl": "https://www.invoicenavigator.eu/verify/ep_xyz789",
"invoiceMetadata": {
"invoiceNumber": "INV-2026-000142"
},
"isValid": true
}
}/v1/evidence-pack/{id}/downloadBusinessDownload the Evidence Pack as a signed PDF certificate.
Response
Content-Type: application/pdf Content-Disposition: attachment; filename="evidence-pack-ep_xyz789.pdf" [Binary PDF data]
/v1/evidence-packsBusinessList all Evidence Packs for your workspace with pagination and date filtering.
Query Parameters
page- Page number (default: 1)limit- Items per page (default: 20, max: 100)from- Filter from date (ISO 8601)to- Filter to date (ISO 8601)
Response
{
"success": true,
"data": {
"evidencePacks": [
{
"evidencePackId": "ep_xyz789",
"validationRef": "val_abc123",
"createdAt": "2026-01-09T12:00:00Z",
"invoiceMetadata": {
"invoiceNumber": "INV-2026-000142"
},
"isValid": true
}
],
"total": 156,
"page": 1,
"limit": 20
}
}/v1/rules/upcomingFreeGet upcoming ruleset changes and deprecations. Useful for planning system updates.
Response
{
"success": true,
"data": {
"upcoming": [
{
"ruleset": "xrechnung",
"currentVersion": "3.0.2",
"upcomingVersion": "3.0.3",
"expectedDate": "2026-04-01",
"breakingChanges": false,
"changelog": "Minor bug fixes and clarifications"
}
],
"deprecations": [
{
"ruleset": "peppol-bis",
"version": "3.0.15",
"deprecationDate": "2026-03-01",
"replacementVersion": "3.0.17"
}
]
}
}Fixer API (Invoice Correction)
Programmatically fix e-invoice validation errors. All Fixer endpoints require a Pro tier subscription or higher.
5-Minute Integration
The Fixer API mirrors the UI workflow:
- 1Validate (free) - Get list of errors
- 2Categorize - See which errors are auto-fixable
- 3Fix - Apply automatic corrections
- 4Evidence Pack - Generate audit trail
- 5Check Usage - Monitor your quota
Most integrations only need steps 1-3.
/v1/fixer/categorizeCategorize validation errors by fix type: auto (can be fixed automatically), input (needs user data), or blocked (cannot be fixed).
Request
{
"error_codes": ["BR-CO-10", "BR-16", "BR-S-08"]
}Response
{
"success": true,
"data": {
"categorized": {
"auto": ["BR-CO-10"],
"input": ["BR-16"],
"blocked": ["BR-S-08"]
},
"stats": {
"auto": 1,
"input": 1,
"blocked": 1
}
},
"meta": {
"duration_ms": 45
}
}/v1/fixer/fixApply automatic fixes to an invoice. Returns the fixed XML and a detailed change log.
Request
{
"xml": "<Invoice xmlns=\"urn:oasis:...\">..</Invoice>",
"error_codes": ["BR-CO-10", "BR-16"]
}Response
{
"success": true,
"data": {
"fixed_xml": "<Invoice>...</Invoice>",
"applied_fixes": [
{
"error_code": "BR-CO-10",
"success": true,
"operation": "recalculate",
"target_xpath": "/Invoice/TaxTotal/TaxAmount",
"before_value": "100.00",
"after_value": "119.00",
"confidence": 1.0
}
],
"failed_fixes": [],
"remaining_errors": {
"needsInput": [
{
"error_code": "BR-16",
"reason": "Seller name cannot be derived"
}
],
"blocked": [],
"unknown": []
},
"is_compliant": false,
"is_billable": true
},
"meta": {
"flow_id": "flow_abc123",
"duration_ms": 245
}
}/v1/fixer/fix-with-inputApply fixes that require user-provided values. Must be called with an existing flow_id from the /fix endpoint.
Request
{
"xml": "<Invoice>...</Invoice>",
"values": {
"seller_name": "ACME Corporation GmbH"
},
"skipped": ["BR-17"],
"error_codes": ["BR-16"],
"flow_id": "flow_abc123"
}Response
{
"success": true,
"data": {
"fixed_xml": "<Invoice>...</Invoice>",
"applied_fixes": [...],
"failed_fixes": [],
"remaining_errors": ["BR-17"],
"stats": {
"applied": 1,
"failed": 0,
"skipped": 1
},
"is_compliant": false,
"is_billable": true
},
"meta": {
"flow_id": "flow_abc123",
"duration_ms": 120
}
}/v1/fixer/evidence-packGenerate an Evidence Pack for a completed fix. Free tier returns JSON metadata; Pro+ returns a ZIP file.
Request
{
"original_xml": "<Invoice>...</Invoice>",
"fixed_xml": "<Invoice>...</Invoice>",
"file_name": "invoice-2024-001.xml",
"applied_fixes": [...],
"remaining_errors": [...],
"validation_before": {...},
"validation_after": {...},
"flow_id": "flow_abc123"
}Response (Pro+ tier)
Content-Type: application/zip Content-Disposition: attachment; filename="evidence-pack-ep_xyz.zip" X-Pack-ID: ep_xyz789 [ZIP containing: original_invoice.xml, fixed_invoice.xml, change_report.txt, metadata.json, validation_before.json, validation_after.json, change_events.json]
/v1/fixer/evidence-pack/{id}Retrieve Evidence Pack metadata by ID. Pro+ tier only.
Response
{
"success": true,
"data": {
"pack_id": "ep_xyz789",
"created_at": "2026-01-15T12:00:00Z",
"original_filename": "invoice-2024-001.xml",
"original_hash": "sha256:abc123...",
"fixed_hash": "sha256:def456...",
"detected_format": "ubl",
"fixes_applied": 3,
"fixes_user_input": 1,
"fixes_skipped": 0,
"final_status": "compliant"
}
}/v1/fixer/usageGet your current Fix usage and quota for the billing period.
Response
{
"success": true,
"data": {
"period": {
"start": "2026-01-01T00:00:00Z",
"end": "2026-02-01T00:00:00Z"
},
"usage": {
"flows_used": 42,
"flows_limit": 100,
"flows_remaining": 58,
"percentage": 42
},
"subscription": {
"tier": "pro",
"status": "active",
"plan_name": "Pro",
"evidence_pack": "full"
},
"tier": "pro",
"resets_at": "2026-02-01T00:00:00Z"
}
}Authentication
All Fixer endpoints require a Bearer token in the Authorization header:
curl -X POST https://api.invoicenavigator.eu/v1/fixer/fix \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"xml": "...", "error_codes": ["BR-CO-10"]}'Getting your API key: Sign in to your Invoice Navigator account, go to Settings, API Keys, click “Create API Key”. Keys are scoped to your workspace.
Response Codes
| Code | Meaning |
|---|---|
200 | Success |
400 | Invalid XML or missing required fields |
401 | Missing or invalid API key |
402 | Quota exceeded (upgrade plan or wait for reset) |
403 | Feature not available for your tier |
422 | No fixable errors found in provided error_codes |
429 | Rate limit exceeded |
500 | Internal server error |
Rate Limits
| Tier | Monthly API calls |
|---|---|
| Free | — |
| Pro | 5,000 |
| Business | 25,000 |
| Enterprise | Unlimited |
Rate limit headers (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset) are included in all API responses.
Ready to get started?
API access is available on Pro (5,000 calls/mo) and Business (25,000 calls/mo) plans.
View Plans & Pricing