openapi: 3.1.0 info: title: Stirling PDF - Processing API description: >- API documentation for PDF processing operations including conversion, manipulation, security, and utility functions. termsOfService: 'https://www.stirlingpdf.com/terms' contact: name: Stirling Software url: 'https://www.stirlingpdf.com' email: contact@stirlingpdf.com license: name: MIT url: >- https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/refs/heads/main/LICENSE version: 1.0.0 servers: - url: 'http://localhost:8080' description: Generated server url tags: - name: Filter description: Filter APIs - name: Security description: Security APIs - name: Pipeline description: Pipeline APIs - name: Proprietary UI Data description: APIs for React UI data (Proprietary features) - name: Analysis description: Analysis APIs - name: Misc description: Miscellaneous APIs - name: Convert description: Convert APIs - name: General description: General APIs paths: /api/v1/security/validate-signature: post: tags: - Security summary: Validate PDF Digital Signature description: >- Validates the digital signatures in a PDF file against default or custom certificates. Input:PDF Output:JSON Type:SISO operationId: validateSignature requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/SignatureValidationRequest' responses: '200': description: OK content: '*/*': schema: type: array items: $ref: '#/components/schemas/SignatureValidationResult' /api/v1/security/sanitize-pdf: post: tags: - Security summary: Sanitize a PDF file description: >- This endpoint processes a PDF file and removes specific elements based on the provided options. Input:PDF Output:PDF Type:SISO operationId: sanitizePDF requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/SanitizePdfRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/security/remove-password: post: tags: - Security summary: Remove password from a PDF file description: >- This endpoint removes the password from a protected PDF file. Users need to provide the existing password. Input:PDF Output:PDF Type:SISO operationId: removePassword requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFPasswordRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/security/remove-cert-sign: post: tags: - Security summary: Remove digital signature from PDF description: >- This endpoint accepts a PDF file and returns the PDF file without the digital signature. Input:PDF, Output:PDF Type:SISO operationId: removeCertSignPDF requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/security/redact: post: tags: - Security summary: Redacts areas and pages in a PDF document description: >- This operation takes an input PDF file with a list of areas, page number(s)/range(s)/function(s) to redact. Input:PDF, Output:PDF, Type:SISO operationId: redactPdfManual requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ManualRedactPdfRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/security/get-info-on-pdf: post: tags: - Security summary: Summary here description: 'desc. Input:PDF Output:JSON Type:SISO' operationId: getPdfInfo requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/security/cert-sign: post: tags: - Security summary: Sign PDF with a Digital Certificate description: >- This endpoint accepts a PDF file, a digital certificate and related information to sign the PDF. It then returns the digitally signed PDF file. Input:PDF Output:PDF Type:SISO operationId: signPDFWithCert requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/SignPDFWithCertRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SignPDFWithCertRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/security/auto-redact: post: tags: - Security summary: Redacts listOfText in a PDF document description: >- This operation takes an input PDF file and redacts the provided listOfText. Input:PDF, Output:PDF, Type:SISO operationId: redactPdf requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/RedactPdfRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/security/add-watermark: post: tags: - Security summary: Add watermark to a PDF file description: >- This endpoint adds a watermark to a given PDF file. Users can specify the watermark type (text or image), rotation, opacity, width spacer, and height spacer. Input:PDF Output:PDF Type:SISO operationId: addWatermark requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/AddWatermarkRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/security/add-password: post: tags: - Security summary: Add password to a PDF file description: >- This endpoint adds password protection to a PDF file. Users can specify a set of permissions that should be applied to the file. Input:PDF Output:PDF operationId: addPassword requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/AddPasswordRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/pipeline/handleData: post: tags: - Pipeline operationId: handleData requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/HandleDataRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/update-metadata: post: tags: - Misc summary: Update metadata of a PDF file description: >- This endpoint allows you to update the metadata of a given PDF file. You can add, modify, or delete standard and custom metadata fields. Input:PDF Output:PDF Type:SISO operationId: metadata requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/MetadataRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/unlock-pdf-forms: post: tags: - Misc summary: Remove read-only property from form fields description: >- Removing read-only property from form fields making them fillableInput:PDF, Output:PDF. Type:SISO operationId: unlockPDFForms requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/show-javascript: post: tags: - Misc summary: Grabs all JS from a PDF and returns a single JS file with all code description: 'desc. Input:PDF Output:JS Type:SISO' operationId: extractHeader requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/scanner-effect: post: tags: - Misc summary: Apply scanner effect to PDF description: >- Applies various effects to simulate a scanned document, including rotation, noise, and edge softening. Input:PDF Output:PDF Type:SISO operationId: scannerEffect requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ScannerEffectRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/replace-invert-pdf: post: tags: - Misc summary: Replace-Invert Color PDF description: >- This endpoint accepts a PDF file and option of invert all colors or replace text and background colors. Input:PDF Output:PDF Type:SISO operationId: replaceAndInvertColor requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ReplaceAndInvertColorRequest' responses: '200': description: OK content: '*/*': schema: type: string format: binary /api/v1/misc/repair: post: tags: - Misc summary: Repair a PDF file description: >- This endpoint repairs a given PDF file by running Ghostscript (primary), qpdf (fallback), or PDFBox (if no external tools available). The PDF is first saved to a temporary location, repaired, read back, and then returned as a response. Input:PDF Output:PDF Type:SISO operationId: repairPdf requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/remove-blanks: post: tags: - Misc summary: Remove blank pages from a PDF file description: >- This endpoint removes blank pages from a given PDF file. Users can specify the threshold and white percentage to tune the detection of blank pages. Input:PDF Output:PDF Type:SISO operationId: removeBlankPages requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/RemoveBlankPagesRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/ocr-pdf: post: tags: - Misc summary: Process a PDF file with OCR description: >- This endpoint processes a PDF file using OCR (Optical Character Recognition). Users can specify languages, sidecar, deskew, clean, cleanFinal, ocrType, ocrRenderType, and removeImagesAfter options. Uses OCRmyPDF if available, falls back to Tesseract. Input:PDF Output:PDF Type:SI-Conditional operationId: processPdfWithOCR requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ProcessPdfWithOcrRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/flatten: post: tags: - Misc summary: Flatten PDF form fields or full page description: >- Flattening just PDF form fields or converting each page to images to make text unselectable. Input:PDF, Output:PDF. Type:SISO operationId: flatten requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/FlattenRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/extract-images: post: tags: - Misc summary: Extract images from a PDF file description: >- This endpoint extracts images from a given PDF file and returns them in a zip file. Users can specify the output image format. Input:PDF Output:IMAGE/ZIP Type:SIMO operationId: extractImages requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFExtractImagesRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/extract-image-scans: post: tags: - Misc summary: Extract image scans from an input file description: >- This endpoint extracts image scans from a given file based on certain parameters. Users can specify angle threshold, tolerance, minimum area, minimum contour area, and border size. Input:PDF Output:IMAGE/ZIP Type:SIMO operationId: extractImageScans requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ExtractImageScansRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/decompress-pdf: post: tags: - Misc summary: Decompress PDF streams description: Fully decompresses all PDF streams including text content operationId: decompressPdf requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/compress-pdf: post: tags: - Misc summary: Optimize PDF file description: >- This endpoint accepts a PDF file and optimizes it based on the provided parameters. Input:PDF Output:PDF Type:SISO operationId: optimizePdf requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/OptimizePdfRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/auto-split-pdf: post: tags: - Misc summary: Auto split PDF pages into separate documents description: >- This endpoint accepts a PDF file, scans each page for a specific QR code, and splits the document at the QR code boundaries. The output is a zip file containing each separate PDF document. Input:PDF Output:ZIP-PDF Type:SISO operationId: autoSplitPdf requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/AutoSplitPdfRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/auto-rename: post: tags: - Misc summary: Extract header from PDF file description: >- This endpoint accepts a PDF file and attempts to extract its title or header based on heuristics. Input:PDF Output:PDF Type:SISO operationId: extractHeader_1 requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ExtractHeaderRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/add-stamp: post: tags: - Misc summary: Add stamp to a PDF file description: >- This endpoint adds a stamp to a given PDF file. Users can specify the stamp type (text or image), rotation, opacity, width spacer, and height spacer. Input:PDF Output:PDF Type:SISO operationId: addStamp requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/AddStampRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/add-page-numbers: post: tags: - Misc summary: Add page numbers to a PDF document description: >- This operation takes an input PDF file and adds page numbers to it. Input:PDF Output:PDF Type:SISO operationId: addPageNumbers requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/AddPageNumbersRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/add-image: post: tags: - Misc summary: Overlay image onto a PDF file description: >- This endpoint overlays an image onto a PDF file at the specified coordinates. The image can be overlaid on every page of the PDF if specified. Input:PDF/IMAGE Output:PDF Type:SISO operationId: overlayImage requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/OverlayImageRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/misc/add-attachments: post: tags: - Misc summary: Add attachments to PDF description: 'This endpoint adds attachments to a PDF. Input:PDF, Output:PDF Type:MISO' operationId: addAttachments requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/AddAttachmentRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/split-pdf-by-sections: post: tags: - General summary: Split PDF pages into smaller sections description: >- Split each page of a PDF into smaller sections based on the user's choice (halves, thirds, quarters, etc.), both vertically and horizontally. Input:PDF Output:ZIP-PDF Type:SISO operationId: splitPdf requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/SplitPdfBySectionsRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/split-pdf-by-chapters: post: tags: - General summary: Split PDFs by Chapters description: Splits a PDF into chapters and returns a ZIP file. operationId: splitPdf_1 requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/SplitPdfByChaptersRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/split-pages: post: tags: - General summary: Split a PDF file into separate documents description: >- This endpoint splits a given PDF file into separate documents based on the specified page numbers or ranges. Users can specify pages using individual numbers, ranges, or 'all' for every page. Input:PDF Output:PDF Type:SIMO operationId: splitPdf_2 requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFWithPageNums' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/split-by-size-or-count: post: tags: - General summary: Auto split PDF pages into separate documents based on size or count description: "split PDF into multiple paged documents based on size/count, ie if 20 pages and split into 5, it does 5 documents each 4 pages\r\n if 10MB and each page is 1MB and you enter 2MB then 5 docs each 2MB (rounded so that it accepts 1.9MB but not 2.1MB) Input:PDF Output:ZIP-PDF Type:SISO" operationId: autoSplitPdf_1 requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/SplitPdfBySizeOrCountRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/scale-pages: post: tags: - General summary: Change the size of a PDF page/document description: >- This operation takes an input PDF file and the size to scale the pages to in the output PDF file. Input:PDF Output:PDF Type:SISO operationId: scalePages requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ScalePagesRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/rotate-pdf: post: tags: - General summary: Rotate a PDF file description: >- This endpoint rotates a given PDF file by a specified angle. The angle must be a multiple of 90. Input:PDF Output:PDF Type:SISO operationId: rotatePDF requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/RotatePDFRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/remove-pages: post: tags: - General summary: Remove pages from a PDF file description: >- This endpoint removes specified pages from a given PDF file. Users can provide a comma-separated list of page numbers or ranges to delete. Input:PDF Output:PDF Type:SISO operationId: deletePages requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFWithPageNums' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/remove-image-pdf: post: tags: - General summary: Remove images from file to reduce the file size. description: >- This endpoint remove images from file to reduce the file size.Input:PDF Output:PDF Type:MISO operationId: removeImages requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/rearrange-pages: post: tags: - General summary: Rearrange pages in a PDF file description: >- This endpoint rearranges pages in a given PDF file based on the specified page order or custom mode. Users can provide a page order as a comma-separated list of page numbers or page ranges, or a custom mode. Input:PDF Output:PDF operationId: rearrangePages requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/RearrangePagesRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/pdf-to-single-page: post: tags: - General summary: Convert a multi-page PDF into a single long page PDF description: >- This endpoint converts a multi-page PDF document into a single paged PDF document. The width of the single page will be same as the input's width, but the height will be the sum of all the pages' heights. Input:PDF Output:PDF Type:SISO operationId: pdfToSinglePage requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/overlay-pdfs: post: tags: - General summary: Overlay PDF files in various modes description: >- Overlay PDF files onto a base PDF with different modes: Sequential, Interleaved, or Fixed Repeat. Input:PDF Output:PDF Type:MIMO operationId: overlayPdfs requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/OverlayPdfsRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/multi-page-layout: post: tags: - General summary: Merge multiple pages of a PDF document into a single page description: >- This operation takes an input PDF file and the number of pages to merge into a single sheet in the output PDF file. Input:PDF Output:PDF Type:SISO operationId: mergeMultiplePagesIntoOne requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/MergeMultiplePagesRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/merge-pdfs: post: tags: - General summary: Merge multiple PDF files into one description: >- This endpoint merges multiple PDF files into a single PDF file. The merged file will contain all pages from the input files in the order they were provided. Input:PDF Output:PDF Type:MISO operationId: mergePdfs requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/MergePdfsRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/extract-bookmarks: post: tags: - General summary: Extract PDF Bookmarks description: Extracts bookmarks/table of contents from a PDF document as JSON. operationId: extractBookmarks requestBody: content: multipart/form-data: schema: type: object properties: file: type: string format: binary required: - file responses: '200': description: OK content: '*/*': schema: type: array items: type: object additionalProperties: {} /api/v1/general/edit-table-of-contents: post: tags: - General summary: Edit Table of Contents description: Add or edit bookmarks/table of contents in a PDF document. operationId: editTableOfContents requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/EditTableOfContentsRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/crop: post: tags: - General summary: Crops a PDF document description: >- This operation takes an input PDF file and crops it according to the given coordinates. Input:PDF Output:PDF Type:SISO operationId: cropPdf requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/CropPdfForm' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/general/booklet-imposition: post: tags: - General summary: Create a booklet with proper page imposition description: >- This operation combines page reordering for booklet printing with multi-page layout. It rearranges pages in the correct order for booklet printing and places multiple pages on each sheet for proper folding and binding. Input:PDF Output:PDF Type:SISO operationId: createBookletImposition requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/BookletImpositionRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/filter/filter-page-size: post: tags: - Filter summary: Checks if a PDF is of a certain size description: 'Input:PDF Output:Boolean Type:SISO' operationId: pageSize requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PageSizeRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/filter/filter-page-rotation: post: tags: - Filter summary: Checks if a PDF is of a certain rotation description: 'Input:PDF Output:Boolean Type:SISO' operationId: pageRotation requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PageRotationRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/filter/filter-page-count: post: tags: - Filter summary: 'Checks if a PDF is greater, less or equal to a setPageCount' description: 'Input:PDF Output:Boolean Type:SISO' operationId: pageCount requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFComparisonAndCount' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/filter/filter-file-size: post: tags: - Filter summary: Checks if a PDF is a set file size description: 'Input:PDF Output:Boolean Type:SISO' operationId: fileSize requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/FileSizeRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/filter/filter-contains-text: post: tags: - Filter summary: 'Checks if a PDF contains set text, returns true if does' description: 'Input:PDF Output:Boolean Type:SISO' operationId: containsText requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ContainsTextRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/filter/filter-contains-image: post: tags: - Filter summary: Checks if a PDF contains an image description: 'Input:PDF Output:Boolean Type:SISO' operationId: containsImage requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFWithPageNums' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/convert/url/pdf: post: tags: - Convert summary: Convert a URL to a PDF description: >- This endpoint fetches content from a URL and converts it to a PDF format. Input:N/A Output:PDF Type:SISO operationId: urlToPdf requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/UrlToPdfRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/convert/pdf/xml: post: tags: - Convert summary: Convert PDF to XML description: >- This endpoint converts a PDF file to an XML file. Input:PDF Output:XML Type:SISO operationId: processPdfToXML requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/convert/pdf/word: post: tags: - Convert summary: Convert PDF to Word document description: >- This endpoint converts a given PDF file to a Word document format. Input:PDF Output:WORD Type:SISO operationId: processPdfToWord requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PdfToWordRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/convert/pdf/text: post: tags: - Convert summary: Convert PDF to Text or RTF format description: >- This endpoint converts a given PDF file to Text or RTF format. Input:PDF Output:TXT Type:SISO operationId: processPdfToRTForTXT requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PdfToTextOrRTFRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/convert/pdf/presentation: post: tags: - Convert summary: Convert PDF to Presentation format description: >- This endpoint converts a given PDF file to a Presentation format. Input:PDF Output:PPT Type:SISO operationId: processPdfToPresentation requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PdfToPresentationRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/convert/pdf/pdfa: post: tags: - Convert summary: Convert a PDF to a PDF/A description: >- This endpoint converts a PDF file to a PDF/A file using LibreOffice. PDF/A is a format designed for long-term archiving of digital documents. Input:PDF Output:PDF Type:SISO operationId: pdfToPdfA requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PdfToPdfARequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/convert/pdf/markdown: post: tags: - Convert summary: Convert PDF to Markdown description: >- This endpoint converts a PDF file to Markdown format. Input:PDF Output:Markdown Type:SISO operationId: processPdfToMarkdown requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/convert/pdf/img: post: tags: - Convert summary: Convert PDF to image(s) description: >- This endpoint converts a PDF file to image(s) with the specified image format, color type, and DPI. Users can choose to get a single image or multiple images. Input:PDF Output:Image Type:SI-Conditional operationId: convertToImage requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ConvertToImageRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/convert/pdf/html: post: tags: - Convert summary: Convert PDF to HTML description: >- This endpoint converts a PDF file to HTML format. Input:PDF Output:HTML Type:SISO operationId: processPdfToHTML requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/convert/pdf/csv: post: tags: - Convert summary: Extracts a CSV document from a PDF description: >- This operation takes an input PDF file and returns CSV file of whole page. Input:PDF Output:CSV Type:SISO operationId: pdfToCsv requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFWithPageNums' responses: '200': description: OK content: '*/*': schema: type: object /api/v1/convert/markdown/pdf: post: tags: - Convert summary: Convert a Markdown file to PDF description: >- This endpoint takes a Markdown file input, converts it to HTML, and then to PDF format. Input:MARKDOWN Output:PDF Type:SISO operationId: markdownToPdf requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/GeneralFile' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/convert/img/pdf: post: tags: - Convert summary: Convert images to a PDF file description: >- This endpoint converts one or more images to a PDF file. Users can specify whether to stretch the images to fit the PDF page, and whether to automatically rotate the images. Input:Image Output:PDF Type:MISO operationId: convertToPdf requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ConvertToPdfRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/convert/html/pdf: post: tags: - Convert summary: Convert an HTML or ZIP (containing HTML and CSS) to PDF description: >- This endpoint takes an HTML or ZIP file input and converts it to a PDF format. Input:HTML Output:PDF Type:SISO operationId: HtmlToPdf requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/HTMLToPdfRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/convert/file/pdf: post: tags: - Convert summary: Convert a file to a PDF using LibreOffice description: >- This endpoint converts a given file to a PDF using LibreOffice API Input:ANY Output:PDF Type:SISO operationId: processFileToPDF requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/GeneralFile' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/convert/eml/pdf: post: tags: - Convert summary: Convert EML to PDF description: >- This endpoint converts EML (email) files to PDF format with extensive customization options. Features include font settings, image constraints, display modes, attachment handling, and HTML debug output. Input: EML file, Output: PDF or HTML file. Type: SISO operationId: convertEmlToPdf requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/EmlToPdfRequest' responses: '200': description: OK content: '*/*': schema: type: string format: byte /api/v1/analysis/security-info: post: tags: - Analysis summary: Get security information description: >- Returns encryption and permission details. Input:PDF Output:JSON Type:SISO operationId: getSecurityInfo requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: object additionalProperties: {} /api/v1/analysis/page-dimensions: post: tags: - Analysis summary: Get page dimensions for all pages description: 'Returns width and height of each page. Input:PDF Output:JSON Type:SISO' operationId: getPageDimensions requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: array items: type: object additionalProperties: type: number format: float /api/v1/analysis/page-count: post: tags: - Analysis summary: Get PDF page count description: 'Returns total number of pages in PDF. Input:PDF Output:JSON Type:SISO' operationId: getPageCount requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: object additionalProperties: type: integer format: int32 /api/v1/analysis/form-fields: post: tags: - Analysis summary: Get form field information description: >- Returns count and details of form fields. Input:PDF Output:JSON Type:SISO operationId: getFormFields requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: object additionalProperties: {} /api/v1/analysis/font-info: post: tags: - Analysis summary: Get font information description: >- Returns list of fonts used in the document. Input:PDF Output:JSON Type:SISO operationId: getFontInfo requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: object additionalProperties: {} /api/v1/analysis/document-properties: post: tags: - Analysis summary: Get PDF document properties description: 'Returns title, author, subject, etc. Input:PDF Output:JSON Type:SISO' operationId: getDocumentProperties requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: object additionalProperties: type: string /api/v1/analysis/basic-info: post: tags: - Analysis summary: Get basic PDF information description: 'Returns page count, version, file size. Input:PDF Output:JSON Type:SISO' operationId: getBasicInfo requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: object additionalProperties: {} /api/v1/analysis/annotation-info: post: tags: - Analysis summary: Get annotation information description: 'Returns count and types of annotations. Input:PDF Output:JSON Type:SISO' operationId: getAnnotationInfo requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/PDFFile' responses: '200': description: OK content: '*/*': schema: type: object additionalProperties: {} /api/v1/proprietary/ui-data/teams: get: tags: - Proprietary UI Data summary: Get teams list data operationId: getTeamsData responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/TeamsData' '/api/v1/proprietary/ui-data/teams/{id}': get: tags: - Proprietary UI Data summary: Get team details data operationId: getTeamDetailsData parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/TeamDetailsData' /api/v1/proprietary/ui-data/login: get: tags: - Proprietary UI Data summary: Get login page data operationId: getLoginData responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/LoginData' /api/v1/proprietary/ui-data/database: get: tags: - Proprietary UI Data summary: Get database management data operationId: getDatabaseData responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/DatabaseData' /api/v1/proprietary/ui-data/audit-dashboard: get: tags: - Proprietary UI Data summary: Get audit dashboard data operationId: getAuditDashboardData responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/AuditDashboardData' /api/v1/proprietary/ui-data/admin-settings: get: tags: - Proprietary UI Data summary: Get admin settings data operationId: getAdminSettingsData responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/AdminSettingsData' /api/v1/proprietary/ui-data/account: get: tags: - Proprietary UI Data summary: Get account page data operationId: getAccountData responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/AccountData' components: schemas: SignatureValidationRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr certFile: type: string format: binary description: (Optional) file to compare PDF cert signatures against x.509 format SignatureValidationResult: type: object properties: valid: type: boolean signerName: type: string signatureDate: type: string reason: type: string location: type: string errorMessage: type: string chainValid: type: boolean trustValid: type: boolean notExpired: type: boolean notRevoked: type: boolean issuerDN: type: string subjectDN: type: string serialNumber: type: string validFrom: type: string validUntil: type: string signatureAlgorithm: type: string keySize: type: integer format: int32 version: type: string keyUsages: type: array items: type: string selfSigned: type: boolean SanitizePdfRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr removeJavaScript: type: boolean default: true description: Remove JavaScript actions from the PDF removeEmbeddedFiles: type: boolean default: true description: Remove embedded files from the PDF removeXMPMetadata: type: boolean default: false description: Remove XMP metadata from the PDF removeMetadata: type: boolean default: false description: Remove document info metadata from the PDF removeLinks: type: boolean default: false description: Remove links from the PDF removeFonts: type: boolean default: false description: Remove fonts from the PDF required: - removeEmbeddedFiles - removeFonts - removeJavaScript - removeLinks - removeMetadata - removeXMPMetadata PDFPasswordRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr password: type: string format: password description: The password of the PDF file PDFFile: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr ManualRedactPdfRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr pageNumbers: type: string default: all description: >- The pages to select, Supports ranges (e.g., '1,3,5-9'), or 'all' or functions in the format 'an+b' where 'a' is the multiplier of the page number 'n', and 'b' is a constant (e.g., '2n+1', '3n', '6n-5') redactions: type: array description: A list of areas that should be redacted items: $ref: '#/components/schemas/RedactionArea' convertPDFToImage: type: boolean default: false description: Convert the redacted PDF to an image pageRedactionColor: type: string default: '#000000' description: The color used to fully redact certain pages required: - convertPDFToImage - pageNumbers - pageRedactionColor - redactions RedactionArea: type: object properties: x: type: number format: double description: The left edge point of the area to be redacted. 'y': type: number format: double description: The top edge point of the area to be redacted. height: type: number format: double description: The height of the area to be redacted. width: type: number format: double description: The width of the area to be redacted. page: type: integer format: int32 description: The page on which the area should be redacted. color: type: string description: The color used to redact the specified area. SignPDFWithCertRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr certType: type: string description: The type of the digital certificate enum: - PEM - PKCS12 - JKS - SERVER privateKeyFile: type: string format: binary description: >- The private key for the digital certificate (required for PEM type certificates) certFile: type: string format: binary description: The digital certificate (required for PEM type certificates) p12File: type: string format: binary description: The PKCS12 keystore file (required for PKCS12 type certificates) jksFile: type: string format: binary description: The JKS keystore file (Java Key Store) password: type: string format: password description: The password for the keystore or the private key showSignature: type: boolean default: false description: Whether to visually show the signature in the PDF file reason: type: string default: Signed by SPDF description: The reason for signing the PDF location: type: string default: SPDF description: The location where the PDF is signed name: type: string default: SPDF description: The name of the signer pageNumber: type: integer format: int32 default: 1 description: >- The page number where the signature should be visible. This is required if showSignature is set to true showLogo: type: boolean default: true description: Whether to visually show a signature logo along with the signature required: - certType - showLogo - showSignature RedactPdfRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr listOfText: type: string default: 'text,text2' description: List of text to redact from the PDF useRegex: type: boolean default: false description: Whether to use regex for the listOfText wholeWordSearch: type: boolean default: false description: Whether to use whole word search redactColor: type: string default: '#000000' description: The color for redaction customPadding: type: number description: Custom padding for redaction convertPDFToImage: type: boolean default: false description: Convert the redacted PDF to an image required: - convertPDFToImage - customPadding - listOfText - redactColor - useRegex - wholeWordSearch AddWatermarkRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr watermarkType: type: string description: The watermark type (text or image) enum: - text - image watermarkText: type: string default: Stirling Software description: The watermark text watermarkImage: type: string format: binary description: The watermark image alphabet: type: string default: roman description: The selected alphabet enum: - roman - arabic - japanese - korean - chinese fontSize: type: number format: float default: 30 description: The font size of the watermark text rotation: type: number format: float default: 0 description: The rotation of the watermark in degrees opacity: type: number format: float default: '0.5' description: The opacity of the watermark (0.0 - 1.0) widthSpacer: type: integer format: int32 default: 50 description: The width spacer between watermark elements heightSpacer: type: integer format: int32 default: 50 description: The height spacer between watermark elements customColor: type: string default: '#d3d3d3' description: The color for watermark convertPDFToImage: type: boolean default: false description: Convert the redacted PDF to an image required: - convertPDFToImage - watermarkType AddPasswordRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr ownerPassword: type: string format: password description: >- The owner password to be added to the PDF file (Restricts what can be done with the document once it is opened) password: type: string format: password description: >- The password to be added to the PDF file (Restricts the opening of the document itself.) keyLength: type: integer format: int32 default: 256 description: The length of the encryption key enum: - '40' - '128' - '256' preventAssembly: type: boolean default: false description: Whether document assembly is prevented preventExtractContent: type: boolean default: false description: Whether content extraction is prevented preventExtractForAccessibility: type: boolean default: false description: Whether content extraction for accessibility is prevented preventFillInForm: type: boolean default: false description: Whether form filling is prevented preventModify: type: boolean default: false description: Whether document modification is prevented preventModifyAnnotations: type: boolean default: false description: Whether modification of annotations is prevented preventPrinting: type: boolean default: false description: Whether printing of the document is prevented preventPrintingFaithful: type: boolean default: false description: Whether faithful printing is prevented required: - keyLength HandleDataRequest: type: object properties: fileInput: type: array description: The input files items: type: string format: binary json: type: string default: '{}' description: JSON String required: - fileInput - json MetadataRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr deleteAll: type: boolean default: false description: Delete all metadata if set to true author: type: string default: author description: The author of the document creationDate: type: string default: '2023/10/01 12:00:00' description: 'The creation date of the document (format: yyyy/MM/dd HH:mm:ss)' pattern: 'yyyy/MM/dd HH:mm:ss' creator: type: string default: creator description: The creator of the document keywords: type: string default: keywords description: The keywords for the document modificationDate: type: string default: '2023/10/01 12:00:00' description: 'The modification date of the document (format: yyyy/MM/dd HH:mm:ss)' pattern: 'yyyy/MM/dd HH:mm:ss' producer: type: string default: producer description: The producer of the document subject: type: string default: subject description: The subject of the document title: type: string default: title description: The title of the document trapped: type: string default: 'False' description: The trapped status of the document enum: - 'True' - 'False' - Unknown allRequestParams: type: object additionalProperties: type: string description: >- Map list of key and value of custom parameters. Note these must start with customKey and customValue if they are non-standard required: - deleteAll ScannerEffectRequest: type: object properties: fileInput: type: string format: binary description: PDF file to process quality: type: string description: Scan quality preset enum: - low - medium - high example: high rotation: type: string description: Rotation preset enum: - none - slight - moderate - severe example: none colorspace: type: string description: Colorspace for output image enum: - grayscale - color example: grayscale border: type: integer format: int32 description: Border thickness in pixels example: 20 rotate: type: integer format: int32 description: Base rotation in degrees example: 0 rotateVariance: type: integer format: int32 description: Random rotation variance in degrees example: 2 brightness: type: number format: float description: Brightness multiplier (1.0 = no change) example: 1 contrast: type: number format: float description: Contrast multiplier (1.0 = no change) example: 1 blur: type: number format: float description: 'Blur amount (0 = none, higher = more blur)' example: 1 noise: type: number format: float description: 'Noise amount (0 = none, higher = more noise)' example: 8 yellowish: type: boolean description: Simulate yellowed paper example: false resolution: type: integer format: int32 description: Rendering resolution in DPI example: 300 advancedEnabled: type: boolean description: Whether advanced settings are enabled example: false rotationValue: type: integer format: int32 qualityValue: type: integer format: int32 required: - fileInput - quality - rotation ReplaceAndInvertColorRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr replaceAndInvertOption: type: string default: HIGH_CONTRAST_COLOR description: Replace and Invert color options of a pdf. enum: - HIGH_CONTRAST_COLOR - CUSTOM_COLOR - FULL_INVERSION highContrastColorCombination: type: string default: WHITE_TEXT_ON_BLACK description: >- If HIGH_CONTRAST_COLOR option selected, then pick the default color option for text and background. enum: - WHITE_TEXT_ON_BLACK - BLACK_TEXT_ON_WHITE - YELLOW_TEXT_ON_BLACK - GREEN_TEXT_ON_BLACK backGroundColor: type: string description: >- If CUSTOM_COLOR option selected, then pick the custom color for background. Expected color value should be 24bit decimal value of a color textColor: type: string description: >- If CUSTOM_COLOR option selected, then pick the custom color for text. Expected color value should be 24bit decimal value of a color required: - highContrastColorCombination - replaceAndInvertOption RemoveBlankPagesRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr threshold: type: integer format: int32 default: 10 description: The threshold value to determine blank pages maximum: 255 minimum: 0 whitePercent: type: number format: float default: '99.9' description: The percentage of white color on a page to consider it as blank maximum: 100 minimum: 0.1 required: - threshold - whitePercent ProcessPdfWithOcrRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr languages: type: array default: '["eng"]' description: 'List of languages to use in OCR processing, e.g., ''eng'', ''deu''' items: type: string sidecar: type: boolean description: Include OCR text in a sidecar text file if set to true deskew: type: boolean description: Deskew the input file if set to true clean: type: boolean description: Clean the input file if set to true cleanFinal: type: boolean description: Clean the final output if set to true ocrType: type: string description: 'Specify the OCR type, e.g., ''skip-text'', ''force-ocr'', or ''Normal''' enum: - skip-text - force-ocr - Normal ocrRenderType: type: string default: hocr description: 'Specify the OCR render type, either ''hocr'' or ''sandwich''' enum: - hocr - sandwich removeImagesAfter: type: boolean description: Remove images from the output PDF if set to true required: - languages - ocrRenderType - ocrType FlattenRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr flattenOnlyForms: type: boolean default: false description: >- True to flatten only the forms, false to flatten full PDF (Convert page to image) required: - flattenOnlyForms PDFExtractImagesRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr format: type: string default: png description: 'The output image format e.g., ''png'', ''jpeg'', or ''gif''' enum: - png - jpeg - gif allowDuplicates: type: boolean default: false description: >- Boolean to enable/disable the saving of duplicate images, true to enable duplicates required: - format ExtractImageScansRequest: type: object properties: fileInput: type: string format: binary description: The input file containing image scans angleThreshold: type: integer format: int32 default: 5 description: The angle threshold for the image scan extraction tolerance: type: integer format: int32 default: 20 description: The tolerance for the image scan extraction minArea: type: integer format: int32 default: 8000 description: The minimum area for the image scan extraction minContourArea: type: integer format: int32 default: 500 description: The minimum contour area for the image scan extraction borderSize: type: integer format: int32 default: 1 description: The border size for the image scan extraction required: - angleThreshold - borderSize - fileInput - minArea - minContourArea - tolerance OptimizePdfRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr optimizeLevel: type: integer format: int32 default: 5 description: >- The level of optimization to apply to the PDF file. Higher values indicate greater compression but may reduce quality. enum: - '1' - '2' - '3' - '4' - '5' - '6' - '7' - '8' - '9' expectedOutputSize: type: string default: 25KB description: 'The expected output size, e.g. ''100MB'', ''25KB'', etc.' linearize: type: boolean default: false description: >- Whether to linearize the PDF for faster web viewing. Default is false. normalize: type: boolean default: false description: >- Whether to normalize the PDF content for better compatibility. Default is false. grayscale: type: boolean default: false description: Whether to convert the PDF to grayscale. Default is false. required: - expectedOutputSize - grayscale - linearize - normalize - optimizeLevel AutoSplitPdfRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr duplexMode: type: boolean default: false description: >- Flag indicating if the duplex mode is active, where the page after the divider also gets removed. ExtractHeaderRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr useFirstTextAsFallback: type: boolean default: false description: >- Flag indicating whether to use the first text as a fallback if no suitable title is found. Defaults to false. AddStampRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr pageNumbers: type: string default: all description: >- The pages to select, Supports ranges (e.g., '1,3,5-9'), or 'all' or functions in the format 'an+b' where 'a' is the multiplier of the page number 'n', and 'b' is a constant (e.g., '2n+1', '3n', '6n-5') stampType: type: string description: The stamp type (text or image) enum: - text - image stampText: type: string default: Stirling Software description: The stamp text stampImage: type: string format: binary description: The stamp image alphabet: type: string default: roman description: The selected alphabet of the stamp text enum: - roman - arabic - japanese - korean - chinese fontSize: type: number format: float default: 30 description: The font size of the stamp text and image rotation: type: number format: float default: 0 description: The rotation of the stamp in degrees opacity: type: number format: float default: '0.5' description: The opacity of the stamp (0.0 - 1.0) position: type: integer format: int32 default: 5 description: >- Position for stamp placement based on a 1-9 grid (1: bottom-left, 2: bottom-center, 3: bottom-right, 4: middle-left, 5: middle-center, 6: middle-right, 7: top-left, 8: top-center, 9: top-right) enum: - '1' - '2' - '3' - '4' - '5' - '6' - '7' - '8' - '9' overrideX: type: number format: float default: -1 description: >- Override X coordinate for stamp placement. If set, it will override the position-based calculation. Negative value means no override. overrideY: type: number format: float default: -1 description: >- Override Y coordinate for stamp placement. If set, it will override the position-based calculation. Negative value means no override. customMargin: type: string default: medium description: Specifies the margin size for the stamp. enum: - small - medium - large - x-large customColor: type: string default: '#d3d3d3' description: The color of the stamp text required: - customMargin - fontSize - opacity - overrideX - overrideY - pageNumbers - position - rotation - stampType AddPageNumbersRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr pageNumbers: type: string default: all description: >- The pages to select, Supports ranges (e.g., '1,3,5-9'), or 'all' or functions in the format 'an+b' where 'a' is the multiplier of the page number 'n', and 'b' is a constant (e.g., '2n+1', '3n', '6n-5') customMargin: type: string default: medium description: 'Custom margin: small/medium/large/x-large' enum: - small - medium - large - x-large fontSize: type: number format: float default: 12 description: Font size for page numbers minimum: 1 fontType: type: string description: Font type for page numbers enum: - helvetica - courier - times position: type: integer format: int32 default: 8 description: >- Position: 1-9 representing positions on the page (1=top-left, 2=top-center, 3=top-right, 4=middle-left, 5=middle-center, 6=middle-right, 7=bottom-left, 8=bottom-center, 9=bottom-right) enum: - '1' - '2' - '3' - '4' - '5' - '6' - '7' - '8' - '9' startingNumber: type: integer format: int32 default: 1 description: Starting number for page numbering minimum: 1 pagesToNumber: type: string default: all description: 'Which pages to number (e.g. ''1,3-5,7'' or ''all'')' customText: type: string default: '{n}' description: >- Custom text pattern. Available variables: {n}=current page number, {total}=total pages, {filename}=original filename example: 'Page {n} of {total}' required: - fontSize - fontType - pageNumbers - position - startingNumber OverlayImageRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr imageFile: type: string format: binary description: The image file to be overlaid onto the PDF. x: type: number format: float default: 0 description: The x-coordinate at which to place the top-left corner of the image. 'y': type: number format: float default: 0 description: The y-coordinate at which to place the top-left corner of the image. everyPage: type: boolean default: false description: Whether to overlay the image onto every page of the PDF. required: - everyPage - imageFile - x - 'y' AddAttachmentRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr attachments: type: array format: binary description: The image file to be overlaid onto the PDF. items: type: string format: binary required: - attachments SplitPdfBySectionsRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr horizontalDivisions: type: integer format: int32 default: 0 description: Number of horizontal divisions for each PDF page minimum: 0 verticalDivisions: type: integer format: int32 default: 1 description: Number of vertical divisions for each PDF page minimum: 0 merge: type: boolean default: true description: Merge the split documents into a single PDF required: - horizontalDivisions - merge - verticalDivisions SplitPdfByChaptersRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr includeMetadata: type: boolean default: true description: Whether to include Metadata or not allowDuplicates: type: boolean default: true description: Whether to allow duplicates or not bookmarkLevel: type: integer format: int32 default: 2 description: Maximum bookmark level required minimum: 0 required: - allowDuplicates - bookmarkLevel - includeMetadata PDFWithPageNums: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr pageNumbers: type: string default: all description: >- The pages to select, Supports ranges (e.g., '1,3,5-9'), or 'all' or functions in the format 'an+b' where 'a' is the multiplier of the page number 'n', and 'b' is a constant (e.g., '2n+1', '3n', '6n-5') required: - pageNumbers SplitPdfBySizeOrCountRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr splitType: type: integer format: int32 default: 0 description: >- Determines the type of split: 0 for size, 1 for page count, 2 for document count splitValue: type: string default: 10MB description: >- Value for split: size in MB (e.g., '10MB') or number of pages (e.g., '5') ScalePagesRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr pageSize: type: string description: >- The scale of pages in the output PDF. Acceptable values are A0-A6, LETTER, LEGAL, KEEP. enum: - A0 - A1 - A2 - A3 - A4 - A5 - A6 - LETTER - LEGAL - KEEP scaleFactor: type: number format: float default: 1 description: >- The scale of the content on the pages of the output PDF. Acceptable values are floats. minimum: 0 required: - pageSize - scaleFactor RotatePDFRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr angle: type: integer format: int32 default: 90 description: >- The angle by which to rotate the PDF file. This should be a multiple of 90. enum: - '0' - '90' - '180' - '270' required: - angle RearrangePagesRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr pageNumbers: type: string default: all description: >- The pages to select, Supports ranges (e.g., '1,3,5-9'), or 'all' or functions in the format 'an+b' where 'a' is the multiplier of the page number 'n', and 'b' is a constant (e.g., '2n+1', '3n', '6n-5') customMode: type: string description: > The custom mode for page rearrangement. Valid values are: CUSTOM: Uses order defined in PageNums DUPLICATE: Duplicate pages n times (if Page order defined as 4, then duplicates each page 4 times)REVERSE_ORDER: Reverses the order of all pages. DUPLEX_SORT: Sorts pages as if all fronts were scanned then all backs in reverse (1, n, 2, n-1, ...). BOOKLET_SORT: Arranges pages for booklet printing (last, first, second, second last, ...). ODD_EVEN_SPLIT: Splits and arranges pages into odd and even numbered pages. ODD_EVEN_MERGE: Merges pages and organises them alternately into odd and even pages. REMOVE_FIRST: Removes the first page. REMOVE_LAST: Removes the last page. REMOVE_FIRST_AND_LAST: Removes both the first and the last pages. enum: - CUSTOM - REVERSE_ORDER - DUPLEX_SORT - BOOKLET_SORT - SIDE_STITCH_BOOKLET_SORT - ODD_EVEN_SPLIT - ODD_EVEN_MERGE - REMOVE_FIRST - REMOVE_LAST - REMOVE_FIRST_AND_LAST - DUPLICATE required: - pageNumbers OverlayPdfsRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr overlayFiles: type: array description: >- An array of PDF files to be used as overlays on the base PDF. The order in these files is applied based on the selected mode. items: type: string format: binary overlayMode: type: string description: >- The mode of overlaying: 'SequentialOverlay' for sequential application, 'InterleavedOverlay' for round-robin application, 'FixedRepeatOverlay' for fixed repetition based on provided counts enum: - SequentialOverlay - InterleavedOverlay - FixedRepeatOverlay counts: type: array description: >- An array of integers specifying the number of times each corresponding overlay file should be applied in the 'FixedRepeatOverlay' mode. This should match the length of the overlayFiles array. items: type: integer format: int32 overlayPosition: type: number description: 'Overlay position 0 is Foregound, 1 is Background' enum: - '0' - '1' required: - overlayFiles - overlayMode - overlayPosition MergeMultiplePagesRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr pagesPerSheet: type: number default: 2 description: The number of pages to fit onto a single sheet in the output PDF. enum: - '2' - '3' - '4' - '9' - '16' addBorder: type: boolean description: Boolean for if you wish to add border around the pages required: - pagesPerSheet MergePdfsRequest: type: object properties: fileInput: type: array description: The input PDF files items: type: string format: binary sortType: type: string default: orderProvided description: The type of sorting to be applied on the input files before merging. enum: - orderProvided - byFileName - byDateModified - byDateCreated - byPDFTitle removeCertSign: type: boolean default: true description: >- Flag indicating whether to remove certification signatures from the merged PDF. If true, all certification signatures will be removed from the final merged document. generateToc: type: boolean default: false description: >- Flag indicating whether to generate a table of contents for the merged PDF. If true, a table of contents will be created using the input filenames as chapter names. required: - fileInput - removeCertSign - sortType EditTableOfContentsRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr bookmarkData: type: string description: Bookmark structure in JSON format example: - title: Chapter 1 pageNumber: 1 children: - title: Section 1.1 pageNumber: 2 replaceExisting: type: boolean description: Whether to replace existing bookmarks or append to them example: true CropPdfForm: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr x: type: number description: The x-coordinate of the top-left corner of the crop area 'y': type: number description: The y-coordinate of the top-left corner of the crop area width: type: number description: The width of the crop area height: type: number description: The height of the crop area BookletImpositionRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr bookletType: type: string default: BOOKLET description: The booklet type to create. enum: - BOOKLET - SIDE_STITCH_BOOKLET pagesPerSheet: type: number default: 2 description: The number of pages to fit onto a single sheet in the output PDF. enum: - '2' - '4' addBorder: type: boolean description: Boolean for if you wish to add border around the pages pageOrientation: type: string default: LANDSCAPE description: The page orientation for the output booklet sheets. enum: - LANDSCAPE - PORTRAIT required: - bookletType - pageOrientation - pagesPerSheet PageSizeRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr comparator: type: string description: 'The comparison type, accepts Greater, Equal, Less than' enum: - Greater - Equal - Less standardPageSize: type: string default: A4 description: Standard Page Size enum: - A0 - A1 - A2 - A3 - A4 - A5 - A6 - LETTER - LEGAL required: - comparator - standardPageSize PageRotationRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr comparator: type: string description: 'The comparison type, accepts Greater, Equal, Less than' enum: - Greater - Equal - Less rotation: type: integer format: int32 default: 0 description: Rotation in degrees required: - comparator - rotation PDFComparisonAndCount: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr comparator: type: string description: 'The comparison type, accepts Greater, Equal, Less than' enum: - Greater - Equal - Less pageCount: type: integer format: int32 default: 0 description: Count required: - comparator - pageCount FileSizeRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr comparator: type: string description: 'The comparison type, accepts Greater, Equal, Less than' enum: - Greater - Equal - Less fileSize: type: integer format: int64 default: 0 description: Size of the file in bytes required: - comparator - fileSize ContainsTextRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr pageNumbers: type: string default: all description: >- The pages to select, Supports ranges (e.g., '1,3,5-9'), or 'all' or functions in the format 'an+b' where 'a' is the multiplier of the page number 'n', and 'b' is a constant (e.g., '2n+1', '3n', '6n-5') text: type: string default: text description: The text to check for required: - pageNumbers - text UrlToPdfRequest: type: object properties: urlInput: type: string description: The input URL to be converted to a PDF file required: - urlInput PdfToWordRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr outputFormat: type: string description: The output Word document format enum: - doc - docx - odt required: - outputFormat PdfToTextOrRTFRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr outputFormat: type: string description: The output Text or RTF format enum: - rtf - txt required: - outputFormat PdfToPresentationRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr outputFormat: type: string description: The output Presentation format enum: - ppt - pptx - odp required: - outputFormat PdfToPdfARequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr outputFormat: type: string description: The output PDF/A type enum: - pdfa - pdfa-1 required: - outputFormat ConvertToImageRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr pageNumbers: type: string default: all description: >- The pages to select, Supports ranges (e.g., '1,3,5-9'), or 'all' or functions in the format 'an+b' where 'a' is the multiplier of the page number 'n', and 'b' is a constant (e.g., '2n+1', '3n', '6n-5') imageFormat: type: string default: png description: The output image format enum: - png - jpeg - jpg - gif - webp singleOrMultiple: type: string default: multiple description: >- Choose between a single image containing all pages or separate images for each page enum: - single - multiple colorType: type: string default: color description: The color type of the output image(s) enum: - color - greyscale - blackwhite dpi: type: integer format: int32 default: 300 description: The DPI (dots per inch) for the output image(s) required: - colorType - dpi - imageFormat - pageNumbers - singleOrMultiple GeneralFile: type: object properties: fileInput: type: string format: binary description: The input file required: - fileInput ConvertToPdfRequest: type: object properties: fileInput: type: array description: The input images to be converted to a PDF file items: type: string format: binary fitOption: type: string default: fillPage description: Option to determine how the image will fit onto the page enum: - fillPage - fitDocumentToImage - maintainAspectRatio colorType: type: string default: color description: The color type of the output image(s) enum: - color - greyscale - blackwhite autoRotate: type: boolean default: false description: >- Whether to automatically rotate the images to better fit the PDF page required: - autoRotate - colorType - fileInput - fitOption HTMLToPdfRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr zoom: type: number format: float default: 1 description: Zoom level for displaying the website. Default is '1'. required: - zoom EmlToPdfRequest: type: object properties: fileInput: type: string format: binary contentMediaType: application/pdf description: The input PDF file fileId: type: string description: File ID for server-side files (can be used instead of fileInput) example: a1b2c3d4-5678-90ab-cdef-ghijklmnopqr includeAttachments: type: boolean description: Include email attachments in the PDF output example: false maxAttachmentSizeMB: type: integer format: int32 description: >- Maximum attachment size in MB to include (default 10MB, range: 1-100) example: 10 maximum: 100 minimum: 1 downloadHtml: type: boolean description: Download HTML intermediate file instead of PDF example: false includeAllRecipients: type: boolean description: Include CC and BCC recipients in header (if available) example: true TeamWithUserCountDTO: type: object properties: id: type: integer format: int64 name: type: string userCount: type: integer format: int64 TeamsData: type: object properties: teamsWithCounts: type: array items: $ref: '#/components/schemas/TeamWithUserCountDTO' teamLastRequest: type: object additionalProperties: type: string format: date-time Authority: type: object properties: id: type: integer format: int64 authority: type: string user: $ref: '#/components/schemas/User' Team: type: object properties: id: type: integer format: int64 name: type: string users: type: array items: $ref: '#/components/schemas/User' uniqueItems: true TeamDetailsData: type: object properties: team: $ref: '#/components/schemas/Team' teamUsers: type: array items: $ref: '#/components/schemas/User' availableUsers: type: array items: $ref: '#/components/schemas/User' userLastRequest: type: object additionalProperties: type: string format: date-time User: type: object properties: id: type: integer format: int64 username: type: string password: type: string apiKey: type: string enabled: type: boolean isFirstLogin: type: boolean roleName: type: string authenticationType: type: string authorities: type: array items: $ref: '#/components/schemas/Authority' uniqueItems: true team: $ref: '#/components/schemas/Team' settings: type: object additionalProperties: type: string firstLogin: type: boolean rolesAsString: type: string accountNonExpired: type: boolean credentialsNonExpired: type: boolean accountNonLocked: type: boolean LoginData: type: object properties: providerList: type: object additionalProperties: type: string loginMethod: type: string altLogin: type: boolean DatabaseData: type: object properties: backupFiles: type: array items: $ref: '#/components/schemas/FileInfo' databaseVersion: type: string versionUnknown: type: boolean FileInfo: type: object properties: fileName: type: string filePath: type: string modificationDate: type: string format: date-time fileSize: type: integer format: int64 creationDate: type: string format: date-time formattedCreationDate: type: string formattedFileSize: type: string formattedModificationDate: type: string filePathAsPath: type: object properties: absolute: type: boolean fileSystem: type: object properties: open: type: boolean readOnly: type: boolean separator: type: string rootDirectories: {} fileStores: {} userPrincipalLookupService: {} nameCount: type: integer format: int32 AuditDashboardData: type: object properties: auditEnabled: type: boolean auditLevel: type: string enum: - 'OFF' - BASIC - STANDARD - VERBOSE auditLevelInt: type: integer format: int32 retentionDays: type: integer format: int32 auditLevels: type: array items: type: string enum: - 'OFF' - BASIC - STANDARD - VERBOSE auditEventTypes: type: array items: type: string enum: - USER_LOGIN - USER_LOGOUT - USER_FAILED_LOGIN - USER_PROFILE_UPDATE - SETTINGS_CHANGED - FILE_OPERATION - PDF_PROCESS - HTTP_REQUEST AdminSettingsData: type: object properties: users: type: array items: $ref: '#/components/schemas/User' currentUsername: type: string roleDetails: type: object additionalProperties: type: string userSessions: type: object additionalProperties: type: boolean userLastRequest: type: object additionalProperties: type: string format: date-time totalUsers: type: integer format: int32 activeUsers: type: integer format: int32 disabledUsers: type: integer format: int32 teams: type: array items: $ref: '#/components/schemas/Team' maxPaidUsers: type: integer format: int32 AccountData: type: object properties: username: type: string role: type: string settings: type: string changeCredsFlag: type: boolean saml2Login: type: boolean oauth2Login: type: boolean