PDFfiller Signature Requests API

Manage eSignature requests and workflows

OpenAPI Specification

pdffiller-signature-requests-api-openapi.yml Raw ↑
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