FileMorf Docs

Public API v1

Public API
Automation

Recipes

List, create, and run background workflow recipes against retained artifacts or prior job outputs.

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.

Automation

Recipes chain retained outputs in the background

Recipes are saved server-side workflows. They let you push repeated transformations into background execution without re-uploading intermediate files.

GET

/recipes

List saved workflow recipes.

POST

/recipes

Create a background workflow recipe through the public API.

POST

/recipes/:id/runs

Run a saved recipe against a retained artifact or prior job output.

GET

/recipe-runs/:id

Poll a workflow run and inspect step-level execution state.

Rules

Recipe execution has a few important constraints

The recipe engine is intentionally strict so run state remains resumable and predictable.

  • Recipes run entirely on the server against retained artifacts.
  • Recipes support up to 8 ordered steps.
  • Intermediate steps must produce exactly one retained output artifact.
  • pdf-split can only be used as the final recipe step.
  • ocr can only be used as the final recipe step.
  • A recipe run can start from an inputArtifactId directly or from an inputJobId plus inputOutputIndex.

Create

Create recipes through the API or the workspace

Public API recipe creation uses the same underlying validation as the workspace builder.

Create recipe
curl -X POST https://api.filemorf.com/api/public/recipes \
  -H "Authorization: Bearer $FILEMORF_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "PDF to text then HTML",
    "description": "Created through the public API",
    "steps": [
      {
        "name": "PDF to text",
        "jobType": "document-convert",
        "config": {
          "tab": "document",
          "processingMode": "server",
          "document": {
            "outputFormat": "txt"
          }
        }
      },
      {
        "name": "Text to HTML",
        "jobType": "document-convert",
        "config": {
          "tab": "document",
          "processingMode": "server",
          "document": {
            "outputFormat": "html"
          }
        }
      }
    ]
  }'

Run

Run recipes against retained inputs

A run can target an explicit retained artifact id or a prior job id plus output index. That is especially useful after split or merge workflows.

Run recipe
curl -X POST https://api.filemorf.com/api/public/recipes/$RECIPE_ID/runs \
  -H "Authorization: Bearer $FILEMORF_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: recipe-run-2026-03-25-source-001" \
  -d '{
    "inputJobId": "$JOB_ID",
    "inputOutputIndex": 0
  }'

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.