Turn your Spur workflows into production-ready APIs with one click
Open your workflow
Click Deploy
Choose deployment options
Copy the code
Blocking (Synchronous)
# Endpoint structure POST /api/wf/{workflow_id}/run/?run_type=blocking
Non-Blocking (Asynchronous)
# Start endpoint POST /api/wf/{workflow_id}/start_run/?run_type=non_blocking # Status check endpoint GET /api/runs/{run_id}/status/
import requests # For blocking calls url = 'https://your-pyspur-instance.com/api/wf/{workflow_id}/run/?run_type=blocking' data = { "initial_inputs": { "InputNode_1": { "input_field_1": "example_value", "input_field_2": 123 } } } response = requests.post(url, json=data) print(response.status_code) print(response.json())
# Step 1: Start the workflow url = 'https://your-pyspur-instance.com/api/wf/{workflow_id}/start_run/?run_type=non_blocking' response = requests.post(url, json=data) run_id = response.json()['id'] # Step 2: Check status later status_url = f'https://your-pyspur-instance.com/api/runs/{run_id}/status/' status_response = requests.get(status_url) print(status_response.json())
POST /api/wf/{workflow_id}/start_batch_run/
POST /api/cancel_workflow/{run_id}/