List Workflows
const workflows = await client.workflow.list({ limit: 100 });
for (const workflow of workflows) {
console.log(`${workflow.id}: ${workflow.name}`);
}
from kadoa_sdk import KadoaClient, KadoaClientConfig
from kadoa_sdk.workflows import ListWorkflowsRequest
client = KadoaClient(KadoaClientConfig(api_key="YOUR_API_KEY"))
workflows = client.workflow.list(ListWorkflowsRequest(limit=100))
for workflow in workflows:
print(f"{workflow.id}: {workflow.name}")
curl -X GET "https://api.kadoa.com/v4/workflows" \
-H "x-api-key: YOUR_API_KEY"
Get Workflow
const workflow = await client.workflow.get('YOUR_WORKFLOW_ID');
from kadoa_sdk import KadoaClient, KadoaClientConfig
client = KadoaClient(KadoaClientConfig(api_key="YOUR_API_KEY"))
workflow = client.workflow.get("YOUR_WORKFLOW_ID")
curl -X GET "https://api.kadoa.com/v4/workflows/YOUR_WORKFLOW_ID" \
-H "x-api-key: YOUR_API_KEY"
Pause & Resume
OnlyACTIVE workflows can be paused.
// Pause
await client.workflow.pause('YOUR_WORKFLOW_ID');
// Resume
await client.workflow.resume('YOUR_WORKFLOW_ID');
from kadoa_sdk import KadoaClient, KadoaClientConfig
client = KadoaClient(KadoaClientConfig(api_key="YOUR_API_KEY"))
# Pause
client.workflow.pause("YOUR_WORKFLOW_ID")
# Resume
client.workflow.resume("YOUR_WORKFLOW_ID")
Update
await client.workflow.update("YOUR_WORKFLOW_ID", {
name: "New Name",
updateInterval: "DAILY",
});
from kadoa_sdk import KadoaClient, KadoaClientConfig
from kadoa_sdk.workflows import UpdateWorkflowRequest
client = KadoaClient(KadoaClientConfig(api_key="YOUR_API_KEY"))
client.workflow.update(
"YOUR_WORKFLOW_ID",
UpdateWorkflowRequest(name="New Name", update_interval="DAILY"),
)
curl -X PUT "https://api.kadoa.com/v4/workflows/YOUR_WORKFLOW_ID/metadata" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "New Name", "updateInterval": "DAILY"}'
Delete
This permanently deletes the workflow and all its data.
await client.workflow.delete('YOUR_WORKFLOW_ID');
from kadoa_sdk import KadoaClient, KadoaClientConfig
client = KadoaClient(KadoaClientConfig(api_key="YOUR_API_KEY"))
client.workflow.delete("YOUR_WORKFLOW_ID")
curl -X DELETE "https://api.kadoa.com/v4/workflows/YOUR_WORKFLOW_ID" \
-H "x-api-key: YOUR_API_KEY"
Templates
Workflows can be linked to templates that manage their prompt, schema, and notification settings. When linked, those fields become read-only on the workflow. See Templates for linking, unlinking, and applying template updates via the API.Fetch Data
const workflows = await client.workflow.list({ limit: 100 });
for (const workflow of workflows) {
if (!workflow.id) {
continue;
}
const data = await client.extraction.fetchAllData({
workflowId: workflow.id,
});
console.log(`${workflow.name}: ${data.length} records`);
}
from kadoa_sdk import FetchDataOptions, KadoaClient, KadoaClientConfig
from kadoa_sdk.workflows import ListWorkflowsRequest
client = KadoaClient(KadoaClientConfig(api_key="YOUR_API_KEY"))
workflows = client.workflow.list(ListWorkflowsRequest(limit=100))
for workflow in workflows:
data = client.extraction.fetch_all_data(
FetchDataOptions(workflow_id=workflow.id)
)
print(f"{workflow.name}: {len(data)} records")
curl -X GET "https://api.kadoa.com/v4/workflows/YOUR_WORKFLOW_ID/data?limit=50&page=2" \
-H "x-api-key: YOUR_API_KEY"