Skip to main content

Endpoint

POST https://eachsense-agent.core.eachlabs.run/workflow

Request Body

ParameterTypeRequiredDescription
messagestringYesWorkflow description or modification instruction
workflow_idstringNoExisting workflow to update
version_idstringNoVersion to update
streambooleanNoEnable SSE streaming (default: true)
session_idstringNoSession ID

Code Examples

Create a New Workflow

curl -X POST https://eachsense-agent.core.eachlabs.run/workflow \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "message": "Create a workflow that generates a portrait image then animates it into a 5-second video",
    "stream": true
  }'

Update an Existing Workflow

curl -X POST https://eachsense-agent.core.eachlabs.run/workflow \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "message": "Add a final step to upscale the video to 4K",
    "workflow_id": "wf_abc123",
    "version_id": "v1",
    "stream": true
  }'

Streaming Response Events

data: {"type":"status","message":"Creating workflow..."}

data: {"type":"workflow_created","workflow_id":"wf_abc123","version_id":"v1","input_schema":{...},"steps_count":3}

data: {"type":"text_response","content":"I've created your workflow!"}

data: {"type":"complete","status":"ok","workflow_id":"wf_abc123"}

data: [DONE]

Update Events

data: {"type":"workflow_fetched","workflow_name":"portrait-to-video","existing_steps":3}

data: {"type":"workflow_built","steps_count":4,"definition":{...}}

data: {"type":"workflow_updated","success":true,"workflow_id":"wf_abc123","version_id":"v2"}

data: {"type":"complete","status":"ok"}

data: [DONE]

Non-Streaming Response

{
  "success": true,
  "workflow_id": "wf_abc123",
  "version_id": "v1",
  "definition": {
    "steps": [...],
    "input_schema": {...}
  },
  "message": "Workflow created successfully"
}
Last modified on March 3, 2026