{ }
OpenPDF APIREST API · v1
Sign in

API Reference

Introduction

Build PDF workflows, integrations and automations with the OpenPDF REST API.

Base URLhttps://pdf.rochlabs.online/v1

Getting started

Upload a document, send an authenticated request and work with JSON responses. All public API routes live under /v1.

Quickstart

Make your first request

  1. Create an account — a default API key is generated for you.
  2. Upload a file (or use any public URL) and call an operation.
  3. Read the result from the returned url (links expire per your plan).

Security

Authentication

Pass your key in the x-api-key header (or Authorization: Bearer).

curl https://pdf.rochlabs.online/v1/account/credit/balance -H "x-api-key: YOUR_API_KEY"

Async jobs & webhooks

Add "async": true to any operation. You get a jobId immediately:

{"jobId": "a1b2c3…", "error": false, "status": 200, "async": true}

Poll POST /v1/job/check with {"jobId": "…"} until status is success / failed. Or pass "callback": "https://your.app/hook" and OpenPDF will POST the final payload to you (3 retries with backoff).

File workflow

  • Direct: POST /v1/file/upload (multipart) → {"url": …}
  • Presigned: GET /v1/file/upload/get-presigned-url?name=doc.pdf → PUT your bytes to presignedUrl (valid 30 min) → use url.
  • From the web: POST /v1/file/upload/url with any public URL; operations also accept public URLs directly in url.
  • Inline: most operations accept file = base64 bytes instead of url.

Temporary files & results auto-delete when their link expires (60 min default; up to 24 h on top plans via expiration).

Errors & credits

{"error": true, "status": 402, "message": "Not enough credits for 'pdf/merge' …"}
StatusMeaning
400Bad parameters / unreadable input
401Missing or invalid API key
402Not enough credits
404 / 410File not found / link expired
429Rate limit (120 req/min per key)
501Optional engine (OCR / zbar) not installed on this server

Successful responses always include credits (charged) and remainingCredits. Cost = base + per-page, shown on each endpoint below.

Convert from PDF

POST/v1/pdf/convert/to/text2 + 1/page cr

Text

Extract plain text from a PDF (layout-aware).

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
pagesstring1-based page filter, e.g. "1,3-5,7-". Empty = all pages.
passwordstringPassword of the source PDF if protected.
inlinebooleanAlso return the result content in the `body` field.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/convert/to/text \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"inline": true, "url": "https://example.com/invoice.pdf"}'
POST/v1/pdf/convert/to/json2 + 1/page cr

Json

Structured JSON: per-page text, dimensions and detected tables.

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
pagesstring1-based page filter, e.g. "1,3-5,7-". Empty = all pages.
passwordstringPassword of the source PDF if protected.
inlinebooleanAlso return the result content in the `body` field.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/convert/to/json \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/report.pdf"}'
POST/v1/pdf/convert/to/csv2 + 1/page cr

Csv

Detected tables as CSV (falls back to text lines).

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
pagesstring1-based page filter, e.g. "1,3-5,7-". Empty = all pages.
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/convert/to/csv \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/table.pdf"}'
POST/v1/pdf/convert/to/xml2 + 1/page cr

Xml

XML document with per-page text nodes.

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
pagesstring1-based page filter, e.g. "1,3-5,7-". Empty = all pages.
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/convert/to/xml \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/doc.pdf"}'
POST/v1/pdf/convert/to/html2 + 1/page cr

Html

Simple HTML rendition of the PDF text.

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
pagesstring1-based page filter, e.g. "1,3-5,7-". Empty = all pages.
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/convert/to/html \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/doc.pdf"}'
POST/v1/pdf/convert/to/image2 + 2/page cr

Image

Render pages to PNG/JPG/WEBP/TIFF images.

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
pagesstring1-based page filter, e.g. "1,3-5,7-". Empty = all pages.
passwordstringPassword of the source PDF if protected.
formatstringpng (default), jpg, webp, tiff
dpiintegerRender resolution, 36-600 (default 150)
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/convert/to/image \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"dpi": 150, "format": "png", "url": "https://example.com/doc.pdf"}'

