Référence API
Liste complète des endpoints pour les deux produits CrateAPI : exemples curl, réponses, authentification, limites. Les chemins d'endpoint, les exemples curl, les noms de paramètres et de profils, ainsi que les payloads JSON restent en anglais partout - du code à copier-coller n'a pas besoin de traduction.
Authentification
URL de base e-invoicing : https://api.crateapi.com/v1. URL de base document tools : https://api.crateapi.com (chemins /pdf, /screenshot, /email, /extract). Envoyez votre clé via X-API-Key: <votre clé>. Les endpoints marqués gratuit ne nécessitent aucune clé - c'est voulu, pas un essai : la validation reste gratuite pour toujours.
curl -X POST https://api.crateapi.com/v1/validate/ubl \
-H "Content-Type: application/xml" \
--data-binary @invoice.xml
{"profile":"peppol","valid":true,"counts":{"fatal":0,"warning":0},"findings":[],"duration_ms":12}
curl -X POST https://api.crateapi.com/v1/generate/ubl?profile=peppol \
-H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
-d @invoice.json -o invoice.xml
API e-invoicing
EN 16931 : UBL/Peppol BIS, CII, Factur-X, FatturaPA (Italie : factures et avoirs TD01/TD04/TD05, codes Natura dont le forfettario), Order-X (bons de commande). Spécification OpenAPI complète : /openapi.json · documentation interactive : /docs (Swagger UI).
| Endpoint | Authentification | Notes |
|---|---|---|
POST /v1/validate/ubl | gratuit | Valide une facture UBL. `profile` : en16931, peppol, xrechnung, ro, fr, fr-extended. |
POST /v1/validate/cii | gratuit | Valide une facture CII. `profile` : en16931, xrechnung, fr, fr-extended. |
POST /v1/validate/facturapa | gratuit | Validation structurelle XSD FatturaPA uniquement (aucun schematron officiel disponible à vendoriser). |
POST /v1/validate/orderx | gratuit | Order-X Basic - validation XSD complète + schematron officiel. |
POST /v1/pdfa/validate | gratuit | Validation PDF/A (veraPDF). `flavour` : auto|1a|1b|2a|2b|2u|3a|3b|3u|4|4e|4f. |
GET /validator | gratuit | Validateur glisser-déposer dans le navigateur, même moteur, sans inscription. |
POST /v1/generate/ubl | clé X-API-Key requise | Modèle de facture JSON → XML UBL. `profile` : en16931, peppol, xrechnung, ro. |
POST /v1/generate/cii | clé X-API-Key requise | Modèle de facture JSON → XML CII. `profile` : en16931, xrechnung. |
POST /v1/generate/facturx | clé X-API-Key requise | Notre PDF visuel minimal + XML CII intégré (EN16931). |
POST /v1/generate/facturx/embed | clé X-API-Key requise | Votre PDF à votre marque + JSON de facture → PDF/A-3 avec CII intégré (multipart). |
POST /v1/generate/facturapa | clé X-API-Key requise | XML FatturaPA (Italie) : factures TD01, notes de crédit/débit TD04/TD05, codes Natura d'exonération de TVA (dont le forfettario N2.2), ritenuta/bollo/cassa en option. |
POST /v1/generate/orderx | clé X-API-Key requise | XML de bon de commande Order-X Basic (pas une facture). |
POST /v1/convert/ubl-to-cii | clé X-API-Key requise | Sans perte ou rejeté : 422 avec le détail plutôt qu'une dégradation silencieuse. |
POST /v1/convert/cii-to-ubl | clé X-API-Key requise | Même garantie, dans l'autre sens. |
POST /v1/render/html | clé X-API-Key requise | XML de facture → HTML lisible (visualisation officielle KoSIT). |
POST /v1/render/pdf | clé X-API-Key requise | XML de facture → PDF. `style` : compact (par défaut, 1 page) ou kosit (formulaire d'audit). |
POST /v1/pdfa/convert | clé X-API-Key requise | N'importe quel PDF → PDF/A-3b, avec fichiers intégrés en option. |
POST /v1/pdfa/consistency | clé X-API-Key requise | Factur-X : le XML intégré correspond-il au texte visible du PDF ? |
POST /v1/repair/ubl | clé X-API-Key requise | Auto-réparation au mieux : dates non-ISO, écarts arithmétiques sur les totaux. |
POST /v1/repair/cii | clé X-API-Key requise | Même chose, syntaxe CII. |
API Document Tools
PDF, capture d'écran, validation d'e-mail, extraction de contenu. Authentification : via RapidAPI (listing en attente) ou contactez-nous pour un accès direct. Spécifications par API : /pdf/openapi.json, /screenshot/openapi.json, /email/openapi.json, /extract/openapi.json.
| API | Endpoint | Notes |
|---|---|---|
POST /pdf/merge | Combine 2 PDF ou plus, dans l'ordre d'envoi. | |
POST /pdf/split | Extrait des pages, ex. `pages=1-3,5`. | |
POST /pdf/watermark | Filigrane texte en diagonale - `text`, `opacity`, `color`, `font_size`. | |
POST /pdf/protect | Chiffrement par mot de passe AES-256. | |
POST /pdf/compress | Recompression Ghostscript - `level` : low|medium|high ; ne renvoie jamais un fichier plus lourd que l'original. | |
POST /pdf/from-html | HTML brut → PDF (Chromium headless). | |
POST /pdf/from-url | URL publique → PDF, même garde-fou anti-SSRF que /screenshot. | |
POST /pdf/to-images | Pages → PNG/JPEG, renvoyées sous forme de ZIP. | |
POST /pdf/extract-text | Extraction de texte respectant la mise en page (poppler, repli sur pypdf). | |
POST /pdf/metadata | Nombre de pages, indicateur de chiffrement, métadonnées du document. | |
| screenshot | GET /screenshot/take | URL → PNG/JPEG. `block_ads`, `block_trackers`, `block_cookie_banners`, `cache_ttl`, `full_page`, `delay_ms`. |
GET /email/validate | Signaux syntaxe + MX + jetable + compte de rôle + fournisseur gratuit, avec un score. | |
POST /email/validate-batch | Jusqu'à 100 adresses, corps JSON. | |
POST /email/validate-bulk | Import CSV, jusqu'à 5 000 adresses ; `format=json` ou `format=csv` (résultats ajoutés). | |
| extract | GET /extract/article | URL → texte d'article propre + métadonnées, sans éléments superflus. |
| extract | POST /extract-html | HTML brut → texte propre (sans récupération réseau). |
Limites
E-invoicing : corps XML plafonné à 2 Mo, uploads PDF à 10 Mo. Le quota mensuel par clé (calibré par plan, généreux par défaut - voir tarifs) s'applique à tous les endpoints sauf /validate/* et /pdfa/validate, qui restent illimités.
Document tools : 100 requêtes/mois sur le plan gratuit, jusqu'à 50 000/mois sur Ultra - voir tarifs. La validation d'e-mails en masse est plafonnée à 5 000 adresses / 2 Mo par import.
Serveur MCP (agents IA)
Auto-hébergé, fonctionne dès aujourd'hui avec votre propre clé API - pas besoin d'attendre un endpoint hébergé :
{"mcpServers": {"crateapi-einvoicing": {
"command": "python", "args": ["-m", "einvoicing.mcp_server"],
"env": {"EINVOICE_API_KEY": "your-key-here"}}}}
Outils : validate_invoice (gratuit), repair_invoice, generate_invoice, convert_invoice. Résumé exploitable par machine de toute cette page : /llms.txt · /ai (JSON).