The Invonio API
Every screen in Invonio — web and mobile — is built on this exact API. There is no separate "integration tier": what you can do by hand, you can automate.
Register, authenticate, create an invoice
curl https://invonio.talivio.com/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{
"name": "Max Mustermann",
"email": "[email protected]",
"password": "a-strong-password",
"password_confirmation": "a-strong-password",
"terms": true,
"device_name": "integration-server"
}'
# => { "token": "1|abcdef...", "user": { "has_subscription": false, ... } }
curl https://invonio.talivio.com/api/v1/invoices \
-H "Authorization: Bearer 1|abcdef..." \
-H "Content-Type: application/json" \
-X POST -d '{
"number": "RE-2026-0001",
"issue_date": "2026-07-09",
"buyer_name": "Kunde GmbH",
"buyer_address_line1": "Musterstraße 1",
"buyer_postal_code": "10115",
"buyer_city": "Berlin",
"buyer_country_code": "DE",
"lines": [
{ "name": "Consulting", "quantity": 5, "unit_price": 150, "vat_rate": 19, "unit_code": "HUR" }
]
}'
A new account can register, set up a business, and receive e-invoices for free — no card required. A card is only needed to issue your own: /invoices endpoints return 402 until a subscription is active (see Billing below).
Resources
Auth
POST /auth/register, POST /auth/login,
POST /auth/logout — Sanctum bearer tokens, one per device/integration.
Billing
GET /billing, POST /billing/checkout,
GET /billing/portal — subscription status and Stripe-hosted URLs.
Business
GET/PUT /business — the seller profile stamped on every invoice you issue.
Invoices
GET/POST /invoices, plus per-invoice
/document, /send,
/duplicate, /credit-note,
/validate. Full CRUD; a sent invoice is locked (immutable, as required
by law) — duplicate or issue a credit note instead.
Incoming invoices
GET /incoming, POST /incoming (upload
PDF/XML), /download — the same parser behind the inbox screen.
Stats & channels
GET /stats (dashboard summary), GET /channels
(available send channels — email is always on; Peppol and the France PDP channel appear once configured).
Conventions
Authorization: Bearer {token} on every request after registering or logging in.
Tokens are per-device/integration and can be revoked individually from Settings → API tokens in the
web app, or by calling POST /auth/logout./invoices/*, /channels,
/peppol/verify-recipient) require an active subscription — a 402 means the token is
valid but the account isn't subscribed yet. Everything else, including /business,
/incoming, and /stats, is free. Call
POST /billing/checkout to get a Stripe Checkout URL.GET /invoices/{id}/document?format= accepts zugferd-en16931 (Factur-X PDF,
the default), xrechnung-cii, xrechnung-ubl, or peppol-bis
(all XML).Building on top of Invonio?
Every paid plan includes the full API. The Business tier is the same product billed monthly — built for API-first, high-volume use.