Public API
Getting Started
Quickstart
Create a key, hit the base route, create a job, upload a file, start processing, and poll until completion.
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.
Step 1
Create an API key from the workspace
API keys are issued from Workspace → Workflows. Store the raw key once; FileMorf only keeps the hashed secret server-side.
- Create the key in the workspace using an account plan that includes API access.
- Store it as FILEMORF_API_KEY in your runtime or secret manager.
- Treat the key like a password: rotate it if it appears in logs, chat history, or screenshots.
Step 2
Validate the base route
The base route returns the live endpoint map and confirms that the key is accepted.
Base route
curl https://api.filemorf.com/api/public \
-H "Authorization: Bearer $FILEMORF_API_KEY"Step 3
Create, upload, start, and poll a job
The single-job flow is always the same: create the job, upload the input to the signed URL, start it, then poll until it reaches a terminal state.
Create job
curl -X POST https://api.filemorf.com/api/public/jobs \
-H "Authorization: Bearer $FILEMORF_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: quickstart-contract-001" \
-d '{
"type": "document-convert",
"filename": "contract.pdf",
"fileSize": 842134,
"contentType": "application/pdf",
"options": {
"targetFormat": "txt"
}
}'Upload input
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: application/pdf" \
--upload-file ./contract.pdfStart job
curl -X POST https://api.filemorf.com/api/public/jobs/$JOB_ID/start \
-H "Authorization: Bearer $FILEMORF_API_KEY"Poll status
curl https://api.filemorf.com/api/public/jobs/$JOB_ID \
-H "Authorization: Bearer $FILEMORF_API_KEY"