Click any row to edit. Drag rows to reorder or move. Expand and collapse branches like inventory and inspection checklists.
Same structure as inspection checklist reference media: body copy plus photos, videos, PDFs, and YouTube links on this step.
Upload reference files learners view while running this step — multiple photos, videos, or PDFs, same as inventory and inspection.
Optional button that sends learners to another Workflow page (e.g. /maintenance).
{
"active_version": null,
"active_version_id": null,
"baseline": {
"archived_at": null,
"based_on_version_id": null,
"created_at": "2026-06-28T18:59:27.877715Z",
"created_by_user_id": 1,
"id": "f33524ea-2d49-4260-80ff-b6dfe0614ad7",
"published_at": null,
"status": "draft",
"training_program_id": "66872396-90fc-4267-8aa2-d267baf03e0f",
"version_number": -1
},
"builder_state": {
"nodes": [
{
"extra": null,
"id": "38a877ae-06fb-4a46-af1f-6bab0e646c78",
"instructions": null,
"name": "Cleaner onboarding",
"node_type": "program",
"parent_node_id": null,
"path_text": "Cleaner onboarding",
"sort_order": 0,
"source_node_id": null,
"training_version_id": "f33524ea-2d49-4260-80ff-b6dfe0614ad7"
}
],
"root_node_id": "38a877ae-06fb-4a46-af1f-6bab0e646c78",
"source_version_id": "f33524ea-2d49-4260-80ff-b6dfe0614ad7",
"tree": [
{
"children": [],
"extra": null,
"id": "38a877ae-06fb-4a46-af1f-6bab0e646c78",
"instructions": null,
"name": "Cleaner onboarding",
"node_type": "program",
"parent_node_id": null,
"path_text": "Cleaner onboarding",
"sort_order": 0,
"source_node_id": null,
"training_version_id": "f33524ea-2d49-4260-80ff-b6dfe0614ad7"
}
],
"tree_row_count": 1
},
"draft_version_id": "f33524ea-2d49-4260-80ff-b6dfe0614ad7",
"mutation": {
"mutate_endpoint": "/api/training/programs/66872396-90fc-4267-8aa2-d267baf03e0f/mutate",
"refetch_version_id": "f33524ea-2d49-4260-80ff-b6dfe0614ad7",
"source_version_id": "f33524ea-2d49-4260-80ff-b6dfe0614ad7",
"valid_source_node_ids": [
"38a877ae-06fb-4a46-af1f-6bab0e646c78"
],
"version_endpoint": "/api/training/versions/f33524ea-2d49-4260-80ff-b6dfe0614ad7"
},
"nodes": [
{
"extra": null,
"id": "38a877ae-06fb-4a46-af1f-6bab0e646c78",
"instructions": null,
"name": "Cleaner onboarding",
"node_type": "program",
"parent_node_id": null,
"path_text": "Cleaner onboarding",
"sort_order": 0,
"source_node_id": null,
"training_version_id": "f33524ea-2d49-4260-80ff-b6dfe0614ad7"
}
],
"program": {
"active_version_id": null,
"created_at": "2026-06-22T22:11:46.592743Z",
"created_by_user_id": 1,
"description": null,
"extra": {
"max_attempts": 0,
"pass_threshold_percent": 80,
"quiz_time_limit_minutes": 0,
"require_assignment": false,
"show_correct_on_fail": true,
"show_correct_on_results": false,
"time_factor_weight": 0.0,
"time_limit_mode": "hard"
},
"id": "66872396-90fc-4267-8aa2-d267baf03e0f",
"name": "Cleaner onboarding",
"scope_property_id": null,
"scope_type": "tenant",
"status": "archived",
"tenant_id": 1,
"updated_at": "2026-06-28T18:59:46.271416Z"
},
"reference_media": [],
"tree": [
{
"children": [],
"extra": null,
"id": "38a877ae-06fb-4a46-af1f-6bab0e646c78",
"instructions": null,
"name": "Cleaner onboarding",
"node_type": "program",
"parent_node_id": null,
"path_text": "Cleaner onboarding",
"sort_order": 0,
"source_node_id": null,
"training_version_id": "f33524ea-2d49-4260-80ff-b6dfe0614ad7"
}
],
"version": {
"archived_at": null,
"based_on_version_id": null,
"created_at": "2026-06-28T18:59:27.877715Z",
"created_by_user_id": 1,
"id": "f33524ea-2d49-4260-80ff-b6dfe0614ad7",
"published_at": null,
"status": "draft",
"training_program_id": "66872396-90fc-4267-8aa2-d267baf03e0f",
"version_number": -1
},
"working_version_id": "f33524ea-2d49-4260-80ff-b6dfe0614ad7"
}
Scoring, compliance rules, quiz timing, and how learners move through this program.