Convert to PDF

POST/v1/pdf/convert/from/html5 cr

Html

HTML string or web page URL to PDF.

ParamTypeDescription
htmlstringRaw HTML to convert (or use url).
urlstringWeb page to fetch and convert.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/convert/from/html \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"html": "\u003ch1\u003eHello\u003c/h1\u003e\u003cp\u003eGenerated by OpenPDF\u003c/p\u003e", "name": "hello.pdf"}'
POST/v1/pdf/convert/from/url5 cr

Url

Alias of from/html for web pages.

ParamTypeDescription
urlstringrequiredWeb page to fetch and convert.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/convert/from/url \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}'
POST/v1/pdf/convert/from/image3 + 1/page cr

Image

One or more images (JPG/PNG/WEBP/TIFF) into a single PDF.

ParamTypeDescription
urlstringrequiredImage URL(s), comma-separated.
urlsarrayAlternative: JSON array of image URLs.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/convert/from/image \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/a.png,https://example.com/b.png"}'

Edit & organize

POST/v1/pdf/merge4 + 1/page cr

Merge

Merge PDFs (and images) into one document.

ParamTypeDescription
urlstringrequired2+ file URLs, comma-separated.
urlsarrayAlternative: JSON array of URLs.
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/merge \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/a.pdf,https://example.com/b.pdf"}'
POST/v1/pdf/split4 + 1/page cr

Split

Split by page ranges; each comma token becomes one output PDF.

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
pagesstringe.g. "1-2,3-" → two documents. Empty = one PDF per page.
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/split \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"pages": "1-2,3-", "url": "https://example.com/doc.pdf"}'
POST/v1/pdf/edit/rotate3 cr

Rotate

Rotate pages by 90/180/270 degrees.

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
angleintegerrequired90, 180 or 270
pagesstring1-based page filter, e.g. "1,3-5,7-". Empty = all pages.
rotationsobjectVisual editor map: {pageNumber: angle}. Overrides angle/pages.
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/edit/rotate \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"angle": 90, "url": "https://example.com/doc.pdf"}'
POST/v1/pdf/edit/delete-pages3 cr

Delete Pages

Remove pages from the document.

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
pagesstringrequiredPages to delete, e.g. "2,5-6"
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/edit/delete-pages \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"pages": "2", "url": "https://example.com/doc.pdf"}'
POST/v1/pdf/edit/add4 + 1/page cr

Add

Stamp text, watermarks and images onto pages (top-left coordinates).

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
annotationsarray[{text,x,y,size,color,opacity,bold,pages,type:'watermark'}]
imagesarray[{url,x,y,width,height,pages}]
textstringShortcut: single text stamp (with x,y).
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/edit/add \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"annotations": [{"color": "#d33", "text": "APPROVED", "type": "watermark"}], "url": "https://example.com/doc.pdf"}'
POST/v1/pdf/edit/fill4 cr

Fill

Fill AcroForm fields ({fieldName: value}).

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
fieldsobjectrequired{"FullName": "Jane"}
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/edit/fill \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"fields": {"FullName": "Jane Doe"}, "url": "https://example.com/form.pdf"}'
POST/v1/pdf/optimize4 + 1/page cr

Optimize

Compress a PDF (lossless; or rasterize=true for maximum reduction).

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
rasterizebooleanRe-render pages as images (lossy, much smaller).
dpiintegerRasterize resolution (default 120).
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/optimize \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/big.pdf"}'

Security & OCR

POST/v1/pdf/security/add3 cr

Add

Encrypt with user/owner passwords (AES-256).

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
passwordstringUser password (to open).
ownerPasswordstringOwner password (permissions).
encryptionAlgorithmstringAES-256 (default), AES-128, RC4-128
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/security/add \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"password": "secret123", "url": "https://example.com/doc.pdf"}'
POST/v1/pdf/security/remove3 cr

Remove

Remove password protection (requires the password).

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/security/remove \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"password": "secret123", "url": "https://example.com/locked.pdf"}'
POST/v1/pdf/makesearchable5 + 4/page cr

