API Workflow
Tous les points de terminaison nécessitent une session connectée (cookie) sauf indication contraire. Les réponses sont en JSON : { ok: true, data } ou { ok: false, error }. Erreurs courantes : 400 validation, 401 non authentifié, 403 interdit, 404 introuvable, 429 limitation de débit, 502/503 en amont. Les points de terminaison publics /api/v1 s'authentifient avec Authorization: Bearer pdflean_… et doivent envoyer un type de contenu JSON.
Sur cette page
Workflows
| Méthode | Chemin | Description |
|---|---|---|
| GET | /api/workflows | Lister vos workflows |
| POST | /api/workflows | Créer un workflow (brouillon) |
| GET | /api/workflows/:id | Obtenir un workflow |
| PUT | /api/workflows/:id | Mettre à jour un workflow (brouillon, version+1) |
| DELETE | /api/workflows/:id | Supprimer un workflow |
| POST | /api/workflows/:id/publish | Publier une version |
| GET | /api/workflows/:id/versions | Lister les versions |
| POST | /api/workflows/:id/versions/:version/restore | Restaurer une version |
Déclencheurs & Hooks
| Méthode | Chemin | Description |
|---|---|---|
| GET | /api/workflows/triggers | Lister les déclencheurs |
| POST | /api/workflows/triggers | Créer un déclencheur (webhook/planification/e-mail/drive) |
| POST | /api/workflows/triggers/:id/run | Exécuter un déclencheur maintenant |
| DELETE | /api/workflows/triggers/:id | Supprimer un déclencheur |
| POST | /api/workflows/hook/:token | Webhook entrant (auth par token, sans session ; corps JSON) |
Exécutions & Revues
| Méthode | Chemin | Description |
|---|---|---|
| POST | /api/workflows/runs | Créer une exécution (en file d'attente) |
| GET | /api/workflows/runs | Lister les exécutions |
| GET | /api/workflows/runs/:id | Détails de l'exécution et des étapes |
| POST | /api/workflows/runs/:id/retry | Réessayer une exécution échouée/en file d'attente |
| GET | /api/workflows/reviews | Revues humaines en attente |
| POST | /api/workflows/reviews/:id | Approuver/rejeter une revue |
Pont Cloud
| Méthode | Chemin | Description |
|---|---|---|
| GET | /api/workflows/cloud/status | Statut du pont VPS autonome |
| POST | /api/workflows/cloud/convert | Office → PDF via VPS autonome (LibreOffice) |
| POST | /api/workflows/cloud/ocr | OCR via VPS autonome (Tesseract) |
| POST | /api/workflows/cloud/extract | Extraire les champs de facture/génériques d'un PDF (pdfjs + règles) |
Archivage & Rétention
| Méthode | Chemin | Description |
|---|---|---|
| GET | /api/workflows/archive | Lister les documents archivés et l'intégrité de la chaîne |
| POST | /api/workflows/archive | Archiver un document (base64, chaîne de hachage SHA-256) |
| GET | /api/workflows/archive/:id/verify | Vérifier la chaîne de hachage de l'archive |
| GET | /api/workflows/archive/export | Exporter le CSV d'audit des archives (inclut les marqueurs de suppression) |
| POST | /api/workflows/archive/:id/hold | Activer/désactiver la conservation légale |
| POST | /api/workflows/archive/:id/compliance | Activer le verrouillage de conformité WORM irréversible |
| DELETE | /api/workflows/archive/:id | Supprimer une archive (bloquée sous conservation légale) |
API Publique v1
| Méthode | Chemin | Description |
|---|---|---|
| GET | /api/v1/openapi.json | Spécification OpenAPI 3.1 (publique, sans authentification) |
| GET | /api/v1/me | Propriétaire actuel de la clé API (clé Bearer) |
| GET | /api/v1/usage | Tableau de bord d'utilisation : solde, historique sur 30 jours, appels récents |
| GET | /api/v1/workflows | Lister les workflows (portée workflow.read) |
| GET | /api/v1/workflows/:id | Obtenir un workflow (portée workflow.read) |
| POST | /api/v1/workflows/:id/run | Mettre en file d'attente une exécution (portée workflow.run) |
| GET | /api/v1/runs | Lister les exécutions (portée workflow.read) |
| POST | /api/v1/pdf/merge | Fusionner des PDF (portée pdf.merge ; 2 à 10 fichiers en base64) |
| POST | /api/v1/pdf/split | Conserver les pages sélectionnées (portée pdf.split ; plages comme « 1-3,5 ») |
| POST | /api/v1/pdf/compress | Compresser structurellement un PDF (portée pdf.compress) |
| GET | /api/v1/jobs/:id | Statut du job (gratuit) |
| GET | /api/v1/jobs/:id/download | Télécharger le résultat d'un job (gratuit) |
| POST | /api/v1/convert/office | Convertir des documents Office/ODF (portée pdf.convert) |
| POST | /api/v1/convert/linearize | Linéariser un PDF pour un affichage web rapide (portée pdf.convert) |
| POST | /api/v1/convert/typst | Compiler une source Typst/Markdown en PDF (portée pdf.convert) |
| POST | /api/v1/ocr | Effectuer l'OCR d'un PDF scanné en PDF interrogeable (portée pdf.ocr) |
| POST | /api/v1/ocr/text | Effectuer l'OCR d'une seule image en texte (portée pdf.ocr) |
| POST | /api/v1/validate/pdfa | Vérification de conformité PDF/A (portée pdf.validate) |
| POST | /api/v1/validate/pdfua | Vérification d'accessibilité PDF/UA (portée pdf.validate) |
| POST | /api/v1/validate/signature | Rapport de vérification de signature numérique (portée pdf.validate) |
| POST | /api/v1/sign | Signature numérique PAdES (portée pdf.sign ; paire de clés PEM optionnelle) |
| POST | /api/v1/redact | Suppression définitive des occurrences textuelles ou zones correspondantes (portée pdf.redact) |
| POST | /api/v1/extract | Extraction de champs basée sur texte et règles (portée pdf.extract) |
| POST | /api/v1/docling | Analyse de mise en page structurée via Docling (portée pdf.extract) |
| POST | /api/v1/scan/pii | Analyser le texte pour détecter des informations personnelles (portée pii.detect) |
Credit consumption
Member credits refresh each billing cycle (no rollover) and are spent before purchased credits. Credits are $0.001 each.
Top up API credits in your account (from $5, never expires)
| Method | Endpoint | Credits |
|---|---|---|
| GET | /jobs/:id | 0 per call |
| GET | /jobs/:id/download | 0 per call |
| GET | /me | 0 per call |
| GET | /runs | 0 per call |
| GET | /usage | 0 per call |
| GET | /workflows | 0 per call |
| GET | /workflows/:id | 0 per call |
| POST | /ai/chat | 3 per call |
| POST | /ai/extract | 5 per call |
| POST | /ai/pii-detect | 4 per call |
| POST | /ai/summarize | 3 per call |
| POST | /ai/translate | 3 per call |
| POST | /convert/linearize | 1 per call |
| POST | /convert/office | 2 per call |
| POST | /convert/typst | 1 per call |
| POST | /docling | 3 per call |
| POST | /extract | 2 per call |
| POST | /ocr | 3 per page |
| POST | /ocr/text | 1 per call |
| POST | /pdf/compress | 1 per call |
| POST | /pdf/merge | 1 per call |
| POST | /pdf/split | 1 per call |
| POST | /redact | 3 per call |
| POST | /scan/pii | 2 per call |
| POST | /sign | 5 per envelope |
| POST | /validate/pdfa | 2 per call |
| POST | /validate/pdfua | 2 per call |
| POST | /validate/signature | 2 per call |
| POST | /workflows/:id/run | 1 per call |
| ai.chat | 2 per call | |
| convert.html_to_pdf | 4 per page | |
| convert.office_to_pdf | 10 per page | |
| convert.pdf_to_office | 12 per page | |
| convert.pdfa | 8 per page | |
| esign.envelope | 750 per envelope | |
| pdf.ocr | 3 per page | |
| pdf.ocr.high | 8 per page |