RESTful APIs Guide
convertDocAnnToPdf
This API converts and returns documents to PDF and embeds annotations if provided.
- URL: “/api/v1/convertDocAnnToPdf”
- Action Name: convertDocAnnToPdf
- Type: POST
- Consumes: application/json
- Produces: application/json
- Request Body:
An object with the following attributes:- fileData
- Type: String
- Description: Base64 encoded file data.
- annData
- Type: String
- Description: Base64 encoded annotation JSON data.
- fileData
- Response Body:
Returns string type having base 64 encoded pdf file data.
convertToPdf
This API converts and returns documents as PDF.
- URL: “/api/v1/convertToPdf”
- Action Name: convertToPdf
- Type: POST
- Consumes: application/json
- Produces: application/json
- Request Body:
An object with one attribute:- fileData
- Type: String
- Description: Base 64 encoded file data.
- fileData
- Response Body:
Returns string type having base 64 encoded pdf file data.
merge
This API combines one or more files. If the files are not PDF, they will be automatically converted to PDF provided they are part of the supported format list.
- URL: “/api/v1/merge”
- Action Name: merge
- Type: POST
- Consumes: application/json
- Produces: application/pdf
- Request Body:
An object with one attribute:- files
- Type: Array of file objects
- Description: Each file object includes two attributes:
- url [optional]: If URL is not provided then b64Data must be provided.
- Type: String
- Description: The URL of the file that needs to be merged.
- b64Data [optional]: If b64Data is not provided then the URL must be provided.
- includePages
- Type: String
- Description: Filter for pages to be included in the merge operation. Possible values can be:
- “all”: To include all pages of the document during the merge.
- Hyphen-separated page range (i.e. 1-2)
- Selected pages using comma (i.e. 1,2)
- url [optional]: If URL is not provided then b64Data must be provided.
The payload snippet with URL:
The payload snippet with base64 file data:
- files
- Response Body: Returns the final pdf stream of the document.
mergeMP
This API combines multiple files into a PDF.
- URL: “/api/v1/mergeMP”
- Action Name: mergeMP
- Type: POST
- Consumes: Multipart Form Data
- Produces: application/pdf
- Request Body:
Form Data Attributes:- files:
- Type: BLOB
- Description: Binary file data
Note: Multiple files can be provided with the same “files” key.
- includePages:
- Type: String
- Description: Filter for pages to be included in the merge operation. Possible values can be:
- “all”: To include all pages of the document during the merge.
- Hyphen-separated page range (i.e. 1-2)
- Selected pages using comma (i.e. 1,2)
Note: The parameter needs to use a ‘;’ separator for each multipart file.
For Example: If there are 3 multipart files being merged then “all;1-2;1,3”
- files:
- Response Body:
Returns the final pdf stream of the document.
mergexfdf
This API combines a PDF with its XML based Adobe Pdf annotations (i.e. xfdf) into a PDF with all annotations embedded in it.
- URL: “/api/v1/mergexfdf”
- Action Name: mergexfdf
- Type: POST
- Consumes: application/json
- Produces: application/pdf
- Request Body:
An object with one attribute:- files:
- Type: A file object
- Description: The file object includes two attributes:
- docurl:
- Type: String
- Description: The URL of the pdf file that needs to be merged.
- xfdfurl:
- Type: String
- Description:The URL of the xfdf file that contains annotations.
- docurl:
The payload snippet with URL:
- files:
- Response Body:
Returns the final pdf stream of the document.
split
This API splits a file into two or more than two parts.
- URL: “/api/v1/split”
- Action Name: split
- Type: POST
- Consumes: application/json
- Produces: application/json
- Request Body:
An object with the following attributes:- url
- Type: String
- Description: URL to the file to split.
- splitByPgNumbers
- Type: Array of numbers
- Description: The page number from where to create a new document.
- url
- Response Body:
Returns an array of strings, each string holds the base64 encoded pdf data for each document part.
extractPages
This API extracts one or more pages from a file as a new document.
- URL: “/api/v1/extractPages”
- Action Name: extractPages
- Type: POST
- Consumes: application/json
- Produces: application/pdf
- Request Body:
An object with the following attributes:- url
- Type: String
- Description: URL to the file to extract pages from.
- extractPgNumbers
- Type: Array of numbers
- Description: The page numbers that need to be extracted.
- url
- Response Body:
Returns the final pdf stream of the document.
applyWatermark
This API adds a watermark to all the pages of a provided file.
- URL: “/api/v1/applyWatermark”
- Action Name: applyWatermark
- Type: POST
- Consumes: application/json
- Produces: application/pdf
- Request Body:
An object with the following attributes:- fileType
- Type: String
- Description: MimeType of the input file.
- fileData
- Type: String
- Description: base64 encoded file content.
- wmText
- Type: String
- Description: Text to be applied as a watermark.
- fileType
- Response Body:
Returns the final pdf stream of the document.
cropPage
Crops a section of page from a document.
- URL: “/api/v1/cropPage”
- Action Name: cropPage
- Type: POST
- Consumes: application/json
- Produces: application/json
- Request Body:
An object with the following attributes:- baseURL
- Type: String
- Description: base64 encoded file content.
- pageNo
- Type: String
- Description: Comma separated page numbers to be cropped.
- X
- Type: String
- Description: Start X position of ROI to crop.
- Y
- Type: String
- Description: Start Y position of ROI to crop.
- W
- Type: String
- Description: Width of ROI to crop.
- H
- Type: String
- Description: Height of ROI to crop.
- baseURL
- Response Body:
Returns the final pdf stream of the cropped document.
compareDocsMP
Compares 2 documents for changes in text and other document objects such as graphics, images, annotations etc.
- URL: “/api/v1/compareDocsMP”
- Action Name: compareDocsMP
- Type: POST
- Consumes: MULTIPART_FORM_DATA_VALUE
- Produces: application/json
- Request Body:
Form Data Attributes:- filev1
- Type: BLOB
- Description: Binary file data.
- filev1Name
- Type: String
- Description: Name of filev1.
- filev2
- Type: BLOB
- Description: Binary file data.
- filev2Name
- Type: String
- Description: Name of filev2.
- filev1
Response Body: Returns the final pdf stream of the cropped document.
Compare JSON Object
It is an object type having the following attribute:
- compareDocumentInformation
- Type: Array of Array Objects
- Description: Contains an array of Compare Result Objects.
Compare Result Objects
An object having the following attributes:
- annotInfo
- Type: Array of Compare Difference Object
- Description: Contains the difference found in the annotations of the two documents.
- imageInfo
- Type: Array of Compare Difference Object
- Description: Contains the difference found in the images of the two documents.
- pageNumber
- Type: Number
- Description: Describes the page number where the difference is found between the two documents.
- textInfo
- Type: Array of Compare Difference Object
- Description: Contains the difference found in the text of the two documents.
- graphicsInfo
- Type: Array of Compare Difference Object
- Description: Contains the difference found in the graphics of the two documents.
Compare Difference Object
It is an object type having the following attributes:
- baseValue:
- Type: String
- Description: It stores the original value.
- baseText:
- Type: String
- Description: It stores the updated value.
- testValue:
- Type: String
- Description: It defines the type of the value.
- changed:
- Type: Boolean
- Description: It stores the boolean value true or false.
redactFile
Redacts a specified area or words or predefined macros.
- URL: “/api/v1/redactFile”
- Action Name: redactFile
- Type: POST
- Consumes: application/json
- Produces: application/json
- Request Body:
An object with the following attributes:- fileData
- Type: String
- Description: base64 encoded PDF file content.
- fileType
- Type: String
- Description: Set to application/pdf.
- regularExpressions [OPTIONAL]
- Type: Array of String
- Description: Contains redaction attributes. It is mandatory if “redactRectangles” is not provided. The string can be the name of the available MACRO of SMART redaction.
- MACROS
- SSN
- AGE
- Date
- Phone
- DOB
- ACCOUNT NUMBER
- CREDIT CARD
- GENDER
- RACE
- POLICY NUMBER
- PASSPORT NUMBER
- DRIVER LICENSE
- NAME
- STATE
- BETWEEN
- ADDRESS
- Word
- HTTP_URL
- ZIP_CODE
- US_CURRENCY
- <token_name>_sep_<token_value>
Available tokens and their values:
- redactWord – <phrase to redact>_colorSep_<color_value_as_number>_Wordsep__colorSep_<color_value_as_number>_Wordsep_;
- selectall – NONE
- wholeWord – NONE
- caseSenstive – NONE
- MACROS
- redactRectangles [OPTIONAL]
- Type: Array of Redact Rectangle Objects.
- Description: Array of JSON Rectangle Objects. It is mandatory if “regularExpressions” is not provided.
- fileData
Response Body: Returns the final pdf stream of the redacted document.
Redact Rectangle Objects
It is an object type having the following attributes:
- pageNumber
- Type: Number
- Description: Describes the page number on which redaction is performed.
- X
- Type: Number
- Description: Start X position of redact area.
- Y
- Type: Number
- Description: Start Y position of redact area.
- W
- Type: Number
- Description: Describes the width of the redacted area in pixels.
- H
- Type: Number
- Description: Describes the height of the redacted area in pixels.
- username
- Type: String
- Description: The name of the user.
- redactionTag
- Type: String
- Description: The reason for redaction.
ocrFile
OCR’s the provided input image file.
- URL: “/api/v1/ocrFile”
- Action Name: ocrFile
- Type: POST
- Consumes: application/json
- Produces: application/json
- Request Body:
An object with the following attributes:- fileData
- Type: String
- Description: base64 encoded image content.
- fileData
Response Body: Returns an OCR Job Creation Object.
OCR Job Creation Object
It is an object type having the following attributes:
- Status
- Type: String
- Description: It will describe the status of the OCR.
- PageNumber
- Type: Number
- Description: Describes the page number on which OCR is performed.
- JOBID
- Type: String
- Description: It is the UNIQUE JOB ID assigned to the OCR job and can be used later to track the progress of OCR via the OCR job status API.
ocrjobstatus
Provides the status of an ongoing OCR job.
- URL: “/api/v1/ocrjobstatus”
- Action Name: ocrjobstatus
- Type: GET
- Produces: application/json
- Query Arguments:
- jobId
- Type: String
- Description: UNIQUE JOB ID returned by ocrFile API.
- jobId
Response Body: Returns an OCR Job Status Object.
OCR Job Status Object
- Status
- Type: String
- Description: It describes the status of the OCR.
ocrjobData
Get the OCR data for a job that has finished.
- URL: “/api/v1/ocrjobData”
- Action Name: ocrjobData
- Type: POST
- Consumes: application/json
- Produces: application/json
- Request Body:
An object with the following attributes:- jobId
- Type: String
- Description: UNIQUE JOB ID returned by ocrFile API.
- jobId
Response Body: Returns an OCR Job Complete Object.
OCR Job Complete Object
It is an object having the following attributes:
- Status
- Type: String
- Description: It describes the status of the OCR.
- ocrData
- Type: Array of OCR Result Objects
- Description: It will describe the OCR results.
OCR Result Object
It is an object type having the following attributes:
- boundingBox
- Type: String
- Description: It contains the java.awt.Rectangle object.
- confidence
- Type: Number
- Description: It indicates the OCR confidence level for recognizing a word correctly between 1-100.
- text
- Type: String
- Description: The word that has been found after OCR is done.