PDFfiller API

The PDFfiller API allows its users to build applications that interact with PDFfiller over the HTTP REST methods. All API communications are SSL encrypted and must be made over HTTPS protocol. We recommend using an SSL version higher than 3 and a TLS version higher than 1.0. For authentication, we support OAuth2 authentication with password and authorization_flow grants. JSON is returned for all API responses except file downloads. PDFfiller provides API client libraries for specific languages to help convert API objects to the language format.

Embedded JS Client

Embedded JS Client allows to embed fillable documents directly to your site in an iFrame. The documentation below describes setup steps and requirements for the embedded LinkToFill flow. Note: By default, The API app domain name in OAuth Callback Url indicates where the Client can be opened. Embedded JS Client will only works on pages from this domain. To manually specify the domain name, please go to App Settings, scroll to the Embedded JS Client section, and type the domain name in the Access Domain URL field. You can also use the Allow All Domains checkbox to place the Embedded JS Client on any domain. The iFrame checks that the parent window belongs to the domain associated with your app. If it does not, the PDFfiller page will show “Domain verification failed” error message in iframe.

Preliminary

Before you start doing anything, make sure the following steps have been done:

1. Create an API app for your domain (login required)

2. Include JS library reference on your page:

<script src="//integrations-static.pdffiller.com/1.1.0/PDFfillerClient.js"></script>

3. Open the client dialog window using the following code:

PDFfiller.init({
    client_id: "application-id-created-by-step-1",
    url: "your-link-to-fill-url",
    width: "(optional) width in pixels, recommended 960",
    height: "(optional) height in pixels",
    events: {
			opened: function () {
				//Function triggers when iframe is opened
			},
			error: function () {
				//Function triggers if error occured
			},
			closed: function () {
				//Function triggers when iframe is closed
			},
			completed: function () {
				//Function triggers when LinkToFill form is filled
			},
			in_progress: function () {
				//Function triggers when editor starts loading
			}
		},
    editorModules: {
       /**  
        *   See below for a full list of parameters
        *   (each parameter is optional)
        *   "True" value makes no effect. 
        *   Only "false" changes the mode and turns off a module
        *   Each module can have dependent "switched-off" mode
        */
            "buttonHelp": true,  
            "buttonFeedback": false,
            "buttonSearch": true,
      
            "toolsArrow": true,
            "toolsLine": false,
            "toolsPen": true,
            "toolsSticky": false
    }
});

client_id

Your application_id from step 1

url

A LinkToFill URL you’re sending. It should be publicly accessible when you create the document.

width (optional)

Recommended 960 (in pixels)

height (optional)

Recommended 600 (in pixels)

events.opened

Function triggers when iframe is opened

events.closed

Function triggers when iframe is closed

events.error

Function triggers if error occured

events.completed

Function triggers when LinkToFill form is filled

events.in_progress

Function triggers when editor starts loading

editorModules (optional)

Parameters set that turns off the visibility of modules defined below

Editor module parameters description

Key Name (editorModules)
Description
Short Name

buttonConstructor

Fillable Fields constructor (not visible in Fill Request editor)

bc

buttonVersions

Versions module (not visible in Fill Request editor)

bv

buttonWatermark

Watermark constructor (not visible in Fill Request editor)

bw

buttonRearrange

Rearrange module (not visible in Fill Request editor)

br

buttonComments

Comments module (not visible in Fill Request editor)

ba

panelThumbnails

Thumbnails Panel

pt

buttonHelp

Button Help

bh

buttonFeedback

Button Feedback

bf

buttonSearch

Button Search

bs

toolsText

Text module Button

tt

toolsCheckmarkX

Checkmark-X module Button

tx

toolsCheckmarkV

Checkmark-V module Button

tv

toolsCheckmarkO

Checkmark-O module Button

to

toolsSignature

Signature module Button

ts

toolsDate

Date module Button

td

toolsImage

Image module Button

ti

toolsErase

Erase module Button

te

toolsHighlight

Highlight module Button

th

toolsBlackout

Blackout module Button

tb

toolsTextbox

Textbox module Button

tr

toolsArrow

Arrow module Button

ta

toolsLine

Line module Button

tl

toolsPen

Pen module Button

tp

toolsSticky

Sticky module Button

tn

You can use turning off modules feature also outside of embedded client - just add query parameters to the Fill Request short link: https:// <short-link> ?multi-params=true&p[ <Short-Name1> ]=0&p[ <Short-NameN> ]=0,
where Short-NameN is taken from the table above (e.g. https://pdf.ac/XYaaX?multi-params=true&p[pt]=0&p[bs]=0)