Create an API key in your dashboard, then pass it as a Bearer token:
Authorization: Bearer sk_ppdf_your_api_key_here
curl -X POST https://api.versafile.app/api/v1/pdf/merge \ -H "Authorization: Bearer YOUR_KEY" \ -F "file=@first.pdf" \ -F "file=@second.pdf" \ --output merged.pdf
/api/v1/pdf/merge
Combine multiple PDFs in order.
/api/v1/pdf/split
Extract pages. ?pages=1,2,3.
/api/v1/pdf/rotate
Rotate pages. ?rotation=90|180|270.
/api/v1/pdf/reorder
Rearrange pages. ?order=3,1,2.
/api/v1/pdf/compress
Strip metadata, compress streams.
/api/v1/pdf/watermark
Text watermark. ?text=DRAFT.
/api/v1/pdf/flatten
Bake form values into static content.
/api/v1/pdf/protect
AES-256 encryption.
/api/v1/pdf/unlock
Unlock a PDF. ?password=...
/api/v1/pdf/images-to-pdf
PNG/JPEG to one PDF.
/api/v1/pdf/text
Get all text as JSON.
/api/v1/pdf/info
Page count, author, fields.
/api/v1/pdf/ocr
Vision AI text extraction. 6 credits/page.
/api/v1/invoice-extract
AI structured invoice data.
/api/v1/receipt-extract
AI structured receipt data.
/api/v1/contract-extract
AI structured contract data.
/api/v1/po-extract
AI structured purchase order data.
| Endpoint | Credits | Returns |
|---|---|---|
POST /api/v1/pdf/merge | 1 | PDF |
POST /api/v1/pdf/split | 1 | PDF |
POST /api/v1/pdf/rotate | 1 | PDF |
POST /api/v1/pdf/reorder | 1 | PDF |
POST /api/v1/pdf/compress | 2 | PDF |
POST /api/v1/pdf/watermark | 2 | PDF |
POST /api/v1/pdf/flatten | 1 | PDF |
POST /api/v1/pdf/protect | 2 | PDF |
POST /api/v1/pdf/unlock | 2 | PDF |
POST /api/v1/pdf/images-to-pdf | 2 | PDF |
POST /api/v1/pdf/text | 1 | JSON |
POST /api/v1/pdf/info | 1 | JSON |
POST /api/v1/pdf/ocr | 6 | JSON |
POST /api/v1/invoice-extract | 10 | JSON |
POST /api/v1/receipt-extract | 10 | JSON |
POST /api/v1/contract-extract | 10 | JSON |
POST /api/v1/po-extract | 10 | JSON |
401 | Unauthorized |
402 | Payment Required |
403 | Forbidden |
400 | Bad Request |
413 | Payload Too Large |
500 | Server Error |