PDFfiller Signature Requests API
Manage eSignature requests and workflows
Manage eSignature requests and workflows
openapi: 3.0.3
info:
title: PDFfiller REST Applications Signature Requests API
description: 'The PDFfiller REST API allows developers to build applications that interact with PDFfiller over HTTP. It supports operations for managing documents, templates, fillable forms, fields, annotations, and eSignature requests. Authentication uses OAuth 2.0 with password or client credentials grant types. PDFfiller is part of the airSlate family of products.
'
version: '2.0'
contact:
name: PDFfiller Developer Support
url: https://developers.pdffiller.com/
license:
name: Proprietary
url: https://www.pdffiller.com/en/terms.htm
servers:
- url: https://api.pdffiller.com/v2
description: PDFfiller API v2
security:
- oauth2: []
tags:
- name: Signature Requests
description: Manage eSignature requests and workflows
paths:
/signature_requests/inbox:
get:
operationId: listSignatureRequestsInbox
summary: List inbox signature requests
description: Retrieves a list of all document signature requests in the inbox folder (requests sent to you).
tags:
- Signature Requests
parameters:
- $ref: '#/components/parameters/per_page'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/order_by'
- $ref: '#/components/parameters/order'
- name: status
in: query
description: Filter by signature request status
schema:
type: string
enum:
- awaiting
- signed
- cancelled
- name: date_from
in: query
schema:
type: string
format: date
- name: date_to
in: query
schema:
type: string
format: date
responses:
'200':
description: List of inbox signature requests
content:
application/json:
schema:
$ref: '#/components/schemas/SignatureRequestList'
'401':
$ref: '#/components/responses/Unauthorized'
/signature_requests/inbox/download:
get:
operationId: downloadInboxSignatureRequests
summary: Download inbox signature requests
description: Downloads all documents for which a sender has requested your signature as a ZIP archive.
tags:
- Signature Requests
parameters:
- $ref: '#/components/parameters/per_page'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/order'
- name: status
in: query
schema:
type: string
- name: date_from
in: query
schema:
type: string
format: date
- name: date_to
in: query
schema:
type: string
format: date
responses:
'200':
description: ZIP archive of inbox signature request documents
content:
application/zip:
schema:
type: string
format: binary
/signature_requests:
get:
operationId: listSignatureRequests
summary: List all signature requests
description: Retrieves a list of all document signature requests sent by the authenticated user.
tags:
- Signature Requests
parameters:
- $ref: '#/components/parameters/per_page'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/order_by'
- $ref: '#/components/parameters/order'
- name: date_from
in: query
schema:
type: string
format: date
- name: date_to
in: query
schema:
type: string
format: date
responses:
'200':
description: List of signature requests
content:
application/json:
schema:
$ref: '#/components/schemas/SignatureRequestList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createSignatureRequest
summary: Create a signature request
description: 'Creates a new eSignature request. Supports two methods: SendToEach (individual recipients) and SendToGroup (envelope with ordered signing). SendToGroup requires envelope_name, sign_in_order, and role parameters per recipient.
'
tags:
- Signature Requests
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SignatureRequestInput'
responses:
'201':
description: Signature request created
content:
application/json:
schema:
$ref: '#/components/schemas/SignatureRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/signature_requests/{signature_request_id}:
get:
operationId: getSignatureRequest
summary: Get signature request by ID
description: Retrieves signature request information based on the signature request ID.
tags:
- Signature Requests
parameters:
- $ref: '#/components/parameters/signature_request_id'
responses:
'200':
description: Signature request details
content:
application/json:
schema:
$ref: '#/components/schemas/SignatureRequest'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteSignatureRequest
summary: Delete a signature request
description: Cancels and removes the specified signature request.
tags:
- Signature Requests
parameters:
- $ref: '#/components/parameters/signature_request_id'
responses:
'204':
description: Signature request deleted
'404':
$ref: '#/components/responses/NotFound'
/signature_requests/{signature_request_id}/certificate:
get:
operationId: getSignatureRequestCertificate
summary: Get signature certificate
description: Retrieves the signing certificate for a completed signature request.
tags:
- Signature Requests
parameters:
- $ref: '#/components/parameters/signature_request_id'
responses:
'200':
description: Signature certificate
content:
application/json:
schema:
type: object
properties:
certificate_url:
type: string
format: uri
'404':
$ref: '#/components/responses/NotFound'
/signature_requests/{signature_request_id}/signed_document:
get:
operationId: downloadSignedDocument
summary: Download signed document
description: Downloads the completed signed document as a PDF.
tags:
- Signature Requests
parameters:
- $ref: '#/components/parameters/signature_request_id'
responses:
'200':
description: Signed document PDF
content:
application/pdf:
schema:
type: string
format: binary
'404':
$ref: '#/components/responses/NotFound'
/signature_requests/{signature_request_id}/recipients:
get:
operationId: listSignatureRequestRecipients
summary: List signature request recipients
description: Returns all recipients for a specific signature request.
tags:
- Signature Requests
parameters:
- $ref: '#/components/parameters/signature_request_id'
responses:
'200':
description: List of recipients
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Recipient'
'404':
$ref: '#/components/responses/NotFound'
/signature_requests/{signature_request_id}/recipients/{recipient_id}:
get:
operationId: getSignatureRequestRecipient
summary: Get signature request recipient
description: Returns information about a specific recipient.
tags:
- Signature Requests
parameters:
- $ref: '#/components/parameters/signature_request_id'
- $ref: '#/components/parameters/recipient_id'
responses:
'200':
description: Recipient details
content:
application/json:
schema:
$ref: '#/components/schemas/Recipient'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: remindSignatureRequestRecipient
summary: Send reminder to recipient
description: Sends a reminder notification to a specific recipient.
tags:
- Signature Requests
parameters:
- $ref: '#/components/parameters/signature_request_id'
- $ref: '#/components/parameters/recipient_id'
responses:
'200':
description: Reminder sent
'404':
$ref: '#/components/responses/NotFound'
/signature_requests/{signature_request_id}/recipients/{recipient_id}/additional_documents:
get:
operationId: listRecipientAdditionalDocuments
summary: List recipient additional documents
description: Returns all additional documents for a specific signature request recipient.
tags:
- Signature Requests
parameters:
- $ref: '#/components/parameters/signature_request_id'
- $ref: '#/components/parameters/recipient_id'
responses:
'200':
description: Additional documents list
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/AdditionalDocument'
'404':
$ref: '#/components/responses/NotFound'
/signature_requests/{signature_request_id}/recipients/{recipient_id}/additional_documents/download:
get:
operationId: downloadRecipientAdditionalDocuments
summary: Download all recipient additional documents
description: Downloads all additional documents for a recipient as a ZIP archive.
tags:
- Signature Requests
parameters:
- $ref: '#/components/parameters/signature_request_id'
- $ref: '#/components/parameters/recipient_id'
responses:
'200':
description: ZIP archive of additional documents
content:
application/zip:
schema:
type: string
format: binary
/signature_requests/{signature_request_id}/recipients/{recipient_id}/additional_documents/{additional_document_id}:
get:
operationId: getRecipientAdditionalDocument
summary: Get recipient additional document
description: Returns information about a specific additional document for a recipient.
tags:
- Signature Requests
parameters:
- $ref: '#/components/parameters/signature_request_id'
- $ref: '#/components/parameters/recipient_id'
- $ref: '#/components/parameters/additional_document_id'
responses:
'200':
description: Additional document details
content:
application/json:
schema:
$ref: '#/components/schemas/AdditionalDocument'
? /signature_requests/{signature_request_id}/recipients/{recipient_id}/additional_documents/{additional_document_id}/download
: get:
operationId: downloadRecipientAdditionalDocument
summary: Download recipient additional document
description: Downloads a specific additional document for a recipient.
tags:
- Signature Requests
parameters:
- $ref: '#/components/parameters/signature_request_id'
- $ref: '#/components/parameters/recipient_id'
- $ref: '#/components/parameters/additional_document_id'
responses:
'200':
description: Additional document file
content:
application/pdf:
schema:
type: string
format: binary
components:
parameters:
additional_document_id:
name: additional_document_id
in: path
required: true
description: Unique identifier for the additional document
schema:
type: integer
recipient_id:
name: recipient_id
in: path
required: true
description: Unique identifier for the signature request recipient
schema:
type: integer
signature_request_id:
name: signature_request_id
in: path
required: true
description: Unique identifier for the signature request
schema:
type: integer
per_page:
name: per_page
in: query
description: Number of items per page
schema:
type: integer
default: 15
maximum: 100
order_by:
name: order_by
in: query
description: Field to sort results by
schema:
type: string
page:
name: page
in: query
description: Page number
schema:
type: integer
default: 1
order:
name: order
in: query
description: Sort order
schema:
type: string
enum:
- asc
- desc
default: desc
schemas:
SignatureRequest:
type: object
properties:
id:
type: integer
document_id:
type: integer
method:
type: string
enum:
- SendToEach
- SendToGroup
envelope_name:
type: string
status:
type: string
enum:
- awaiting
- completed
- cancelled
sign_in_order:
type: boolean
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
recipients:
type: array
items:
$ref: '#/components/schemas/Recipient'
RecipientInput:
type: object
required:
- email
properties:
email:
type: string
format: email
description: Recipient email address
name:
type: string
description: Recipient name
role:
type: integer
description: Role ID for SendToGroup method
access:
type: string
description: Recipient access type (fill or sign)
message:
type: string
description: Custom message to the recipient
phone_number:
type: string
description: Phone number for SMS verification
Error:
type: object
properties:
error:
type: string
error_description:
type: string
code:
type: integer
SignatureRequestList:
type: object
properties:
total:
type: integer
per_page:
type: integer
page:
type: integer
items:
type: array
items:
$ref: '#/components/schemas/SignatureRequest'
SignatureRequestInput:
type: object
required:
- document_id
- recipients
- method
properties:
document_id:
type: integer
description: ID of the template to use for the signature request
method:
type: string
enum:
- SendToEach
- SendToGroup
description: Signature method
envelope_name:
type: string
description: Envelope name (required for SendToGroup)
sign_in_order:
type: boolean
description: Whether recipients must sign in order (SendToGroup)
security_pin:
type: string
description: Security PIN required to access the document
callback_url:
type: string
format: uri
description: Webhook URL for signature events
additional_documents:
type: array
items:
type: object
description: Additional documents to collect
recipients:
type: array
items:
$ref: '#/components/schemas/RecipientInput'
Recipient:
type: object
properties:
id:
type: integer
email:
type: string
format: email
name:
type: string
status:
type: string
enum:
- awaiting
- signed
- cancelled
role:
type: integer
order:
type: integer
AdditionalDocument:
type: object
properties:
id:
type: integer
name:
type: string
type:
type: string
status:
type: string
created_at:
type: string
format: date-time
responses:
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Authentication required or token invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
oauth2:
type: oauth2
flows:
password:
tokenUrl: https://api.pdffiller.com/v2/oauth/token
scopes:
read: Read access
write: Write access
clientCredentials:
tokenUrl: https://api.pdffiller.com/v2/oauth/token
scopes:
read: Read access
write: Write access