Public REST API

fakturai invoice API

Generate technically checked EN 16931 ZUGFeRD / Factur-X invoice PDFs from automation tools and backend services.

Endpoint

POST https://fakturai.de/api/v1/invoices
X-API-Key: <FAKTURAI_API_KEY>
Content-Type: application/json
Accept: application/pdf

Successful requests return 201 application/pdf. Errors return JSON with error and detail fields.

Request Body

The seller profile is attached to the API key. Send buyer, dates, currency, and invoice line items.

{
  "invoice_date": "2026-06-01",
  "due_date": "2026-06-15",
  "currency": "EUR",
  "buyer": {
    "name": "Acme GmbH",
    "address": {
      "line_one": "Beispielweg 42",
      "postcode": "80331",
      "city": "Muenchen",
      "country": "DE"
    },
    "vat_id": "DE123456789",
    "contact_email": "buchhaltung@example.com"
  },
  "lines": [
    {
      "name": "Software development",
      "description": "Implementation work",
      "quantity": "8",
      "unit": "HUR",
      "unit_price": "150.00",
      "vat_rate": "19.00"
    }
  ],
  "number_prefix": "RE-2026"
}

API explained by use case

If you want the use case before the schema, start here.

Schema

Machine-readable schema: https://fakturai.de/schemas/invoice-input/v1.json

OpenAPI specification: https://fakturai.de/openapi.json

OpenAPI crawler alias: https://fakturai.de/.well-known/openapi.json

Discovery

Root discovery for agents and integrations: https://fakturai.de/api/v1. The JSON response links the REST endpoint, schema, OpenAPI, documentation, and hosted MCP endpoint.

HEAD https://fakturai.de/api/v1
Link: <https://fakturai.de/openapi.json>; rel="service-desc"
X-Facturai-MCP: https://fakturai.de/mcp
X-Facturai-OpenAPI: https://fakturai.de/openapi.json
X-Facturai-Schema: https://fakturai.de/schemas/invoice-input/v1.json

MCP discovery methods like initialize and tools/list are readable without a key; invoice-generating tool calls require an API key.

Status Codes

StatusMeaning
201Invoice generated and returned as a PDF.
400Invalid JSON.
401Missing or invalid API key.
402Free-tier invoice limit exhausted.
422Payload failed format or compliance validation.
503Invoice generation service unavailable.

Agent Discovery

Agent-facing summary: https://fakturai.de/llms.txt; crawler alias: https://fakturai.de/.well-known/llms.txt. Remote MCP endpoint: https://fakturai.de/mcp.

Validator

The free invoice validator is reachable at https://fakturai.de/en/validator.