PDFfiller Fillable Forms API

Manage fillable form links and submissions

OpenAPI Specification

pdffiller-fillable-forms-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: PDFfiller REST Applications Fillable Forms 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: Fillable Forms
  description: Manage fillable form links and submissions
paths:
  /fillable_forms:
    get:
      operationId: listFillableForms
      summary: List all fillable forms
      description: Returns a list of all document fill requests (LinkToFill).
      tags:
      - Fillable Forms
      parameters:
      - $ref: '#/components/parameters/per_page'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/order_by'
      - $ref: '#/components/parameters/order'
      responses:
        '200':
          description: List of fillable forms
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FillableFormList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createFillableForm
      summary: Create a fillable form
      description: Creates a new document and shares it via a short URL (LinkToFill).
      tags:
      - Fillable Forms
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FillableFormInput'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FillableFormInput'
      responses:
        '201':
          description: Fillable form created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FillableForm'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /fillable_forms/{link_to_fill_id}:
    get:
      operationId: getFillableForm
      summary: Get fillable form by ID
      description: Returns information about a specific fill request item.
      tags:
      - Fillable Forms
      parameters:
      - $ref: '#/components/parameters/link_to_fill_id'
      responses:
        '200':
          description: Fillable form details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FillableForm'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateFillableForm
      summary: Update a fillable form
      description: Updates an existing fill request.
      tags:
      - Fillable Forms
      parameters:
      - $ref: '#/components/parameters/link_to_fill_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FillableFormInput'
      responses:
        '200':
          description: Fillable form updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FillableForm'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteFillableForm
      summary: Delete a fillable form
      description: Removes the specified fill request.
      tags:
      - Fillable Forms
      parameters:
      - $ref: '#/components/parameters/link_to_fill_id'
      responses:
        '204':
          description: Fillable form deleted
        '404':
          $ref: '#/components/responses/NotFound'
  /fillable_forms/{link_to_fill_id}/download:
    get:
      operationId: downloadFillableForm
      summary: Download fillable form
      description: Downloads the fillable form. May return 200 (file ready), 204 (in progress), or 202 (queued).
      tags:
      - Fillable Forms
      parameters:
      - $ref: '#/components/parameters/link_to_fill_id'
      responses:
        '200':
          description: Form file ready for download
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        '202':
          description: File generation queued
        '204':
          description: File generation in progress
  /fillable_forms/{link_to_fill_id}/filled_forms:
    get:
      operationId: listFilledForms
      summary: List filled submissions for a fillable form
      description: Returns a list of all submitted instances of a fill request.
      tags:
      - Fillable Forms
      parameters:
      - $ref: '#/components/parameters/link_to_fill_id'
      - $ref: '#/components/parameters/per_page'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/order_by'
      - $ref: '#/components/parameters/order'
      responses:
        '200':
          description: List of filled form submissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FilledFormList'
        '404':
          $ref: '#/components/responses/NotFound'
  /fillable_forms/{link_to_fill_id}/filled_forms/{filled_form_id}:
    get:
      operationId: getFilledForm
      summary: Get a filled form submission
      description: Returns information about a specific filled form submission.
      tags:
      - Fillable Forms
      parameters:
      - $ref: '#/components/parameters/link_to_fill_id'
      - $ref: '#/components/parameters/filled_form_id'
      responses:
        '200':
          description: Filled form submission details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FilledForm'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteFilledForm
      summary: Delete a filled form submission
      description: Removes a specific filled form submission.
      tags:
      - Fillable Forms
      parameters:
      - $ref: '#/components/parameters/link_to_fill_id'
      - $ref: '#/components/parameters/filled_form_id'
      responses:
        '204':
          description: Filled form deleted
        '404':
          $ref: '#/components/responses/NotFound'
  /fillable_forms/{link_to_fill_id}/filled_forms/{filled_form_id}/export:
    get:
      operationId: exportFilledForm
      summary: Export filled form data
      description: Exports the filled form data in a structured format.
      tags:
      - Fillable Forms
      parameters:
      - $ref: '#/components/parameters/link_to_fill_id'
      - $ref: '#/components/parameters/filled_form_id'
      responses:
        '200':
          description: Exported filled form data
          content:
            application/json:
              schema:
                type: object
        '404':
          $ref: '#/components/responses/NotFound'
  /fillable_forms/{link_to_fill_id}/filled_forms/{filled_form_id}/download:
    get:
      operationId: downloadFilledForm
      summary: Download a filled form submission
      description: Downloads the filled form as a PDF file.
      tags:
      - Fillable Forms
      parameters:
      - $ref: '#/components/parameters/link_to_fill_id'
      - $ref: '#/components/parameters/filled_form_id'
      responses:
        '200':
          description: Filled form PDF
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        '404':
          $ref: '#/components/responses/NotFound'
  /fillable_forms/{link_to_fill_id}/filled_forms/{filled_form_id}/additional_documents:
    get:
      operationId: listFilledFormAdditionalDocuments
      summary: List additional documents for filled submission
      description: Returns all additional documents attached to a filled form submission.
      tags:
      - Fillable Forms
      parameters:
      - $ref: '#/components/parameters/link_to_fill_id'
      - $ref: '#/components/parameters/filled_form_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'
  /fillable_forms/{link_to_fill_id}/filled_forms/{filled_form_id}/additional_documents/download:
    get:
      operationId: downloadAllFilledFormAdditionalDocuments
      summary: Download all additional documents
      description: Downloads all additional documents for a filled form submission as a ZIP archive.
      tags:
      - Fillable Forms
      parameters:
      - $ref: '#/components/parameters/link_to_fill_id'
      - $ref: '#/components/parameters/filled_form_id'
      responses:
        '200':
          description: ZIP archive of additional documents
          content:
            application/zip:
              schema:
                type: string
                format: binary
        '404':
          $ref: '#/components/responses/NotFound'
  /fillable_forms/{link_to_fill_id}/filled_forms/{filled_form_id}/additional_documents/{additional_document_id}:
    get:
      operationId: getFilledFormAdditionalDocument
      summary: Get a specific additional document
      description: Returns information about a specific additional document attached to a submission.
      tags:
      - Fillable Forms
      parameters:
      - $ref: '#/components/parameters/link_to_fill_id'
      - $ref: '#/components/parameters/filled_form_id'
      - $ref: '#/components/parameters/additional_document_id'
      responses:
        '200':
          description: Additional document details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdditionalDocument'
        '404':
          $ref: '#/components/responses/NotFound'
  /fillable_forms/{link_to_fill_id}/filled_forms/{filled_form_id}/additional_documents/{additional_document_id}/download:
    get:
      operationId: downloadFilledFormAdditionalDocument
      summary: Download a specific additional document
      description: Downloads a specific additional document attached to a filled form submission.
      tags:
      - Fillable Forms
      parameters:
      - $ref: '#/components/parameters/link_to_fill_id'
      - $ref: '#/components/parameters/filled_form_id'
      - $ref: '#/components/parameters/additional_document_id'
      responses:
        '200':
          description: Additional document file
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    additional_document_id:
      name: additional_document_id
      in: path
      required: true
      description: Unique identifier for the additional document
      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
    link_to_fill_id:
      name: link_to_fill_id
      in: path
      required: true
      description: Unique identifier for the fillable form (LinkToFill)
      schema:
        type: integer
    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
    filled_form_id:
      name: filled_form_id
      in: path
      required: true
      description: Unique identifier for the filled form submission
      schema:
        type: integer
  schemas:
    FillableFormList:
      type: object
      properties:
        total:
          type: integer
        per_page:
          type: integer
        page:
          type: integer
        items:
          type: array
          items:
            $ref: '#/components/schemas/FillableForm'
    FilledForm:
      type: object
      properties:
        id:
          type: integer
        link_to_fill_id:
          type: integer
        status:
          type: string
        name:
          type: string
        email:
          type: string
          format: email
        ip:
          type: string
        created_at:
          type: string
          format: date-time
    FillableFormInput:
      type: object
      properties:
        document_id:
          type: integer
          description: ID of the document template to use
        file:
          type: string
          description: File to be uploaded (alternative to document_id)
        name:
          type: string
          description: New document name
        access:
          type: string
          enum:
          - public
          - private
          description: Access level for the fill request
        status:
          type: string
          description: Document access permission
        email_required:
          type: boolean
          description: Require email from fillers
        allow_downloads:
          type: boolean
          description: Allow fillers to download the document
        redirect_url:
          type: string
          format: uri
          description: URL to redirect after form completion
        name_required:
          type: boolean
          description: Require name from fillers
        custom_message:
          type: string
          description: Custom message shown to fillers
        notification_emails:
          type: array
          items:
            type: string
            format: email
          description: Email addresses to notify on submission
        notifications:
          type: string
          description: Notifications mode
        enforce_required_fields:
          type: boolean
          description: Prevent closing before filling all required fields
        custom_logo_id:
          type: integer
          description: Custom branding logo ID
        welcome_screen:
          type: boolean
          description: Show welcome agreement on each open
        reusable:
          type: boolean
          description: Copy form to owner as fillable after completion
        callback_url:
          type: string
          format: uri
          description: Webhook callback URL for submissions
        signature_stamp:
          type: string
          description: Signature stamp type
        fillable_fields:
          type: object
          description: Pre-filled field values
        folder_id:
          type: integer
          description: Folder ID to organize the form
        additional_documents:
          type: array
          items:
            type: object
          description: Additional documents required after filling
    FillableForm:
      type: object
      properties:
        id:
          type: integer
        document_id:
          type: integer
        name:
          type: string
        access:
          type: string
          enum:
          - public
          - private
        status:
          type: string
          enum:
          - active
          - inactive
        email_required:
          type: boolean
        allow_downloads:
          type: boolean
        redirect_url:
          type: string
          format: uri
        name_required:
          type: boolean
        custom_message:
          type: string
        notifications:
          type: string
        reusable:
          type: boolean
        short_url:
          type: string
          format: uri
        folder_id:
          type: integer
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        error:
          type: string
        error_description:
          type: string
        code:
          type: integer
    FilledFormList:
      type: object
      properties:
        total:
          type: integer
        per_page:
          type: integer
        page:
          type: integer
        items:
          type: array
          items:
            $ref: '#/components/schemas/FilledForm'
    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