{"openapi":"3.1.0","info":{"title":"PDF Inteligente — API","version":"1.0.0","description":"Serviço de manipulação de PDF. Autenticação por API key (Authorization: Bearer). Resposta binária (o arquivo)."},"servers":[{"url":"https://pdfdoc.documentonobrasil.com.br"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"paths":{"/api/v1/merge":{"post":{"summary":"Une vários PDFs em um, na ordem enviada.","description":"Executado no servidor.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"files":{"type":"string","format":"binary","description":"2+ PDFs"}},"required":["files"]}}}},"responses":{"200":{"description":"Arquivo (application/pdf)","content":{"application/pdf":{}}},"400":{"description":"Entrada inválida"},"401":{"description":"Token ausente/inválido"},"403":{"description":"Sem permissão"},"502":{"description":"Falha no worker"}}}},"/api/v1/split":{"post":{"summary":"Extrai páginas em um único PDF.","description":"Executado no servidor.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"PDF"},"ranges":{"type":"string","description":"Intervalos, ex.: \"1-3,7,10-12\""},"pages":{"type":"string","description":"Páginas, ex.: \"1,3,5\" (1-based)"}},"required":["file"]}}}},"responses":{"200":{"description":"Arquivo (application/pdf)","content":{"application/pdf":{}}},"400":{"description":"Entrada inválida"},"401":{"description":"Token ausente/inválido"},"403":{"description":"Sem permissão"},"502":{"description":"Falha no worker"}}}},"/api/v1/pages":{"post":{"summary":"Editor de páginas: remover, extrair, reordenar ou girar.","description":"Executado no servidor.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"PDF"},"action":{"type":"string","description":"remove | extract | reorder | rotate"},"pages":{"type":"string","description":"1-based; lista/permutação conforme a ação"},"rotation":{"type":"integer","description":"graus (rotate), múltiplo de 90"}},"required":["file","action"]}}}},"responses":{"200":{"description":"Arquivo (application/pdf)","content":{"application/pdf":{}}},"400":{"description":"Entrada inválida"},"401":{"description":"Token ausente/inválido"},"403":{"description":"Sem permissão"},"502":{"description":"Falha no worker"}}}},"/api/v1/edit":{"post":{"summary":"Carimba texto e tarjas visuais (preencher requerimento / editar).","description":"Executado no servidor.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"PDF"},"elements":{"type":"string","description":"Array de elementos (text/rect) com coords relativas 0..1. Ver docs."}},"required":["file","elements"]}}}},"responses":{"200":{"description":"Arquivo (application/pdf)","content":{"application/pdf":{}}},"400":{"description":"Entrada inválida"},"401":{"description":"Token ausente/inválido"},"403":{"description":"Sem permissão"},"502":{"description":"Falha no worker"}}}},"/api/v1/redact":{"post":{"summary":"Remoção REAL: apaga o conteúdo sob as áreas (não recuperável).","description":"Executado no worker.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"PDF"},"rects":{"type":"string","description":"Array {page,leftPct,topPct,widthPct,heightPct,color}"}},"required":["file","rects"]}}}},"responses":{"200":{"description":"Arquivo (application/pdf)","content":{"application/pdf":{}}},"400":{"description":"Entrada inválida"},"401":{"description":"Token ausente/inválido"},"403":{"description":"Sem permissão"},"502":{"description":"Falha no worker"}}}},"/api/v1/office-to-pdf":{"post":{"summary":"Converte Office (docx/xlsx/pptx/odt…) em PDF.","description":"Executado no worker.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"Arquivo Office"},"ext":{"type":"string","description":"Extensão, ex.: \"docx\""}},"required":["file","ext"]}}}},"responses":{"200":{"description":"Arquivo (application/pdf)","content":{"application/pdf":{}}},"400":{"description":"Entrada inválida"},"401":{"description":"Token ausente/inválido"},"403":{"description":"Sem permissão"},"502":{"description":"Falha no worker"}}}},"/api/v1/pdf-to-office":{"post":{"summary":"Converte PDF em Word/Excel.","description":"Executado no worker.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"PDF"},"target":{"type":"string","description":"docx (padrão) | xlsx"}},"required":["file"]}}}},"responses":{"200":{"description":"Arquivo (docx/xlsx)","content":{"docx/xlsx":{}}},"400":{"description":"Entrada inválida"},"401":{"description":"Token ausente/inválido"},"403":{"description":"Sem permissão"},"502":{"description":"Falha no worker"}}}},"/api/v1/image-to-pdf":{"post":{"summary":"Converte uma ou mais imagens em um PDF.","description":"Executado no worker.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"files":{"type":"string","format":"binary","description":"Imagens (jpg/png)"}},"required":["files"]}}}},"responses":{"200":{"description":"Arquivo (application/pdf)","content":{"application/pdf":{}}},"400":{"description":"Entrada inválida"},"401":{"description":"Token ausente/inválido"},"403":{"description":"Sem permissão"},"502":{"description":"Falha no worker"}}}},"/api/v1/ocr":{"post":{"summary":"OCR: PDF escaneado → PDF/A pesquisável.","description":"Executado no worker.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"PDF escaneado"},"lang":{"type":"string","description":"Idioma Tesseract, padrão \"por\""}},"required":["file"]}}}},"responses":{"200":{"description":"Arquivo (application/pdf)","content":{"application/pdf":{}}},"400":{"description":"Entrada inválida"},"401":{"description":"Token ausente/inválido"},"403":{"description":"Sem permissão"},"502":{"description":"Falha no worker"}}}},"/api/v1/compress":{"post":{"summary":"Comprime/otimiza o PDF.","description":"Executado no worker.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"PDF"},"level":{"type":"string","description":"screen | ebook (padrão) | printer | prepress"}},"required":["file"]}}}},"responses":{"200":{"description":"Arquivo (application/pdf)","content":{"application/pdf":{}}},"400":{"description":"Entrada inválida"},"401":{"description":"Token ausente/inválido"},"403":{"description":"Sem permissão"},"502":{"description":"Falha no worker"}}}},"/api/v1/unlock":{"post":{"summary":"Remove senha/restrições do PDF.","description":"Executado no worker.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"PDF"},"password":{"type":"string","description":"Senha (se houver)"}},"required":["file"]}}}},"responses":{"200":{"description":"Arquivo (application/pdf)","content":{"application/pdf":{}}},"400":{"description":"Entrada inválida"},"401":{"description":"Token ausente/inválido"},"403":{"description":"Sem permissão"},"502":{"description":"Falha no worker"}}}},"/api/v1/repair":{"post":{"summary":"Repara PDF corrompido.","description":"Executado no worker.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"PDF"}},"required":["file"]}}}},"responses":{"200":{"description":"Arquivo (application/pdf)","content":{"application/pdf":{}}},"400":{"description":"Entrada inválida"},"401":{"description":"Token ausente/inválido"},"403":{"description":"Sem permissão"},"502":{"description":"Falha no worker"}}}},"/api/v1/heic-to-jpg":{"post":{"summary":"Converte foto HEIC em JPG.","description":"Executado no worker.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"HEIC/HEIF"}},"required":["file"]}}}},"responses":{"200":{"description":"Arquivo (image/jpeg)","content":{"image/jpeg":{}}},"400":{"description":"Entrada inválida"},"401":{"description":"Token ausente/inválido"},"403":{"description":"Sem permissão"},"502":{"description":"Falha no worker"}}}},"/api/v1/heic-to-pdf":{"post":{"summary":"Converte uma ou mais fotos HEIC em um PDF.","description":"Executado no worker.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"files":{"type":"string","format":"binary","description":"HEIC/HEIF"}},"required":["files"]}}}},"responses":{"200":{"description":"Arquivo (application/pdf)","content":{"application/pdf":{}}},"400":{"description":"Entrada inválida"},"401":{"description":"Token ausente/inválido"},"403":{"description":"Sem permissão"},"502":{"description":"Falha no worker"}}}}}}