Skip to main content

Stirling PDF API

Stirling PDF exposes a simple API for easy integration with external scripts. You can access the API documentation in two ways:

  1. Local Swagger UI at /swagger-ui/index.html on your Stirling-PDF instance
  2. Online Swagger Documentation

You can also access the documentation through the settings menu (gear icon in the top-right corner).

Accessing API Documentation

Local Swagger UI

Your Stirling-PDF instance includes built-in API documentation:

  1. Navigate to http://your-instance:port/swagger-ui/index.html
  2. Or append /swagger-ui/index.html to your Stirling-PDF URL
  3. This provides an interactive documentation interface where you can:
    • View all available endpoints
    • Test API calls directly
    • See request/response schemas
    • View authentication requirements

Settings Menu Access

  1. Click the gear icon (⚙️) in the top-right corner
  2. Look for the "API Documentation" or "API" link
  3. This will take you to the local Swagger UI

API Authentication

When security is enabled, all API requests require authentication. There are two ways to handle API authentication:

User-Specific API Keys

  1. Obtain your API key:
    • Log into Stirling-PDF
    • Go to Account Settings (via the gear icon)
    • Find your API key in the account details

Global API Key

You can set a custom global API key using the environment variable:

SECURITY_CUSTOMGLOBALAPIKEY=your-custom-api-key

This allows you to set a single API key that works regardless of user authentication.

  1. Include the API key in all requests:

    X-API-KEY: your-api-key-here
  2. Example authenticated request:

    curl -X POST "http://localhost:8080/add-watermark" \
    -H "X-API-KEY: your-api-key-here" \
    -H "Content-Type: multipart/form-data" \
    ...

API Limitations

Stirling-PDF's feature set is not entirely confined to the backend, hence not all functionalities are accessible via the API. Certain operations, such as the "view-pdf" or "visually sign", are executed exclusively on the front-end, and as such, they are only available through the Web-UI. If you encounter a situation where some API endpoints appear to be absent, it is likely attributable to these front-end exclusive features.

Stirling-PDF also has statistic and health endpoints to integrate with monitoring/dashboard applications.

Example CURL Commands

curl -X POST "http://localhost:8080/add-watermark" \
-H "Content-Type: multipart/form-data" \
-F "fileInput=@/Users/username/Downloads/sample-1_cropped.pdf" \
-F "watermarkType=text" \
-F "watermarkText=YOUR_WATERMARK_TEXT" \
-F "alphabet=roman" \
-F "fontSize=30" \
-F "rotation=0" \
-F "opacity=0.5" \
-F "widthSpacer=50" \
-F "heightSpacer=50" \
> "/Users/username/Downloads/output.pdf"