Composer Fly · document generation
The PDF you need,
from the data you already have.
Send a JSON with the template id, get the laid-out PDF back. The template is a Word, Excel or HTML file that whoever writes the documents updates on their own, without the developers.
- Word (.docx), Excel (.xlsx) and HTML in, PDF out.
- Loops, conditions, growing tables, images, charts, checkboxes ticked from the data.
- Every upload is a numbered version: roll back by activating the previous one.
- At a peak, if you ask, the document is queued instead of refused, and you collect it when it is ready.
- Try a template with sample JSON before you use it, and see which fields are missing.
- €0.20 a document, VAT excluded: 2 credits, whatever the format or page count.
POST /api/v1/compose/documents/generate Authorization: Bearer cmp_… { "data": { "customer": "Acme S.r.l.", "total": "1,240.00", "lines": [ … ] }, "settings": { "templateId": "invoice-2026" } } → 200 application/pdf
How it works
From template to PDF in three steps
The template
Write the document in Word, Excel or HTML and put placeholders where the data goes, in Jinja syntax. Upload it from the console or from a script.
The call
Your ERP, your CRM or a script sends a JSON with the template id and the values. No SDK: any language that can make a POST will do.
The PDF
You get the laid-out PDF, or a link to download it. If you ask, nothing stays on our servers: neither the data nor the document.
For template authors
One template, every variant you need
-
Your formats
The documents you already have in Word or Excel become templates: nothing is rewritten in a new language.
-
Tables and lists
Rows that grow as far as needed, totals, sections that appear only when a value is there.
-
Versions
Every upload is a version. Activate it, download it, roll back.
-
Validation
Before you send real data, a check tells you which fields are missing and what the call would cost.
-
Stable errors
Every error has a code and a number that never change: your code can branch on them.
-
Nothing kept
With dataless the document is made, delivered and not kept. Same price.
No friction
What costs days elsewhere is not here
-
No approval to go live
Sign up and the account is active at once. Production needs no review: only credit.
-
Try it free, with the real call
With
isTestthe same call spends no credit: same address, same key. -
Every call says what it cost
Item by item. Out of credit, a refusal with a code, never a pricier plan behind your back.
-
Errors you can read
A stable code for every outcome, explained in the guide; missing fields listed by name.
-
See what happened, and run it again
A curl command for every document, Send again for every webhook, your keys' errors by code.
-
The PDF looks like your Word file
We tell you which Word fonts are missing and what replaces them, as soon as you upload a template.
Questions
What people ask
Do I need to install anything?
No. It is an HTTP API with a Bearer key: any language that can make a POST is already a client.
Which formats can a template be?
Word (.docx), Excel (.xlsx) and HTML, with placeholders in Jinja syntax. The output is always PDF; you can ask for a PDF/A or PDF/UA conversion (a conversion request, compliance not verified).
How much does a document cost?
2 credits, that is €0.20 VAT excluded, whatever the format or page count. Credits are prepaid at €0.10 each and never expire. On sign-up you get 50, enough for 25 documents.
Can I generate many documents at once?
Yes, with bulk composition from a CSV file, switched on for your organisation on request: each document costs the same as a single call.
Can the document be sent for signature?
Yes: with Signer Fly you send it for signature, or with Document Fly you compose and send it in the same call.
Start today
Your first document in a few minutes
Create an account, upload a template, make the first call. There is nothing to install.
Sign-up includes 25 trial documents. No credit card. For businesses and professionals with a VAT number.