Documentation Index
Fetch the complete documentation index at: https://docs.kineticsystems.ai/llms.txt
Use this file to discover all available pages before exploring further.
TODO
Set common environment variables first:
export KINETIC_BASE_URL="https://api.kinetic.example.com"
export KINETIC_TOKEN="YOUR_TOKEN"
1) Create a workflow (cURL)
curl -X POST "$KINETIC_BASE_URL/api/workflows" \
-H "Authorization: Bearer $KINETIC_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Invoice extraction",
"description": "Parse invoice PDFs for totals",
"slug": "invoice-extraction",
"triggerType": "manual",
"configuration": {
"prompt": "Open the PDF and extract vendor, total, and due date.",
"screens": ["website"],
"timeout": 300,
"retryAttempts": 2,
"urlAllowlist": ["https://invoices.example.com"],
"useGlobalAllowlist": true,
"payloadSchema": {
"type": "object",
"required": ["documentUrl"],
"properties": { "documentUrl": { "type": "string", "format": "uri" } }
},
"payloadExample": { "documentUrl": "https://invoices.example.com/123.pdf" }
}
}'
Response (truncated):
{
"id": "5a1d...",
"currentVersion": 1,
"versionStatus": "published",
"status": "active"
}
2) Execute the workflow (Python)
import os, time, requests
base = os.environ["KINETIC_BASE_URL"]
token = os.environ["KINETIC_TOKEN"]
workflow_id = "YOUR_WORKFLOW_ID"
headers = {"Authorization": f"Bearer {token}"}
# Kick off an execution
resp = requests.post(
f"{base}/api/workflows/{workflow_id}/execute",
json={"inputPayload": {"documentUrl": "https://invoices.example.com/123.pdf"}},
headers=headers,
timeout=30,
)
resp.raise_for_status()
execution_id = resp.json()["executionId"]
print("Started execution", execution_id)
# Poll status
while True:
detail = requests.get(f"{base}/api/executions/{execution_id}", headers=headers, timeout=30).json()
print(detail["status"])
if detail["status"] in ("completed", "failed"):
break
time.sleep(5)
Warnings about payload validation (if any) are returned in warnings from the execute response; they do not block execution.
3) Batch execute from CSV (cURL)
Create inputs.csv:
documentUrl
https://invoices.example.com/123.pdf
https://invoices.example.com/456.pdf
Upload and run:
curl -X POST "$KINETIC_BASE_URL/api/workflows/$WORKFLOW_ID/batch-execute" \
-H "Authorization: Bearer $KINETIC_TOKEN" \
-F "file=@inputs.csv" \
-F "maxConcurrency=5"
Response includes all new execution IDs.
4) Fetch execution video (cURL)
curl -L "$KINETIC_BASE_URL/api/executions/$EXECUTION_ID/video?agent=elation" \
-H "Authorization: Bearer $KINETIC_TOKEN" -o recording.mp4
5) List executions with filters (cURL)
curl "$KINETIC_BASE_URL/api/executions?workflowId=$WORKFLOW_ID&status=completed&limit=20" \
-H "Authorization: Bearer $KINETIC_TOKEN"