pdfRest Cloud API Reference Guide REST API Tools for simple PDF processing with GET and POST HTTP requests Getting Started
Welcome to the pdfRest Cloud API Reference Guide! Below you will find all the information you will need to get started using the pdfRest API Tools with your dedicated API Key. If you don't have a key yet, generate one for free at pdfrest.com/getstarted
This guide is organized by API endpoints, which express the output file types that can be generated from input files supplied with requests. For example, to convert a JPG file to a PDF, you would send the JPG file to the /pdf endpoint.
Additional Resources
API Lab - an intuitive interface to learn the tools and parameters, build code automatically, send API calls directly from the website, and download output files
GitHub Repository - functional code examples available for several popular languages
Return detailed information about a PDF document and its contents to assess the current state of the file and drive conditional processing.
NOTE: Some PDF conditions can prevent all queries from completing. For example, if the document is password-protected, corrupted, or not actually a PDF, all queries will not be able to be completed. The output response will always include an "allQueriesProcessed" field with a true or false value. When this is false, an additional "warning" field will also be included in the output response with a human-readable string explaining why all queries could not be processed.
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
queries
Comma separated list of information to request about the input PDF file and its contents.
Accepts:
tagged - Checks for presence of structure tags in the input document. Returns true or false
image_only - Checks if the document is 'image only' meaning that it will only feature a series of embedded graphical image files, one per page and does not have any text or other features common to PDF documents, except for some metadata. Returns true or false
title - The title of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have a title
subject - The subject of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have a subject
author - The author of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have an author
producer - The producer of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have a producer
creator - The creator of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have a creator
creation_date - The creation date of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have a creation date
modified_date - The most recent modification date of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have a modification date
keywords - The keywords of the PDF as listed in the metadata. Returns a string which may be empty if the document does not have keywords
doc_language - The language that the file claims to be written in. Returns a string
page_count - The number of pages in the PDF document. Returns an integer
contains_annotations - Checks whether the document contains annotations, such as notes, highlighted text, file attachments, crossed out text, and text callout boxes. Returns true or false
contains_signature - Checks if the document contains any digital signatures. Returns true or false
pdf_version - Retrieves the version of the PDF standard that the document was created with. Returns a string of the form X.Y.Z where X, Y, and Z are the major, minor, and extension versions respectively
file_size - Retrieves the size of the input file in bytes. Returns an integer
filename - The name of the input file. Returns a string
restrict_permissions_set - Checks whether the document has restrict permissions set to prevent printing, copying, signing etc. Returns true or false
contains_xfa - Checks whether the document contains XFA forms. Returns true or false
contains_acroforms - Checks whether the document contains Acroforms. Returns true or false
contains_javascript - Checks whether the document contains javascript. Returns true or false
contains_transparency - Checks whether the document contains transparent objects. Returns true or false
contains_embedded_file - Checks whether the document contains one or more embedded files. Returns true or false
uses_embedded_fonts - Checks whether the document contains fully embedded fonts. Returns true or false
uses_nonembedded_fonts - Checks whether the document contains non-embedded fonts. Returns true or false
pdfa - Checks whether the document conforms to a PDF/A standard. Returns true or false
pdfua_claim - Checks whether the document claims to conform to a PDF/UA standard. Returns true or false
pdfe_claim - Checks whether the document claims to conform to a PDF/E standard. Returns true or false
pdfx_claim - Checks whether the document claims to conform to a PDF/X standard. Returns true or false
requires_password_to_open - Checks whether the document requires a password to open. Returns true or false. *Note* A document requiring a password cannot be opened by this route and will not be able to return much other information
{
"error": "This route will only accept a File or an ID, not both." }
401
Unauthorized
{
"error": "An Api-Key header is required to send this request." }
POST /pdf
Summary Convert many types of files to PDF
Accepts all of the following input file types:
Microsoft Word (.doc, .docx)
Microsoft Excel (.xls, .xlsx)
Microsoft PowerPoint (.ppt, .pptx)
PostScript and Encapsulated PostScript (.ps, .eps)
JPEG (.jpg, .jpeg)
TIF (.tif, .tiff)
BMP (.bmp)
PNG (.png)
HTML (.html)
HTML (from URL)
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and processed
Accepts: Any file of supported type (100MB max file size)
Example: @PATH_TO_FILE/example_file.html
None
One of:
file
id
url
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
url
url
URL of web page to process
Accepts: Any valid URL
Example: https://en.wikipedia.org/wiki/Datalogics
None
One of:
file
id
url
output
Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out
[INPUT_FILE_NAME]_pdfrest_pdf
No
compression
Image compression for PostScript, Microsoft Office, HTML conversion
Accepts:
lossy
lossless
lossy
No
downsample
Downsample images during PostScript, Microsoft Office, HTML conversion or preserve original resolutions with the 'off' option
Accepts:
off
75
150
300
600
1200
300
No
tagged_pdf
Microsoft Office file conversion only: Create a tagged PDF document, required for accessibility compliance
Accepts:
on
off
off
No
locale
Microsoft Office file conversion only: Set the UTF-8 Locale used for correctly displaying regional numerical and monetary values, time and date formats, and other locale-specific standards.
Accepts:
US - applies en_US
Germany - applies de_DE
Example: Germany
US
No
page_size
HTML conversion only: Select a page size for the PDF file. Options correspond to standard paper sizes
Accepts:
letter
legal
ledger
A3
A4
A5
letter
No
page_margin
HTML conversion only: Set margins for a PDF file in inches or millimeters
Accepts: A number followed by either 'in' or 'mm'
Example:
8mm
2.5in
10.25mm
0in
1in
No
page_orientation
HTML conversion only: Set the page orientation
Accepts:
portrait
landscape
portrait
No
web_layout
HTML conversion only: For web pages with responsive design, select the intended web layout
{
"error": "0 is not within the acceptable range for downsample." }
401
Unauthorized
{
"error": "The provided key is not valid." }
POST /pdfa
Summary Converts PDF to any of the following PDF/A versions:
PDF/A-1b - Basic conformance with visual appearance.
PDF/A-2b - Basic conformance with archival standards but revised for later versions of the PDF format. PDF/A-2 includes options for OpenType fonts, layers, attachments (which must also be PDF/A compliant) and JPEG 2000 image compression.
PDF/A-2u - Matches PDF/A-2b but also requires that all text in the document have Unicode mappings.
PDF/A-3b - Matches PDF/A-2b, except that it is possible to embed any kind of file in the PDF document. For example, with PDF/A-3 a user can save a XML, CSV, CAD, spreadsheet, or other type of file in the PDF document and be compliant. The file embedded in the PDF/A-3 does not need to PDF/A compliant.
PDF/A-3u - Matches PDF/A-3b, but also requires that all text in the document have Unicode mapping.
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and processed
Accepts: Any PDF file (100MB max file size)
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
output_type
Desired PDF/A version for the output PDF
Accepts:
PDF/A-1b
PDF/A-2b
PDF/A-2u
PDF/A-3b
PDF/A-3u
None
Yes
output
Name of the generated output file, without extension
Accepts: Any valid file name
Example: example_out
[INPUT_FILE_NAME]_pdfrest_pdfa
No
rasterize_if_errors_encountered
When set to ON, if the API finds errors when converting a PDF document, it will rasterize the page with the problem into a graphic image and continue to save the document as a PDF/A document. If set to OFF it will instead return an error in such cases.
{
"error": "PDF/X-5 is not within the acceptable range for output_type." }
401
Unauthorized
{
"error": "The input file is password protected and cannot be processed." }
POST /compressed-pdf
Summary Compresses a PDF to maximally reduce file size while maintaining usable content. Three preset compression levels are offered: low, medium, and high. These produce progressively smaller files with a tradeoff between fidelity and size reduction. Compression options may also be customized via a configurable JSON profile.
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and processed
Accepts: Any PDF file (Default 100MB max file size unless changed in the server settings)
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
compression_level
Degree of compression with a tradeoff between preserving fidelity (low) and maximizing file size reduction (high) NOTE: When custom is selected, profile parameter is required
Accepts:
low
medium
high
custom
None
Yes
profile
JSON profile to be uploaded with specifications for configurable compression settings
{
"error": "This route will only accept a File or an ID, not both." }
401
Unauthorized
{
"error": "The input file is password protected and cannot be processed." }
422
Unprocessable Entity
{
"error": "The 'profile' file provided is not a JSON file, please see documentation for sample profile." }
POST /watermarked-pdf
Summary
Apply either a text-based or an image-based watermark to all pages of a PDF with customizable font, text size, color, opacity, scale, positioning, and rotation.
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Body Parameters
Name
Description
Default
Required
file
PDF file to be uploaded and watermarked
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
watermark_text
The text to apply to the input document as a watermark
Accepts: Any text string
Example: Property of ABC Company
None
One of:
watermark_text
watermark_file
watermark_file_id
watermark_file
PDF file to apply to the input document as a watermark
Accepts: Any PDF file (NOTE: to apply another graphic image format as a watermark, first convert that format to PDF with the /pdf endpoint)
Example: @PATH_TO_FILE/watermark_image.pdf
None
One of:
watermark_text
watermark_file
watermark_file_id
watermark_file_id
Alphanumeric ID (UUID) of existing PDF file on server to be applied as a watermark
Accepts: Any valid resource ID returned by a POST request
Example: 1f50b5bdf-0425-7d3f-1ea3-v2894f1ae833
None
One of:
watermark_text
watermark_file
watermark_file_id
output
Name of the generated output file, without extension
Comma separated Red, Green, Blue values for a text watermark NOTE: cannot be used with text_color_cmyk
Accepts: Each value must be between 0 and 255
Example: 255,0,0
0,0,0
No
text_color_cmyk
Comma separated Cyan, Magenta, Yellow, Key (Black) values for a text watermark NOTE: cannot be used with text_color_rgb
Accepts: Each value must be between 0 and 100
Example: 100,0,0,0
None
No
watermark_file_scale
Scale applied to resize the content of a pdf watermark file
Accepts: Any non-negative number
Example: 2.25
0.5
No
opacity
Opacity value for both text and file watermarks
Accepts: Any decimal value from 0 to 1, where 0 is fully transparent and 1 is fully opaque
Example: 0.75
0.5
No
x
Horizontal offset in PDF units from the center of page for both text and file watermarks (72 units = 1 inch)
Accepts: Any integer value
Example: -72
0 (horizontal center of page)
No
y
Vertical offset in PDF units from the center of page for both text and file watermarks (72 units = 1 inch)
Accepts: Any integer value
Example: 150
0 (vertical center of page)
No
rotation
Rotation in degrees to be applied to both text and file watermarks
Accepts: Any integer value
Example: 45
0
No
Responses
Response Status Code
Description
JSON Response Example
200
OK
NOTE: inputId always returns the resource ID of the input PDF to be watermarked. When a file is used as a watermark, inputID returns an array with the resource ID of the input PDF that was watermarked first and the resource ID of the input file that was applied as a watermark second.
{
"error": "The requested font was not found. Please see the documentation for a list of accepted fonts." }
401
Unauthorized
{
"error": "The input file was corrupted, password-protected, or not a PDF." }
POST /encrypted-pdf
Summary
Encrypt a PDF using 256-bit AES encryption with a 32-bit key. Encrypted PDFs cannot be viewed without first providing the open password.
Use "current_open_password" with "new_open_password" to change the open password on a document that was already encrypted. Use "current_permissions_password" if the input document has a permissions password.
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
new_open_password
New open password
Accepts: A string between 6 and 128 characters long
Example: 1234567890qwertyuiop
None
Yes
current_open_password
Existing open password
Accepts: A valid password
Example: OpenUp
None
No
current_permissions_password
Existing permissions password
Accepts: A valid password
Example: oahfoufdo99
None
No
output
Name of the generated output file, without extension
{
"error": "A password is required to process the document." }
401
Unauthorized
{
"error": "The input file was corrupted, password-protected, or not a PDF." }
POST /restricted-pdf
Summary
Apply one or more document security restrictions to PDF with a permissions password. At minimum, a permissions password prevents the security settings of a document from being modified. Use "restrictions[]" to add additional security restrictions.
Use "current_permissions_password" with "new_permissions_password" to change the permissions password on a document.
NOTE: Setting a new permissions password will normally overwrite existing security data, including the open password. Use "current_open_password" to keep encryption with an already applied open password.
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
new_permissions_password
New permissions password
Accepts: A string between 6 and 128 characters long
Example: igy4e5ds7g87646fYFtfTFdh78g6DR
None
Yes
current_permissions_password
Existing permissions password
Accepts: A valid password
Example: passwordpassword123
None
No
restrictions[]
Document restrictions to be applied. Restricted operations are locked behind the permissions password when interacting with a restricted document.
Accepts:
print_low
print_high
edit_document_assembly
edit_fill_and_sign_form_fields
edit_annotations
edit_content
copy_content
accessibility_off
Example: edit_content
None
No
current_open_password
Existing open password
Accepts: A valid password
Example: openfileplease
None
No
output
Name of the generated output file, without extension
{
"error": "This route will only accept a File or an ID, not both." }
401
Unauthorized
{
"error": "The input file was corrupted, password-protected, or not a PDF." }
POST /unrestricted-pdf
Summary
Remove all document security restrictions from a PDF.
NOTE: Removing the permissions password will normally remove all existing security data, including the open password. Use "current_open_password" to keep encryption with an already applied open password.
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
current_permissions_password
Existing permissions password
Accepts: A valid password
Example: kugdi9785gudw242FGdfdh
None
Yes
current_open_password
Existing open password
Accepts: A valid password
Example: thisIsThePassword
None
No
output
Name of the generated output file, without extension
{
"error": "This route will only accept a File or an ID, not both." }
401
Unauthorized
{
"error": "Cannot process the given input file without the correct permissions password." }
POST /merged-pdf
Summary Merges multiple PDF documents or specified pages from PDF documents into a single PDF document. Any number of PDFs may be merged by specifying "file" and/or "id[]" paramaters multiple times. Files will be merged in the order they are specified.
NOTE: For each included "file" or "id[]" a corresponding "pages[]" and "type[]" must also be included to correspond to the type and desired page(s) for that input file.
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and merged with other files. This parameter may be included multiple times to specify multiple files to be merged.
Accepts: Any PDF file (Default 100MB max file size unless changed in the server settings)
Example: @PATH_TO_FILE/example_file.pdf
None
One or more of:
file
id[]
id[]
Alphanumeric ID (UUID) of existing file on server to be merged with other files. This parameter may be included multiple times to specify multiple files to be merged.
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One or more of:
file
id[]
pages[]
Page or range of pages to include in merged file. This parameter must be specified for each "file" and "id[]" specified.
Accepts: Any mix of individual pages and/or ranges seperated by commas. "last" can be used to represent the number of the last page of the document. Page order can be reversed using ranges with the higher number specified before the lower number.
Example:
14-last
9-2
1,2,5-10,12-last
even
odd
None
Yes
type[]
This parameter must be specified for each "file" and "id[]" specified and indicates whether a document is a new file to upload or an id for an existing file on the server. This is required to maintain the order of documents to merge.
Accepts:
file
id
None
Yes
output
Name of the generated output file, without extension
Summary Splits a single PDF document into one or more PDF documents with specified pages. Any number of PDFs may be split out from the original PDF by including "pages[]" multiple times. Output files will be returned in the order they are included.
NOTE: If "pages[]" is not specified, an output file will be created for each page of the input file containing only that page. A ten page PDF would be split into ten single-page PDFs.
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and split into new files.
Accepts: Any PDF file (Default 100MB max file size unless changed in the server settings)
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be split into new files.
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
pages[]
Page or range of pages to include in output file. This parameter may be specified multiple times to create multiple output files. If this paramater is not specified, an output file will be created for each page of the input file containing only that page.
Accepts: Any mix of individual pages and/or ranges seperated by commas. "last" can be used to represent the number of the last page of the document. Page order can be reversed using ranges with the higher number specified before the lower number.
Example:
14-last
2-9
1,2,10-5,12-last
even
odd
None
No
output
Prefix of the generated output file name(s), without extension. A sequentially incremented number will be appended to the end of this prefix for each output file name along with a .pdf extension.
{
"error": "This route will only accept a File or an ID, not both." }
401
Unauthorized
{
"error": "The provided key is not valid." }
POST /pdf-with-added-image
Summary Inserts an image into one page of a PDF at a specified location. Accepted image formats:
JPEG (.jpg, .jpeg)
TIF (.tif, .tiff)
PNG (.png)
GIF (.gif)
NOTE: The PDF coordinate system places the origin in the lower-left corner. Coordinates are in PDF units (1 in. = 72 PDF units). Please note that PDFs with offset origins may create an offset in the placement of the image.
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
PDF file to be uploaded for an image to be added.
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing PDF file on server for an image to be added.
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
image_file
Image file to be uploaded and added to the PDF.
Accepts: Any image file of supported format (JPEG, TIFF, PNG, GIF).
Example: @PATH_TO_FILE/add_this.jpg
None
One of:
image_file
image_id
image_id
Alphanumeric ID (UUID) of existing image file on server to be added to the PDF.
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
image_file
image_id
x
Horizontal position of the image (by its lower-left corner) in PDF units (72 PDF units = 1 inch)
Accepts: Any integer value
Example: 72
None
Yes
y
Vertical position of the image (by its lower-left corner) in PDF units (72 PDF units = 1 inch)
Accepts: Any integer value
Example: 144
None
Yes
page
Page of the PDF to add the image into
Accepts: Any valid page number for the PDF file being processed
Example: 1
None
Yes
output
Name of the generated output file, without extension.
Accepts: Any valid file name
Example: example_out
[INPUT_FILE_NAME]_pdfrest_pdf-with-added-image
No
Responses
Response Status Code
Description
JSON Response Example
200
OK
NOTE: inputId is an array of 2 elements where the first element is the resource ID of the input PDF and the second element is the resource ID of the input image file.
{
"error": "There was a problem reading the input image. Verify fields and try again." }
401
Unauthorized
{
"error": "The provided key is not valid." }
POST /bmp
Summary Convert PDF to BMP image files, one per PDF page
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and processed
Accepts: PDF file
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
output
Prefix of the generated output file name(s), without extension. A sequentially incremented number will be appended to the end of this prefix for each output file name along with a .bmp extension.
Accepts: Any valid file name
Example: example_out
[INPUT_FILE_NAME]_pdfrest_bmp
No
pages
Page or range of pages to process
Accepts: Any mix of individual pages and/or ranges seperated by commas. "last" can be used to represent the number of the last page of the document.
{
"error": "0 is not within the acceptable range for resolution." }
401
Unauthorized
{
"error": "The input file is password protected and cannot be processed." }
POST /jpg
Summary Convert PDF to JPEG image files, one per PDF page
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and processed
Accepts: PDF file
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
output
Prefix of the generated output file name(s), without extension. A sequentially incremented number will be appended to the end of this prefix for each output file name along with a .jpg extension.
Accepts: Any valid file name
Example: example_out
[INPUT_FILE_NAME]_pdfrest_jpg
No
pages
Page or range of pages to process
Accepts: Any mix of individual pages and/or ranges seperated by commas. "last" can be used to represent the number of the last page of the document.
Example:
14-last
2-9
1,2,5-10,12-last
1-last (all pages)
No
resolution
Output image resolution in Dots Per Inch (DPI)
Accepts: 12 to 2400
300
No
color_model
Color model of the output file
Accepts:
rgb
cmyk
gray
rgb
No
jpeg_quality
JPEG compression quality. Higher values produce a higher quality image but also a larger output file size.
{
"error": "0 is not within the acceptable range for resolution." }
401
Unauthorized
{
"error": "The input file is password protected and cannot be processed." }
POST /png
Summary Convert PDF to PNG image files, one per PDF page
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and processed
Accepts: PDF file
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
output
Prefix of the generated output file name(s), without extension. A sequentially incremented number will be appended to the end of this prefix for each output file name along with a .png extension.
Accepts: Any valid file name
Example: example_out
[INPUT_FILE_NAME]_pdfrest_png
No
pages
Page or range of pages to process
Accepts: Any mix of individual pages and/or ranges seperated by commas. "last" can be used to represent the number of the last page of the document.
{
"error": "0 is not within the acceptable range for resolution." }
401
Unauthorized
{
"error": "The input file is password protected and cannot be processed." }
POST /gif
Summary Convert PDF to GIF image files, one per PDF page
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and processed
Accepts: PDF file
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
output
Prefix of the generated output file name(s), without extension. A sequentially incremented number will be appended to the end of this prefix for each output file name along with a .gif extension.
Accepts: Any valid file name
Example: example_out
[INPUT_FILE_NAME]_pdfrest_gif
No
pages
Page or range of pages to process
Accepts: Any mix of individual pages and/or ranges seperated by commas. "last" can be used to represent the number of the last page of the document.
{
"error": "0 is not within the acceptable range for resolution." }
401
Unauthorized
{
"error": "The input file is password protected and cannot be processed." }
POST /tif
Summary Convert PDF to TIFF image files, one per PDF page
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and processed
Accepts: PDF file
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
output
Prefix of the generated output file name(s), without extension. A sequentially incremented number will be appended to the end of this prefix for each output file name along with a .tif extension.
Accepts: Any valid file name
Example: example_out
[INPUT_FILE_NAME]_pdfrest_tif
No
pages
Page or range of pages to process
Accepts: Any mix of individual pages and/or ranges seperated by commas. "last" can be used to represent the number of the last page of the document.
{
"error": "This route will only accept a File or an ID, not both." }
401
Unauthorized
{
"error": "The input file is password protected and cannot be processed." }
POST /pdf-with-imported-form-data
Summary
Import data from a file into an Acroform or XFA-based PDF form. This will find matching form fields in the PDF and fill those fields with the corresponding data from the data file.
Accepted data file formats vary, depending on the form type in the input PDF:
Acroform: .fdf, .xfdf, .xml
XFA: .xdp, .xfd, .xml
If you are unsure which form type is being used, try processing the PDF with Query PDF to run the contains_acroforms and contains_xfa checks.
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and processed
Accepts: Any PDF file containing forms with edit permissions active
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
data_file
Data file to be uploaded in order to import its data to an input PDF file
Accepts: Accepted data file formats vary, depending on the form type in the input PDF:
Acroform: .fdf, .xfdf, .xml
XFA: .xdp, .xfd, .xml
Example: @PATH_TO_FILE/example_file.xml
None
Yes
output
Name of the generated output file, without extension
{
"error": "Input PDF contains XFA form fields. Valid options for data_format are: xfd, xdp, xml" }
401
Unauthorized
{
"error": "An Api-Key header is required to send this request." }
POST /flattened-forms-pdf
Summary Flatten all forms in a PDF, including both static and dynamic XFA and AcroForms. This makes form fields no longer editable while preserving form field data. It also ensures that PDFs with forms are compatible with all standard PDF viewers and processing tools.
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
output
Name of the generated output file, without extension
{
"error": "This route will only accept a File or an ID, not both." }
401
Unauthorized
{
"error": "The input file is password protected and cannot be processed." }
POST /flattened-transparencies-pdf
Summary Flatten all transparent objects in a PDF to increase RIP speed in a prepress workflow and to enable compatibility for workflows in which transparency is not supported.
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and processed
Accepts: Any PDF file
Example: @PATH_TO_FILE/example_file.pdf
None
One of:
file
id
id
Alphanumeric ID (UUID) of existing file on server to be processed
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One of:
file
id
output
Name of the generated output file, without extension
{
"error": "This route will only accept a File or an ID, not both." }
401
Unauthorized
{
"error": "The input file is password protected and cannot be processed." }
POST /upload
Summary Upload any number of files from local storage or via public URL by specifying "file" or "url" paramaters one or more times.
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
File to be uploaded. This parameter may be included multiple times to upload multiple files but may not be combined with 'url' parameter.
Accepts: Any file of supported type
Example: @PATH_TO_FILE/example_file.pdf
None
One or more: file - OR - One or more: url
url
Public URL address for a file. This parameter may be included multiple times to upload multiple files from different URLs but may not be combined with 'file' parameter.
{
"error": "Files and URLs cannot be uploaded together." }
401
Unauthorized
{
"error": "The provided key is not valid." }
POST /zip
Summary Compress any number of files into a .zip by specifying "file" and/or "id[]" paramaters multiple times.
Examples
Required Headers
Accept: application/json
Content-Type: multipart/form-data
Api-Key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Body Parameters
Name
Description
Default
Required
file
File to be uploaded and zipped with other files. This parameter may be included multiple times to compress multiple files to a .zip file.
Accepts: Any file of supported type
Example: @PATH_TO_FILE/example_file.pdf
None
One or more of:
file
id[]
id[]
Alphanumeric ID (UUID) of existing file on server to be zipped with other files. This parameter may be included multiple times to compress multiple files to a .zip file.
Accepts: Any valid resource ID returned by a POST request
Example: 0950b9bdf-0465-4d3f-8ea3-d2894f1ae839
None
One or more of:
file
id[]
output
Name of the generated output file, without extension