Workflows
Define and execute DAG-based multi-step workflows with branching, triggers, and agent task nodes
/api/executor-typesAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Response Body
application/json
curl -X GET "http://localhost:3013/api/executor-types"{
"executorTypes": [
{
"type": "string",
"mode": "instant",
"configSchema": {
"property1": null,
"property2": null
},
"outputSchema": {
"property1": null,
"property2": null
}
}
]
}/api/executor-types/{type}Authorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "http://localhost:3013/api/executor-types/string"{
"type": "string",
"mode": "instant",
"configSchema": {
"property1": null,
"property2": null
},
"outputSchema": {
"property1": null,
"property2": null
}
}{
"error": "string",
"property1": null,
"property2": null
}/api/workflow-eventsAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "http://localhost:3013/api/workflow-events" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{
"ok": true,
"name": "string"
}{
"error": "string",
"property1": null,
"property2": null
}/api/workflow-runs/{id}Authorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "http://localhost:3013/api/workflow-runs/string"{
"run": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"workflowId": "43c4fa9b-0cbc-4b57-a121-9d7d46a3eaa4",
"status": "running",
"triggerData": null,
"context": {
"property1": null,
"property2": null
},
"error": "string",
"createdBy": "string",
"startedAt": "string",
"lastUpdatedAt": "string",
"finishedAt": "string",
"parentStepId": "string"
},
"steps": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"runId": "78c33d18-170c-44d3-a227-b3194f134f73",
"nodeId": "string",
"nodeType": "string",
"status": "pending",
"input": null,
"output": null,
"error": "string",
"startedAt": "string",
"finishedAt": "string",
"retryCount": 0,
"maxRetries": 3,
"nextRetryAt": "string",
"idempotencyKey": "string",
"diagnostics": "string",
"nextPort": "string"
}
],
"parent": {
"runId": "string",
"workflowId": "string",
"stepId": "string",
"nodeId": "string"
}
}{
"error": "string",
"property1": null,
"property2": null
}/api/workflow-runs/{id}/cancelAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "http://localhost:3013/api/workflow-runs/string/cancel" \ -H "Content-Type: application/json" \ -d '{}'{
"success": true
}{
"error": "string",
"property1": null,
"property2": null
}/api/workflow-runs/{id}/retryAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
Response Body
application/json
application/json
curl -X POST "http://localhost:3013/api/workflow-runs/string/retry"{
"success": true
}{
"error": "string",
"property1": null,
"property2": null
}/api/workflow-runs/{runId}/eventsAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "http://localhost:3013/api/workflow-runs/497f6eca-6276-4993-bfeb-53cbbbba6f08/events" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{
"ok": true,
"name": "string",
"runId": "string"
}{
"error": "string",
"property1": null,
"property2": null
}{
"error": "string",
"property1": null,
"property2": null
}/api/workflowsAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Query Parameters
"true" | "false"0 <= value"running" | "waiting" | "completed" | "failed" | "skipped" | "cancelled"Non-unique asset directory namespace (for example shared/ or personal//drafts/). Runtime write boundaries normalize and validate the canonical form.
1 <= length <= 255Non-unique asset directory namespace (for example shared/ or personal//drafts/). Runtime write boundaries normalize and validate the canonical form.
1 <= length <= 255"full" | "slim"Response Body
application/json
curl -X GET "http://localhost:3013/api/workflows"[
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"key": "string",
"name": "string",
"description": "string",
"enabled": true,
"params": {
"property1": null,
"property2": null
},
"requiredParams": [
"string"
],
"requires": [
"slack"
],
"dir": "string",
"vcsRepo": "string",
"createdByAgentId": "string",
"createdAt": "string",
"lastUpdatedAt": "string",
"createdBy": "string",
"updatedBy": "string",
"favorite": true,
"nodeCount": 0
}
]/api/workflowsAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "http://localhost:3013/api/workflows" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "definition": { "nodes": [ { "id": "string", "type": "string", "config": { "property1": null, "property2": null } } ] } }'{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"key": "string",
"name": "string",
"description": "string",
"enabled": true,
"definition": {
"nodes": [
{
"id": "string",
"type": "string",
"label": "string",
"config": {
"property1": null,
"property2": null
},
"next": "string",
"validation": {
"executor": "validate",
"config": {
"property1": null,
"property2": null
},
"mustPass": false,
"retry": {
"maxRetries": 3,
"strategy": "exponential",
"baseDelayMs": 1000,
"maxDelayMs": 60000
}
},
"retry": {
"maxRetries": 3,
"strategy": "exponential",
"baseDelayMs": 1000,
"maxDelayMs": 60000
},
"inputs": {
"property1": "string",
"property2": "string"
},
"inputSchema": {
"property1": null,
"property2": null
},
"outputSchema": {
"property1": null,
"property2": null
}
}
],
"onNodeFailure": "fail"
},
"triggers": [],
"cooldown": {
"hours": 0,
"minutes": 0,
"seconds": 0
},
"input": {
"property1": "string",
"property2": "string"
},
"triggerSchema": {
"property1": null,
"property2": null
},
"params": {
"property1": null,
"property2": null
},
"requiredParams": [
"string"
],
"requires": [
"slack"
],
"dir": "string",
"vcsRepo": "string",
"createdByAgentId": "string",
"createdAt": "string",
"lastUpdatedAt": "string",
"createdBy": "string",
"updatedBy": "string",
"favorite": true,
"warnings": [
"string"
]
}{
"error": "string",
"property1": null,
"property2": null
}/api/workflows/{id}Authorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
Response Body
application/json
curl -X DELETE "http://localhost:3013/api/workflows/string"{
"error": "string",
"property1": null,
"property2": null
}/api/workflows/{id}Authorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "http://localhost:3013/api/workflows/string"{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"key": "string",
"name": "string",
"description": "string",
"enabled": true,
"definition": {
"nodes": [
{
"id": "string",
"type": "string",
"label": "string",
"config": {
"property1": null,
"property2": null
},
"next": "string",
"validation": {
"executor": "validate",
"config": {
"property1": null,
"property2": null
},
"mustPass": false,
"retry": {
"maxRetries": 3,
"strategy": "exponential",
"baseDelayMs": 1000,
"maxDelayMs": 60000
}
},
"retry": {
"maxRetries": 3,
"strategy": "exponential",
"baseDelayMs": 1000,
"maxDelayMs": 60000
},
"inputs": {
"property1": "string",
"property2": "string"
},
"inputSchema": {
"property1": null,
"property2": null
},
"outputSchema": {
"property1": null,
"property2": null
}
}
],
"onNodeFailure": "fail"
},
"triggers": [],
"cooldown": {
"hours": 0,
"minutes": 0,
"seconds": 0
},
"input": {
"property1": "string",
"property2": "string"
},
"triggerSchema": {
"property1": null,
"property2": null
},
"params": {
"property1": null,
"property2": null
},
"requiredParams": [
"string"
],
"requires": [
"slack"
],
"dir": "string",
"vcsRepo": "string",
"createdByAgentId": "string",
"createdAt": "string",
"lastUpdatedAt": "string",
"createdBy": "string",
"updatedBy": "string",
"favorite": true,
"edges": [
{
"id": "string",
"source": "string",
"sourcePort": "string",
"target": "string"
}
]
}{
"error": "string",
"property1": null,
"property2": null
}/api/workflows/{id}Authorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X PATCH "http://localhost:3013/api/workflows/string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"key": "string",
"name": "string",
"description": "string",
"enabled": true,
"definition": {
"nodes": [
{
"id": "string",
"type": "string",
"label": "string",
"config": {
"property1": null,
"property2": null
},
"next": "string",
"validation": {
"executor": "validate",
"config": {
"property1": null,
"property2": null
},
"mustPass": false,
"retry": {
"maxRetries": 3,
"strategy": "exponential",
"baseDelayMs": 1000,
"maxDelayMs": 60000
}
},
"retry": {
"maxRetries": 3,
"strategy": "exponential",
"baseDelayMs": 1000,
"maxDelayMs": 60000
},
"inputs": {
"property1": "string",
"property2": "string"
},
"inputSchema": {
"property1": null,
"property2": null
},
"outputSchema": {
"property1": null,
"property2": null
}
}
],
"onNodeFailure": "fail"
},
"triggers": [],
"cooldown": {
"hours": 0,
"minutes": 0,
"seconds": 0
},
"input": {
"property1": "string",
"property2": "string"
},
"triggerSchema": {
"property1": null,
"property2": null
},
"params": {
"property1": null,
"property2": null
},
"requiredParams": [
"string"
],
"requires": [
"slack"
],
"dir": "string",
"vcsRepo": "string",
"createdByAgentId": "string",
"createdAt": "string",
"lastUpdatedAt": "string",
"createdBy": "string",
"updatedBy": "string",
"favorite": true,
"warnings": [
"string"
]
}{
"error": "string",
"property1": null,
"property2": null
}{
"error": "string",
"property1": null,
"property2": null
}/api/workflows/{id}Authorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X PUT "http://localhost:3013/api/workflows/string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"key": "string",
"name": "string",
"description": "string",
"enabled": true,
"definition": {
"nodes": [
{
"id": "string",
"type": "string",
"label": "string",
"config": {
"property1": null,
"property2": null
},
"next": "string",
"validation": {
"executor": "validate",
"config": {
"property1": null,
"property2": null
},
"mustPass": false,
"retry": {
"maxRetries": 3,
"strategy": "exponential",
"baseDelayMs": 1000,
"maxDelayMs": 60000
}
},
"retry": {
"maxRetries": 3,
"strategy": "exponential",
"baseDelayMs": 1000,
"maxDelayMs": 60000
},
"inputs": {
"property1": "string",
"property2": "string"
},
"inputSchema": {
"property1": null,
"property2": null
},
"outputSchema": {
"property1": null,
"property2": null
}
}
],
"onNodeFailure": "fail"
},
"triggers": [],
"cooldown": {
"hours": 0,
"minutes": 0,
"seconds": 0
},
"input": {
"property1": "string",
"property2": "string"
},
"triggerSchema": {
"property1": null,
"property2": null
},
"params": {
"property1": null,
"property2": null
},
"requiredParams": [
"string"
],
"requires": [
"slack"
],
"dir": "string",
"vcsRepo": "string",
"createdByAgentId": "string",
"createdAt": "string",
"lastUpdatedAt": "string",
"createdBy": "string",
"updatedBy": "string",
"favorite": true,
"warnings": [
"string"
]
}{
"error": "string",
"property1": null,
"property2": null
}{
"error": "string",
"property1": null,
"property2": null
}/api/workflows/{id}/nodes/{nodeId}Authorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X PATCH "http://localhost:3013/api/workflows/string/nodes/string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"key": "string",
"name": "string",
"description": "string",
"enabled": true,
"definition": {
"nodes": [
{
"id": "string",
"type": "string",
"label": "string",
"config": {
"property1": null,
"property2": null
},
"next": "string",
"validation": {
"executor": "validate",
"config": {
"property1": null,
"property2": null
},
"mustPass": false,
"retry": {
"maxRetries": 3,
"strategy": "exponential",
"baseDelayMs": 1000,
"maxDelayMs": 60000
}
},
"retry": {
"maxRetries": 3,
"strategy": "exponential",
"baseDelayMs": 1000,
"maxDelayMs": 60000
},
"inputs": {
"property1": "string",
"property2": "string"
},
"inputSchema": {
"property1": null,
"property2": null
},
"outputSchema": {
"property1": null,
"property2": null
}
}
],
"onNodeFailure": "fail"
},
"triggers": [],
"cooldown": {
"hours": 0,
"minutes": 0,
"seconds": 0
},
"input": {
"property1": "string",
"property2": "string"
},
"triggerSchema": {
"property1": null,
"property2": null
},
"params": {
"property1": null,
"property2": null
},
"requiredParams": [
"string"
],
"requires": [
"slack"
],
"dir": "string",
"vcsRepo": "string",
"createdByAgentId": "string",
"createdAt": "string",
"lastUpdatedAt": "string",
"createdBy": "string",
"updatedBy": "string",
"favorite": true,
"warnings": [
"string"
]
}{
"error": "string",
"property1": null,
"property2": null
}{
"error": "string",
"property1": null,
"property2": null
}/api/workflows/{id}/runsAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
Query Parameters
"running" | "waiting" | "completed" | "failed" | "skipped" | "cancelled"1 <= value <= 1000 <= valueResponse Body
application/json
curl -X GET "http://localhost:3013/api/workflows/string/runs"{
"runs": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"workflowId": "43c4fa9b-0cbc-4b57-a121-9d7d46a3eaa4",
"status": "running",
"triggerData": null,
"error": "string",
"createdBy": "string",
"startedAt": "string",
"lastUpdatedAt": "string",
"finishedAt": "string",
"parentStepId": "string"
}
],
"page": {
"limit": 0,
"offset": 0,
"total": 0,
"hasMore": true,
"nextOffset": 0
}
}/api/workflows/{id}/triggerAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
Response Body
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:3013/api/workflows/string/trigger"{
"runId": "string",
"skipped": true
}{
"error": "string",
"property1": null,
"property2": null
}{
"error": "string",
"property1": null,
"property2": null
}{
"error": "string",
"property1": null,
"property2": null
}/api/workflows/{id}/trigger/validateAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
Response Body
application/json
application/json
application/json
curl -X POST "http://localhost:3013/api/workflows/string/trigger/validate"{
"valid": true,
"schema": null
}{
"error": "string",
"property1": null,
"property2": null
}{
"error": "string",
"property1": null,
"property2": null
}/api/workflows/{id}/versionsAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "http://localhost:3013/api/workflows/string/versions"{
"versions": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"workflowId": "43c4fa9b-0cbc-4b57-a121-9d7d46a3eaa4",
"version": 1,
"snapshot": {
"name": "string",
"description": "string",
"definition": {
"nodes": [
{
"id": "string",
"type": "string",
"label": "string",
"config": {
"property1": null,
"property2": null
},
"next": "string",
"validation": {
"executor": "validate",
"config": {
"property1": null,
"property2": null
},
"mustPass": false,
"retry": {
"maxRetries": 3,
"strategy": "exponential",
"baseDelayMs": 1000,
"maxDelayMs": 60000
}
},
"retry": {
"maxRetries": 3,
"strategy": "exponential",
"baseDelayMs": 1000,
"maxDelayMs": 60000
},
"inputs": {
"property1": "string",
"property2": "string"
},
"inputSchema": {
"property1": null,
"property2": null
},
"outputSchema": {
"property1": null,
"property2": null
}
}
],
"onNodeFailure": "fail"
},
"triggers": [
{
"type": "webhook",
"hmacSecret": "string",
"hmacHeader": "X-Hub-Signature-256",
"verification": {
"format": "hmac-sha256",
"header": "X-Hub-Signature-256"
}
}
],
"cooldown": {
"hours": 0,
"minutes": 0,
"seconds": 0
},
"input": {
"property1": "string",
"property2": "string"
},
"triggerSchema": {
"property1": null,
"property2": null
},
"params": {
"property1": null,
"property2": null
},
"requiredParams": [
"string"
],
"requires": [
"slack"
],
"dir": "string",
"vcsRepo": "string",
"enabled": true
},
"changedByAgentId": "string",
"createdAt": "string"
}
]
}{
"error": "string",
"property1": null,
"property2": null
}/api/workflows/{id}/versions/{version}Authorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
1 <= valueResponse Body
application/json
application/json
curl -X GET "http://localhost:3013/api/workflows/string/versions/1"{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"workflowId": "43c4fa9b-0cbc-4b57-a121-9d7d46a3eaa4",
"version": 1,
"snapshot": {
"name": "string",
"description": "string",
"definition": {
"nodes": [
{
"id": "string",
"type": "string",
"label": "string",
"config": {
"property1": null,
"property2": null
},
"next": "string",
"validation": {
"executor": "validate",
"config": {
"property1": null,
"property2": null
},
"mustPass": false,
"retry": {
"maxRetries": 3,
"strategy": "exponential",
"baseDelayMs": 1000,
"maxDelayMs": 60000
}
},
"retry": {
"maxRetries": 3,
"strategy": "exponential",
"baseDelayMs": 1000,
"maxDelayMs": 60000
},
"inputs": {
"property1": "string",
"property2": "string"
},
"inputSchema": {
"property1": null,
"property2": null
},
"outputSchema": {
"property1": null,
"property2": null
}
}
],
"onNodeFailure": "fail"
},
"triggers": [
{
"type": "webhook",
"hmacSecret": "string",
"hmacHeader": "X-Hub-Signature-256",
"verification": {
"format": "hmac-sha256",
"header": "X-Hub-Signature-256"
}
}
],
"cooldown": {
"hours": 0,
"minutes": 0,
"seconds": 0
},
"input": {
"property1": "string",
"property2": "string"
},
"triggerSchema": {
"property1": null,
"property2": null
},
"params": {
"property1": null,
"property2": null
},
"requiredParams": [
"string"
],
"requires": [
"slack"
],
"dir": "string",
"vcsRepo": "string",
"enabled": true
},
"changedByAgentId": "string",
"createdAt": "string"
}{
"error": "string",
"property1": null,
"property2": null
}