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