CrateAPI without code
Any no-code tool that can send an HTTP request can call CrateAPI directly — no SDK, no server, no code. Below: ready-to-import templates for Make and n8n, and exact copy-paste steps for Zapier.
How this works
Every integration below is really just one HTTP call, configured through a different UI. /v1/validate/ubl and /v1/validate/cii are free and need no API key — the easiest way to try the whole thing right now, invoice XML in, a JSON report out. /v1/generate/*, /v1/convert/* and /v1/render/* are billable and read the X-API-Key header — get a free key on your account page (a free key still includes 50 billable calls a month, no card required).
- free Call it directly, right now — no signup, no key.
- needs API key Add your
X-API-Keyfrom your account — same URL pattern, a different endpoint.
Honest note. The Make blueprint and n8n workflow below follow each tool's own export format, and both point at the exact live endpoint shown next to them — we tested that HTTP call directly against the real API. We don't keep Make or n8n accounts ourselves, so we haven't run the import step inside either app. If an import ever looks off, the request underneath — URL, method, headers, body — is the part guaranteed to work; copy it by hand instead.
Make
Make's generic HTTP module — HTTP → Make a request — can call any URL, including CrateAPI. Unlike some competitors, that module ships on Make's free plan, not gated behind a paid tier.
Try it free: validate an invoice
- Create a scenario, add the HTTP app → Make a request module — or skip straight to step 2 and import the file below.
- Scenario menu (⋮) → Import Blueprint → pick the downloaded
.jsonfile. - Method
POST, URLhttps://api.crateapi.com/v1/validate/ubl, headerContent-Type: application/xml, body = an invoice XML — the blueprint already ships with a real sample wired in. - Run it once. CrateAPI answers with a JSON report —
valid, fatal/warning counts, findings — the rest of the scenario can branch on.
curl -X POST "https://api.crateapi.com/v1/validate/ubl" \ -H "Content-Type: application/xml" \ -H "X-CrateAPI-Source: make" \ --data-binary @invoice.xml
Switch to generate. Point the same module at https://api.crateapi.com/v1/generate/ubl?profile=peppol, add header X-API-Key: your-key-here, and switch the body to a JSON invoice (content type application/json) instead of XML. Download Make blueprint (generate)
n8n
n8n's built-in HTTP Request node does the same job. n8n is free and open-source, so this works identically on n8n Cloud or on an instance you run yourself.
Try it free: validate an invoice
- Create a workflow, add an HTTP Request node — or skip to step 2 and import the file below.
- Workflow menu (⋯) → Import from File → pick the downloaded
.jsonfile (it already includes a manual trigger, ready to run). - Method
POST, URLhttps://api.crateapi.com/v1/validate/ubl, headerContent-Type: application/xml, raw body = an invoice XML — the workflow already ships with a real sample filled in. - Click Test workflow. The node's output is the same JSON report —
valid, fatal/warning counts, findings.
curl -X POST "https://api.crateapi.com/v1/validate/ubl" \ -H "Content-Type: application/xml" \ -H "X-CrateAPI-Source: n8n" \ --data-binary @invoice.xml
Self-hosting n8n instead of using n8n Cloud? Nothing above changes — it's the same HTTP Request node either way.
Switch to generate. Point the node at https://api.crateapi.com/v1/generate/ubl?profile=peppol, add header X-API-Key: your-key-here, and switch the body type to JSON (a structured invoice) instead of raw XML. Download n8n workflow (generate)
Zapier
Honest note first: the generic action that can call any URL — Webhooks by Zapier — is not on Zapier's free plan; it needs one of Zapier's paid plans. Zapier also has no file-import for a single Zap, so there's no template to download here — just the exact fields to type in.
Try it free: validate an invoice
- Create a Zap, add the action app Webhooks by Zapier, event POST.
- Fill in the fields below exactly, then send a test — CrateAPI answers with a JSON report.
- Method
POST- URL
https://api.crateapi.com/v1/validate/ubl- Headers
Content-Type: application/xmlX-CrateAPI-Source: zapier- Payload
- Raw — paste an invoice XML
curl -X POST "https://api.crateapi.com/v1/validate/ubl" \ -H "Content-Type: application/xml" \ -H "X-CrateAPI-Source: zapier" \ --data-binary @invoice.xml
Switch to generate. Same action, different fields: URL https://api.crateapi.com/v1/generate/ubl?profile=peppol, add header X-API-Key: your-key-here, Payload Type Json, Data = a structured invoice.
See it without any of this
Every template above calls the same API you can test right now — try the free validator with your own file, or read the full reference.