API de Workflows
Todos los endpoints requieren una sesión iniciada (cookie) a menos que se indique lo contrario. Las respuestas son JSON: { ok: true, data } o { ok: false, error }. Errores comunes: 400 validación, 401 no autenticado, 403 prohibido, 404 no encontrado, 429 límite de peticiones, 502/503 upstream. Los endpoints públicos /api/v1 se autentican con Authorization: Bearer pdflean_… y deben enviar un tipo de contenido JSON.
En esta página
Flujos de trabajo
| Método | Ruta | Descripción |
|---|---|---|
| GET | /api/workflows | Listar sus flujos de trabajo |
| POST | /api/workflows | Crear un flujo de trabajo (borrador) |
| GET | /api/workflows/:id | Obtener un flujo de trabajo |
| PUT | /api/workflows/:id | Actualizar un flujo de trabajo (borrador, versión+1) |
| DELETE | /api/workflows/:id | Eliminar un flujo de trabajo |
| POST | /api/workflows/:id/publish | Publicar una versión |
| GET | /api/workflows/:id/versions | Listar versiones |
| POST | /api/workflows/:id/versions/:version/restore | Restaurar una versión |
Disparadores y hooks
| Método | Ruta | Descripción |
|---|---|---|
| GET | /api/workflows/triggers | Listar disparadores |
| POST | /api/workflows/triggers | Crear un disparador (webhook/programación/email/drive) |
| POST | /api/workflows/triggers/:id/run | Ejecutar un disparador ahora |
| DELETE | /api/workflows/triggers/:id | Eliminar un disparador |
| POST | /api/workflows/hook/:token | Webhook entrante (autenticación por token, sin sesión; cuerpo JSON) |
Ejecuciones y revisiones
| Método | Ruta | Descripción |
|---|---|---|
| POST | /api/workflows/runs | Crear una ejecución (en cola) |
| GET | /api/workflows/runs | Listar ejecuciones |
| GET | /api/workflows/runs/:id | Detalles de la ejecución y pasos |
| POST | /api/workflows/runs/:id/retry | Reintentar una ejecución fallida/en cola |
| GET | /api/workflows/reviews | Revisiones humanas pendientes |
| POST | /api/workflows/reviews/:id | Aprobar/rechazar una revisión |
Puente en la nube
| Método | Ruta | Descripción |
|---|---|---|
| GET | /api/workflows/cloud/status | Estado del puente de VPS independiente |
| POST | /api/workflows/cloud/convert | Office → PDF vía VPS independiente (LibreOffice) |
| POST | /api/workflows/cloud/ocr | OCR vía VPS independiente (Tesseract) |
| POST | /api/workflows/cloud/extract | Extraer campos de factura/genéricos de un PDF (pdfjs + reglas) |
Archivo y retención
| Método | Ruta | Descripción |
|---|---|---|
| GET | /api/workflows/archive | Listar documentos archivados y integridad de la cadena |
| POST | /api/workflows/archive | Archivar un documento (base64, cadena de hash SHA-256) |
| GET | /api/workflows/archive/:id/verify | Verificar la cadena de hash del archivo |
| GET | /api/workflows/archive/export | Exportar CSV de auditoría del archivo (incluye tombstones) |
| POST | /api/workflows/archive/:id/hold | Establecer/quitar retención legal |
| POST | /api/workflows/archive/:id/compliance | Habilitar bloqueo de cumplimiento WORM irreversible |
| DELETE | /api/workflows/archive/:id | Eliminar un archivo (bloqueado bajo retención legal) |
API pública v1
| Método | Ruta | Descripción |
|---|---|---|
| GET | /api/v1/openapi.json | Especificación OpenAPI 3.1 (público, sin autenticación) |
| GET | /api/v1/me | Propietario actual de la clave API (clave Bearer) |
| GET | /api/v1/usage | Panel de uso: saldo, historial de 30 días, llamadas recientes |
| GET | /api/v1/workflows | Listar flujos de trabajo (alcance workflow.read) |
| GET | /api/v1/workflows/:id | Obtener un flujo de trabajo (alcance workflow.read) |
| POST | /api/v1/workflows/:id/run | Poner en cola una ejecución (alcance workflow.run) |
| GET | /api/v1/runs | Listar ejecuciones (alcance workflow.read) |
| POST | /api/v1/pdf/merge | Combinar PDFs (alcance pdf.merge; 2–10 archivos en base64) |
| POST | /api/v1/pdf/split | Conservar páginas seleccionadas (alcance pdf.split; rangos como "1-3,5") |
| POST | /api/v1/pdf/compress | Comprimir estructuralmente un PDF (alcance pdf.compress) |
| GET | /api/v1/jobs/:id | Estado del trabajo (gratis) |
| GET | /api/v1/jobs/:id/download | Descargar el resultado de un trabajo (gratis) |
| POST | /api/v1/convert/office | Convertir documentos Office/ODF (alcance pdf.convert) |
| POST | /api/v1/convert/linearize | Linearizar un PDF para una vista web rápida (alcance pdf.convert) |
| POST | /api/v1/convert/typst | Compilar código fuente Typst/Markdown a PDF (alcance pdf.convert) |
| POST | /api/v1/ocr | Aplicar OCR a un PDF escaneado para hacerlo buscable (alcance pdf.ocr) |
| POST | /api/v1/ocr/text | Aplicar OCR a una sola imagen para obtener texto (alcance pdf.ocr) |
| POST | /api/v1/validate/pdfa | Verificación de conformidad PDF/A (alcance pdf.validate) |
| POST | /api/v1/validate/pdfua | Verificación de accesibilidad PDF/UA (alcance pdf.validate) |
| POST | /api/v1/validate/signature | Informe de verificación de firma digital (alcance pdf.validate) |
| POST | /api/v1/sign | Firma digital PAdES (alcance pdf.sign; par de claves PEM opcional) |
| POST | /api/v1/redact | Redacción real de coincidencias o áreas de texto (alcance pdf.redact) |
| POST | /api/v1/extract | Extracción de campos basada en texto y reglas (alcance pdf.extract) |
| POST | /api/v1/docling | Análisis de diseño estructurado mediante Docling (alcance pdf.extract) |
| POST | /api/v1/scan/pii | Escanear texto en busca de información personal (alcance 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 |