Makesearchable

OCR scanned pages into a searchable PDF (tesseract).

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
langstringOCR language, e.g. eng, spa (default eng)
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/makesearchable \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"lang": "spa", "url": "https://example.com/scan.pdf"}'
POST/v1/pdf/makeunsearchable4 + 2/page cr

Makeunsearchable

Rasterize pages so text cannot be selected or extracted.

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
dpiinteger72-300 (default 150)
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/makeunsearchable \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/doc.pdf"}'

Extract & parse

POST/v1/pdf/info1 cr

Info

Metadata, page count, encryption and form detection.

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
passwordstringPassword of the source PDF if protected.
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/info \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/doc.pdf"}'
POST/v1/pdf/find2 + 1/page cr

Find

Find text (or regex) with page + coordinates of each match.

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
searchStringstringrequiredText or regex to find.
regexSearchbooleanTreat searchString as a regex.
caseInsensitivebooleanDefault true.
pagesstring1-based page filter, e.g. "1,3-5,7-". Empty = all pages.
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/find \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"regexSearch": false, "searchString": "Total", "url": "https://example.com/doc.pdf"}'
POST/v1/pdf/documentparser5 + 2/page cr

Documentparser

Template-driven field extraction (regex templates) or automatic key/value sweep.

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
templateobject{fields:[{name, regex}]} — first capture group is the value.
templateIdstringBuilt-in template id, e.g. invoice-default.
includeTablesbooleanAlso extract tables.
pagesstring1-based page filter, e.g. "1,3-5,7-". Empty = all pages.
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/documentparser \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"templateId": "invoice-default", "url": "https://example.com/invoice.pdf"}'
POST/v1/ai-invoice-parser10 + 2/page cr

Ai Invoice Parser

Invoice fields (number, dates, totals, tax, IBAN…) without a template.

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/ai-invoice-parser \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/invoice.pdf"}'
POST/v1/pdf/forms/info1 cr

Info

List fillable form fields with types, values and options.

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
passwordstringPassword of the source PDF if protected.
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/forms/info \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/form.pdf"}'
POST/v1/pdf/attachments/extract2 cr

Extract

Extract embedded file attachments.

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/pdf/attachments/extract \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/portfolio.pdf"}'

Barcodes

POST/v1/barcode/generate1 cr

Generate

Generate QR / Code128 / EAN13 / UPC-A... as PNG.

ParamTypeDescription
valuestringrequiredContent to encode.
typestringqrcode (default), code128, code39, ean13, ean8, upca, isbn13
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/barcode/generate \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"type": "qrcode", "value": "https://openpdf.dev"}'
POST/v1/barcode/read3 + 2/page cr

Read

Read barcodes/QR from an image or PDF pages.

ParamTypeDescription
urlstringrequiredSource file URL. Your own /f/... links, any public URL, or comma-separated for multi-input ops.
filestringAlternative to url: base64-encoded input file.
pagesstring1-based page filter, e.g. "1,3-5,7-". Empty = all pages.
passwordstringPassword of the source PDF if protected.
asyncbooleanRun in background: response carries `jobId` for /v1/job/check.
callbackstringWebhook URL to POST the final result to (async mode).
namestringOutput file name.
expirationintegerOutput link lifetime in minutes (capped by your plan).
curl example
curl -X POST https://pdf.rochlabs.online/v1/barcode/read \
  -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/label.png"}'

Platform

POST/v1/job/checkfree

Check a job

Check an async job. Status: working, success, failed, aborted, unknown. On success the payload carries the full operation result.

curl -X POST https://pdf.rochlabs.online/v1/job/check -H "x-api-key: KEY" -d '{"jobId": "…"}'
POST/v1/file/uploadfree

Upload a file

Multipart upload (file field). Also: GET /v1/file/upload/get-presigned-url, POST /v1/file/upload/url, POST /v1/file/delete, GET /v1/file/list.

GET/v1/account/credit/balancefree

Credit balance

Remaining credits, current plan and next reset date. Also GET /v1/account/profile and GET /v1/capabilities.