Skip to content

Jobs & Execution

A job is a running instance of a workflow version. When you submit a job, the engine executes each step in sequence, tracking state transitions and execution history.

SubmitJob ─→ PENDING ─→ RUNNING ─→ SUCCEEDED
├──→ FAILED (step error)
└──→ CANCELLED (manual cancel)
StatusDescription
PENDINGQueued, waiting for the scheduler to pick it up
RUNNINGEngine is actively executing steps
SUCCEEDEDAll steps completed successfully
FAILEDA step encountered an error; resumable via ResumeJob
CANCELLEDManually cancelled; resumable via ResumeJob
  • GetJob — primary polling endpoint for status, timestamps, and parent/child hierarchy
  • ListJobs — paginated list with filtering by status, workflow name, date range
  • GetWorkflowState — deep inspection of step-level execution history and data

Each step execution is recorded with:

  • Input data passed to the step
  • Output payload returned by the step executor
  • Execution status (success, failure, successful_but_incomplete)
  • Start and end timestamps
  • Any errors or warnings

When a job fails, you can resume it from the last completed step rather than restarting:

Terminal window
curl -X POST https://api.justworkflowit.com/organizations/$ORG_ID/jobs/$JOB_ID/resume \
-H "Authorization: Bearer $TOKEN"

The engine picks up where it left off, preserving all prior step outputs.