Workflow Management API
This document outlines the API endpoints for managing workflows in PySpur.Create Workflow
Description: Creates a new workflow. If no definition is provided, creates a default workflow with an input node. For chatbots, creates a workflow with required input/output fields for handling chat interactions. The workflow name will be made unique if a workflow with the same name already exists. URL:/wf/
Method: POST
Request Payload:
WorkflowDefinitionSchema
contains:
Update Workflow
Description: Updates an existing workflow’s definition, name, and description. The workflow definition is required for updates. This endpoint allows for modifying the structure and behavior of a workflow. URL:/wf/{workflow_id}/
Method: PUT
Parameters:
List Workflows
Description: Lists all workflows with pagination support, ordered by creation date descending. Only valid workflows that can be properly validated are included in the response. URL:/wf/
Method: GET
Query Parameters:
Get Workflow
Description: Retrieves a specific workflow by its ID, including its complete definition, metadata, and timestamps. URL:/wf/{workflow_id}/
Method: GET
Parameters:
Reset Workflow
Description: Resets a workflow to its initial state with just an input node. This is useful when you want to start over with a workflow design without deleting and recreating it. URL:/wf/{workflow_id}/reset/
Method: PUT
Parameters:
Delete Workflow
Description: Deletes a workflow and its associated test files. This operation is permanent and will remove all data related to the workflow, including test files stored in the file system. URL:/wf/{workflow_id}/
Method: DELETE
Parameters:
Duplicate Workflow
Description: Creates a copy of an existing workflow with “(Copy)” appended to its name. This is useful for creating variations of a workflow without modifying the original. URL:/wf/{workflow_id}/duplicate/
Method: POST
Parameters:
Get Workflow Output Variables
Description: Retrieves the output variables (leaf nodes) of a workflow, including their node IDs and variable names. This is useful for understanding what outputs are available from a workflow. URL:/wf/{workflow_id}/output_variables/
Method: GET
Parameters:
Upload Test Files
Description: Uploads test files for a specific node in a workflow and returns their paths. The files are stored in a workflow-specific directory and can be used as inputs for testing the workflow. URL:/wf/upload_test_files/
Method: POST
Form Data:
Get Workflow Versions
Description: Retrieves all versions of a workflow, ordered by version number descending, with pagination support. This allows tracking the evolution of a workflow over time and reverting to previous versions if needed. URL:/wf/{workflow_id}/versions/
Method: GET
Parameters:
WorkflowVersionResponseSchema
contains:
List Paused Workflows
Description: Lists all workflows that are currently in a paused state, with pagination support. This endpoint is useful for monitoring workflows that require human intervention. URL:/wf/paused_workflows/
Method: GET
Query Parameters:
PausedWorkflowResponseSchema
contains:
Get Pause History
Description: Retrieves the pause history for a specific workflow run, showing when and why the workflow was paused, and any actions taken to resume it. URL:/wf/pause_history/{run_id}/
Method: GET
Parameters:
PauseHistoryResponseSchema
contains:
Process Pause Action
Description: Processes an action on a paused workflow, allowing for approval, decline, or override of a workflow that has been paused for human intervention. The workflow will resume execution based on the action taken. URL:/wf/process_pause_action/{run_id}/
Method: POST
Parameters: