FileMorf Docs

Public API v1

Public API
Core Jobs

Jobs

Create single-input jobs, start them, list them, fetch status, and refresh signed result URLs when needed.

Base route

https://api.filemorf.com/api/public

Auth

Bearer API key created from the workspace.

Delivery model

Signed uploads, queued jobs, retained artifacts, refreshable URLs.

Endpoints

Single-input jobs are the core execution primitive

Use the jobs endpoints for any workflow that starts from one input file. The returned result object includes metadata and one or more signed download URLs.

POST

/jobs

Create a single-input job and receive one upload URL.

GET

/jobs

List API-created jobs for the authenticated key owner.

GET

/jobs/:id

Fetch job status, result metadata, and download URLs.

POST

/jobs/:id/start

Queue a pending job after upload completes.

POST

/jobs/:id/refresh-url

Refresh signed output URLs for completed jobs.

Supported job types

Choose the job type that matches the input and output behavior

The public API validates content types before creating work. The job type and input content type must line up.

Job typeValid inputsNotes
image-convertPNG, JPEG, WebP, AVIF, GIF, BMP, SVG, TIFF, HEICConverts one image to another supported image target.
image-compressPNG, JPEG, WebP, AVIF, GIFOptimizes one image while keeping the same general media class.
image-resizePNG, JPEG, WebP, AVIF, GIF, SVG, TIFFResizes a single image with width and height controls.
pdf-splitPDFMulti-output; use result.files[] and retained artifacts for downstream automation.
pdf-extractPDFExtracts specific pages into one new PDF.
pdf-rotatePDFRotates selected pages in a PDF.
pdf-removePDFRemoves selected pages and returns a new PDF.
pdf-mergePDF (multiple files)Use the dedicated POST /merge endpoint instead of POST /jobs.
document-convertPDF, DOCX, TXT, MD, HTML, XLSX, ODS, JSON, CSV, TSV, XML, YAMLSupports document, spreadsheet, and structured-data conversion targets.
ocrPDF, PNG, JPEG, WebP, TIFFOCR is a server-side job type and a valid terminal recipe step.

States

Poll until a terminal state

Job status drives the rest of the lifecycle. A job only exposes stable outputs once it is completed.

StateMeaning
pendingJob exists and is waiting for file upload or start.
queuedUpload is complete and the job is waiting in the worker queue.
processingA worker is actively executing the job.
completedThe job finished successfully and result metadata is available.
failedThe job ended in an unrecoverable error and exposes an error message.

Next steps

Build against the live API, not the idea of it.

Create or rotate keys in the workspace, test against the base route, and use the same lifecycle documented here in production and local environments.