REST API
Let your own system do the invoicing
Issue an invoice straight from your e-shop, app or script. Token auth, cursor pagination and idempotent writes — with 100 requests a month on the Free plan, no card required.
curl https://app.lucanto.eu/api/v1/workspaces/{workspace_id}/invoices \
-H "Authorization: Bearer lct_live_xxx"What you can build
Orders become invoices
Your e-shop or app calls Lucanto when an order is paid, and the invoice exists — no export, no retyping, no monthly catch-up.
Clients stay in sync
Create and update clients from your own system and keep contact and company details identical on both sides.
Documents you can read back
Pull invoices, their payment status and the data behind them into your own reporting instead of exporting spreadsheets.
The API is on the Free plan
The REST API is not reserved for large accounts. Free includes 100 requests a month — enough to build the integration, test it and run a small flow of invoices for real. When you need a higher limit, you move up a plan; you don't unlock a feature.
From nothing to your first call
Create an access token
In Lucanto, go to Settings → API and generate a workspace token (lct_live_). It belongs to one workspace rather than to a person, so the integration keeps working when whoever set it up moves on, and it never reaches into anyone's other workspaces. For a quick trial from your own script a personal token (lct_pat_) is enough. Scopes are how you keep a read-only integration read-only.
Make the first call
Send your first request to https://app.lucanto.eu/api/v1 with the token in the Authorization header. The quickstart in the docs walks through it end to end in under five minutes.
Harden it for production
Send an Idempotency-Key on every POST so a retry can't double-issue an invoice, page through collections with the cursor rather than an offset, and handle the error envelope instead of only checking for HTTP 200.
How the API behaves
The details that decide whether an integration survives its first bad week. Every row links to its page in the documentation.
| Aspect | How it works |
|---|---|
| Base URL | https://app.lucanto.eu/api/v1 |
| Workspace token (lct_live_) | Bound to a single workspace — for e-shop and accounting integrations acting as the company |
| Personal token (lct_pat_) | Your own permissions, across every workspace you belong to — for scripts and AI assistants |
| Pagination | Cursor-based, stable across inserts |
| Idempotency | Idempotency-Key header on POST, so retries are safe |
| Errors | One error envelope across every endpoint |
We publish what changes
New endpoints, new fields and breaking changes go into a public API changelog. Breaking changes are tagged as such, so you see them before they reach you — and RSS brings them to you instead of you having to check back.
Requests by plan
The request limit grows with the plan. API technical support is available from Starter up. Add-on prices exclude VAT.
| What you get | Availability |
|---|---|
| Requests — Free | 100 / month |
| Requests — Starter | 500 / month |
| Requests — PRO | 5,000 / month |
| Requests — Business | 20,000 / month |
| Extra request packs | Business only10,000 for €5 · 50,000 for €20, excl. VAT |
| API technical support | Starter and up |
| MCP server for AI agents | Every plan, Free includedCounts against the same monthly request limit |
You don't have to build this yourself
If you have no developer to spare, there are two routes that need no code at all. Connect Lucanto to an AI assistant over MCP and ask it for invoices in plain language. Or hand the integration to one of the developers below — that is exactly what they do.
Integration partners
Independent developers and studios who have worked with the Lucanto API and can build your integration for you. They invoice you directly — we don't take a cut and we don't broker the work.
| Company | Country | Contact | Stack | |
|---|---|---|---|---|
| SME Digital s.r.o. | Slovakia | Miloš Blaško | info@visblee.sk | PHP, Laravel, Ruby |
| Seiri s.r.o. | Slovakia | Marek Panti | marekpanti@gmail.com | Node.js, NestJS, Java |
| Seky IT s.r.o. | Slovakia | Lukáš Sekerák | sekys.sekys@gmail.com | PHP, Node.js |
| Studio TEM, s.r.o. | Slovakia | Michal Fehér | spolupraca@studiotem.com+421 911 258 330 | PHP, Laravel, WooCommerce, WordPress, Node.js |
| MATATE s.r.o. | Slovakia | Dávid Brontvaj | info@matate.sk | PHP, Next.js, Node.js |
Want to be listed here?
If you build integrations and want work sent your way, write to us. Tell us the stack you work in and where we can see your work — we'll add you to this table. hello@lucanto.eu
Frequently asked questions about the API
Is the REST API available on the Free plan?
Yes. The REST API is part of Lucanto on Free, with 100 requests a month — you don't need to upgrade to connect your own system. Higher limits come with paid plans: Starter 500, PRO 5,000 and Business 20,000 requests a month.
What are the request limits per plan?
Free 100, Starter 500, PRO 5,000 and Business 20,000 requests a month. On Business you can buy extra packs — 10,000 for €5 or 50,000 for €20, both excluding VAT. Lower plans have no extra-request add-on; if you need more, you move up a plan.
Can I issue an invoice from my own system?
Yes, that's the main point of the API. From your own app, e-shop or internal tool you call Lucanto and issue an invoice without retyping anything; you can also sync clients and pull documents and their status. Endpoints, formats and authentication are documented at docs.lucanto.eu.
Which token should I use?
For an integration that acts on behalf of the company — an e-shop, an accounting sync, an internal tool — use a workspace token (lct_live_). It is bound to that one workspace, so it cannot reach into anyone's other workspaces and it does not stop working when the person who created it leaves. A personal token (lct_pat_) carries your own access across every workspace you belong to, which suits personal scripts and AI assistants. One thing holds for both: a token is capped at creation by the permissions of the user who issued it, so it can never grant more access than that person already has.
How is this different from the MCP server?
Same access model, different consumer and a different token. The REST API is what your code calls, usually with a workspace token that belongs to the company. MCP is what an AI assistant like Claude or ChatGPT calls, with a personal token that belongs to you. Both use the same permission scopes and both count against the same monthly request limit. MCP is included on every plan, Free too.
Will you break my integration?
Notable changes — new endpoints, new fields and breaking changes — are published in a public API changelog you can filter by tag and follow over RSS. Breaking changes are tagged as such, so a change that would affect you is announced before it reaches your integration rather than discovered when something stops working.
Do you offer technical support for the API?
API technical support is available from the Starter plan up. On Free you get the API itself with 100 requests a month, but not support for it. If you're working on an integration and need a hand, write to us through the contact form.