diff --git a/output-onlineyamltools.txt b/output-onlineyamltools.txt new file mode 100644 index 000000000..9a1a8006a --- /dev/null +++ b/output-onlineyamltools.txt @@ -0,0 +1,4417 @@ +openapi: 3.1.0 +info: + title: Stirling PDF API + description: |- + API documentation for all Server-Side processing. + Please note some functionality might be UI only and missing from here. + 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 + identifier: MIT + version: 1.2.0 +servers: + - url: 'https://stirlingpdf.io' + description: Generated server url +tags: + - name: Filter + description: Filter APIs + - name: Admin Settings + description: Admin-only Settings Management APIs + - name: Security + description: Security APIs + - name: Pipeline + description: Pipeline APIs + - name: Analysis + description: Analysis APIs + - name: Misc + description: Miscellaneous PDF APIs + - name: Misc + description: Miscellaneous APIs + - name: Info + description: Info APIs + - name: Convert + description: Convert APIs + - name: General + description: General APIs +paths: + /api/v1/admin/settings: + get: + tags: + - Admin Settings + summary: Get all application settings + description: >- + Retrieve all current application settings. Use includePending=true to + include settings that will take effect after restart. Admin access + required. + operationId: getSettings + parameters: + - name: includePending + in: query + required: false + schema: + type: boolean + default: false + responses: + '200': + description: Settings retrieved successfully + content: + '*/*': + schema: + type: object + '403': + description: Access denied - Admin role required + content: + '*/*': + schema: + type: object + put: + tags: + - Admin Settings + summary: Update application settings (delta updates) + description: >- + Update specific application settings using dot notation keys. Only sends + changed values. Changes take effect on restart. Admin access required. + operationId: updateSettings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateSettingsRequest' + required: true + responses: + '200': + description: Settings updated successfully + content: + '*/*': + schema: + type: string + '400': + description: Invalid setting key or value + content: + '*/*': + schema: + type: string + '403': + description: Access denied - Admin role required + content: + '*/*': + schema: + type: string + '500': + description: Failed to save settings to configuration file + content: + '*/*': + schema: + type: string + '/api/v1/admin/settings/section/{sectionName}': + get: + tags: + - Admin Settings + summary: Get specific settings section + description: >- + Retrieve settings for a specific section (e.g., security, system, ui). + Admin access required. + operationId: getSettingsSection + parameters: + - name: sectionName + in: path + required: true + schema: + type: string + responses: + '200': + description: Section settings retrieved successfully + content: + '*/*': + schema: + type: object + '400': + description: Invalid section name + content: + '*/*': + schema: + type: object + '403': + description: Access denied - Admin role required + content: + '*/*': + schema: + type: object + put: + tags: + - Admin Settings + summary: Update specific settings section + description: Update all settings within a specific section. Admin access required. + operationId: updateSettingsSection + parameters: + - name: sectionName + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: {} + required: true + responses: + '200': + description: Section settings updated successfully + content: + '*/*': + schema: + type: string + '400': + description: Invalid section name or data + content: + '*/*': + schema: + type: string + '403': + description: Access denied - Admin role required + content: + '*/*': + schema: + type: string + '500': + description: Failed to save settings + content: + '*/*': + schema: + type: string + '/api/v1/admin/settings/key/{key}': + get: + tags: + - Admin Settings + summary: Get specific setting value + description: >- + Retrieve value for a specific setting key using dot notation. Admin + access required. + operationId: getSettingValue + parameters: + - name: key + in: path + required: true + schema: + type: string + responses: + '200': + description: Setting value retrieved successfully + content: + '*/*': + schema: + type: object + '400': + description: Invalid setting key + content: + '*/*': + schema: + type: object + '403': + description: Access denied - Admin role required + content: + '*/*': + schema: + type: object + put: + tags: + - Admin Settings + summary: Update specific setting value + description: >- + Update value for a specific setting key using dot notation. Admin access + required. + operationId: updateSettingValue + parameters: + - name: key + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateSettingValueRequest' + required: true + responses: + '200': + description: Setting updated successfully + content: + '*/*': + schema: + type: string + '400': + description: Invalid setting key or value + content: + '*/*': + schema: + type: string + '403': + description: Access denied - Admin role required + content: + '*/*': + schema: + type: string + '500': + description: Failed to save setting + content: + '*/*': + schema: + type: string + /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: redactPDF + 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/send-email: + post: + tags: + - General + summary: Send an email with an attachment + description: >- + This endpoint sends an email with an attachment. Input:PDF + Output:Success/Failure Type:MISO + operationId: sendEmailWithAttachment + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/Email' + responses: + '200': + description: OK + content: + '*/*': + schema: + type: string + /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/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/admin/job/cleanup: + post: + tags: + - admin-job-controller + operationId: cleanupOldJobs + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + /audit/types: + get: + tags: + - audit-dashboard-controller + operationId: getAuditTypes + responses: + '200': + description: OK + content: + '*/*': + schema: + type: array + items: + type: string + /audit/stats: + get: + tags: + - audit-dashboard-controller + operationId: getAuditStats + parameters: + - name: days + in: query + required: false + schema: + type: integer + format: int32 + default: 7 + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + additionalProperties: {} + /audit/data: + get: + tags: + - audit-dashboard-controller + operationId: getAuditData + parameters: + - name: page + in: query + required: false + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + required: false + schema: + type: integer + format: int32 + default: 30 + - name: type + in: query + required: false + schema: + type: string + - name: principal + in: query + required: false + schema: + type: string + - name: startDate + in: query + required: false + schema: + type: string + format: date + - name: endDate + in: query + required: false + schema: + type: string + format: date + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + additionalProperties: {} + /api/v1/info/uptime: + get: + tags: + - Info + operationId: getUptime + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + /api/v1/info/status: + get: + tags: + - Info + summary: Application status and version + description: >- + This endpoint returns the status of the application and its version + number. + operationId: getStatus + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + /api/v1/info/requests: + get: + tags: + - Info + summary: POST request count + description: >- + This endpoint returns the total count of POST requests for a specific + endpoint or all endpoints. + operationId: getTotalRequests + parameters: + - name: endpoint + in: query + description: endpoint + required: false + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + /api/v1/info/requests/unique: + get: + tags: + - Info + summary: Unique users count for POST requests + description: >- + This endpoint returns the count of unique users for POST requests for a + specific endpoint or all endpoints. + operationId: getUniqueTotalRequests + parameters: + - name: endpoint + in: query + description: endpoint + required: false + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + /api/v1/info/requests/all: + get: + tags: + - Info + summary: POST requests count for all endpoints + description: This endpoint returns the count of POST requests for each endpoint. + operationId: getAllPostRequests + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + /api/v1/info/requests/all/unique: + get: + tags: + - Info + summary: Unique users count for POST requests for all endpoints + description: >- + This endpoint returns the count of unique users for POST requests for + each endpoint. + operationId: getAllUniquePostRequests + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + /api/v1/info/load: + get: + tags: + - Info + summary: GET request count + description: >- + This endpoint returns the total count of GET requests for a specific + endpoint or all endpoints. + operationId: getPageLoads + parameters: + - name: endpoint + in: query + description: endpoint + required: false + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + /api/v1/info/load/unique: + get: + tags: + - Info + summary: Unique users count for GET requests + description: >- + This endpoint returns the count of unique users for GET requests for a + specific endpoint or all endpoints. + operationId: getUniquePageLoads + parameters: + - name: endpoint + in: query + description: endpoint + required: false + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + /api/v1/info/load/all: + get: + tags: + - Info + summary: GET requests count for all endpoints + description: This endpoint returns the count of GET requests for each endpoint. + operationId: getAllEndpointLoads + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + /api/v1/info/load/all/unique: + get: + tags: + - Info + summary: Unique users count for GET requests for all endpoints + description: >- + This endpoint returns the count of unique users for GET requests for + each endpoint. + operationId: getAllUniqueEndpointLoads + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + '/api/v1/general/job/{jobId}': + get: + tags: + - job-controller + operationId: getJobStatus + parameters: + - name: jobId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + delete: + tags: + - job-controller + operationId: cancelJob + parameters: + - name: jobId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + '/api/v1/general/job/{jobId}/result': + get: + tags: + - job-controller + operationId: getJobResult + parameters: + - name: jobId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + '/api/v1/general/job/{jobId}/result/files': + get: + tags: + - job-controller + operationId: getJobFiles + parameters: + - name: jobId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + '/api/v1/general/files/{fileId}': + get: + tags: + - job-controller + operationId: downloadFile + parameters: + - name: fileId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + '/api/v1/general/files/{fileId}/metadata': + get: + tags: + - job-controller + operationId: getFileMetadata + parameters: + - name: fileId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object + /api/v1/admin/settings/delta: + get: + tags: + - Admin Settings + summary: Get pending settings changes + description: >- + Retrieve settings that have been modified but not yet applied (require + restart). Admin access required. + operationId: getSettingsDelta + responses: + '200': + description: Pending changes retrieved successfully + content: + '*/*': + schema: + type: object + '403': + description: Access denied - Admin role required + content: + '*/*': + schema: + type: object + /api/v1/admin/job/stats: + get: + tags: + - admin-job-controller + operationId: getJobStats + responses: + '200': + description: OK + content: + '*/*': + schema: + $ref: '#/components/schemas/JobStats' + /api/v1/admin/job/queue/stats: + get: + tags: + - admin-job-controller + operationId: getQueueStats + responses: + '200': + description: OK + content: + '*/*': + schema: + type: object +components: + schemas: + UpdateSettingsRequest: + type: object + description: Request to update multiple application settings using delta updates + properties: + settings: + type: object + additionalProperties: {} + description: >- + Map of setting keys to their new values using dot notation. Only + changed values need to be included for delta updates. + example: + system.enableAnalytics: false + ui.appName: My PDF Tool + minProperties: 1 + required: + - settings + UpdateSettingValueRequest: + type: object + description: Request to update a single setting value + properties: + value: + description: The new value for the setting + example: false + required: + - value + 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 + 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 + qualityValue: + type: integer + format: int32 + rotationValue: + 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') + Email: + type: object + properties: + fileInput: + type: string + format: binary + description: The input file + to: + type: string + format: email + description: The recipient's email address + subject: + type: string + default: Stirling Software PDF Notification + description: The subject of the email + body: + type: string + default: >- + This message was automatically generated by Stirling-PDF, an + innovative solution from Stirling Software. For more information, + visit our website.

Please do + not reply directly to this email. + description: The body of the email + required: + - fileInput + - to + 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 + 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 + JobStats: + type: object + properties: + totalJobs: + type: integer + format: int32 + activeJobs: + type: integer + format: int32 + completedJobs: + type: integer + format: int32 + failedJobs: + type: integer + format: int32 + successfulJobs: + type: integer + format: int32 + fileResultJobs: + type: integer + format: int32 + oldestActiveJobTime: + type: string + format: date-time + newestActiveJobTime: + type: string + format: date-time + averageProcessingTimeMs: + type: integer + format: int64