Skip to main content
# 1) Create job
okra jobs create ./report.pdf -o json

# 2) Wait for completion
okra jobs wait <job-id> --timeout 600

# 3) Fetch results
okra jobs results <job-id> -o json > results.json

# 4) Export
okra jobs export <job-id> -f markdown -o report.md
okra jobs export <job-id> -f xlsx -o report.xlsx
okra jobs export <job-id> -f docx -o report.docx

Commands

okra jobs create ./report.pdf
okra jobs create https://example.com/report.pdf
okra jobs list
okra jobs list --status completed
okra jobs list -l 10 -p 2          # limit 10, page 2
okra jobs get <job-id>
okra jobs get <job-id> --web        # open in browser
okra jobs results <job-id>
okra jobs results <job-id> --tables-only
okra jobs results <job-id> --text-only
okra jobs cancel <job-id>

jobs list flags

FlagDescription
-s, --status <status>Filter by status: queued, processing, completed, failed
-l, --limit <n>Results per page (default: 20)
-p, --page <n>Page number (default: 1)
-o, --output <format>Output format: table, json, csv
Default sort: newest first. Combine with global --json for field filtering:
okra jobs list --json job_id,filename,status -l 5

jobs cancel

Cancel a running job (soft delete — marks status as cancelled).
okra jobs cancel <job-id>
okra jobs cancel <job-id> -o json
Only jobs with status queued, downloading, extracting, or processing can be cancelled. Completed or failed jobs are already terminal. Bulk cancel the last N jobs:
okra jobs list --jq '.[-4:].[].job_id' | tr -d '"' | xargs -I{} okra jobs cancel {}

Schema extraction

Run structured extraction against a completed job using a schema definition or template.
# Using a template
okra jobs schema <job-id> --template invoice

# Using a JSON schema file
okra jobs schema <job-id> --schema ./my-schema.json

# Filter to specific pages
okra jobs schema <job-id> --template receipt --pages 1-3

# Include n8n Data Table mapping
okra jobs schema <job-id> --schema ./schema.json --n8n-reference -o json