Workflows
Manage workflow definitions and view run history
List Workflows Endpoint
Query Parameters
Filter by workflow type
Include archived workflows
false11 <= value201 <= value <= 100Sort field (- prefix = descending)
Response Body
application/json
application/json
curl -X GET "https://loading/workflows"{
"workflows": [
{
"id": "string",
"name": "string",
"workflow_type": "string",
"phase_count": 0,
"created_at": "string",
"runs_count": 0,
"is_archived": false,
"requires_repos": true
}
],
"total": 0,
"page": 1,
"page_size": 20
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Create Workflow Endpoint
Request Body
application/json
"custom""standard""""main"Default GitHub URLs for this workflow template (ADR-058). Can be overridden at execution time via the repos field on the execute request.
Whether this workflow requires repository access at execution time (ADR-058 #666). Set to false for research or analysis workflows that don't need repos.
truePackage version being installed (issue #822). Recorded on the template so an execution can be traced to the version that produced it. Reinstalling a matching version is refused unless force is set.
Resolved source commit SHA for the package content (issue #822). A matching version resolving to a different digest is refused: that is the signature of a republished version.
Overwrite an already-installed matching version.
falseResponse Body
application/json
application/json
curl -X POST "https://loading/workflows" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{
"id": "string",
"name": "string",
"workflow_type": "string",
"classification": "string",
"repository_url": "string",
"requires_repos": true,
"status": "string",
"warnings": [
"string"
]
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}curl -X GET "https://loading/workflows/string"{
"id": "string",
"name": "string",
"description": "string",
"workflow_type": "string",
"classification": "string",
"phases": [
{
"phase_id": "string",
"name": "string",
"order": 0,
"description": "string",
"agent_type": "",
"prompt_template": "string",
"timeout_seconds": 300,
"allowed_tools": [
"string"
],
"argument_hint": "string",
"model": "string",
"resolved_model": "string",
"resolution_basis": "translated",
"model_display": "string",
"provider": "string",
"allow_delegation": false,
"clone_repos": true,
"delivers_repo_changes": true,
"sandbox": "full-access",
"claude_plugins": [
{
"source_url": "string",
"name": "string",
"version": "string",
"name_overridden": false,
"raw": "string"
}
],
"skills": [
{
"source_url": "string",
"name": "string",
"version": "string",
"name_overridden": false,
"raw": "string"
}
],
"execution_type": "sequential",
"max_tokens": 0,
"input_artifact_types": [
"string"
],
"output_artifact_types": [
"string"
]
}
],
"input_declarations": [
{
"name": "string",
"description": "string",
"required": true,
"default": "string"
}
],
"created_at": "string",
"runs_count": 0,
"runs_link": "string",
"repository_url": "string",
"repos": [
"string"
],
"requires_repos": true
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Archive (soft-delete) a workflow template
Path Parameters
Response Body
application/json
application/json
curl -X DELETE "https://loading/workflows/string"{
"workflow_id": "string",
"status": "string"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Export Workflow Endpoint
Path Parameters
Query Parameters
Export format: 'package' (workflow.yaml + phases) or 'plugin' (full CC plugin)
"package""package" | "plugin"Response Body
application/json
application/json
curl -X GET "https://loading/workflows/string/export"{
"format": "package",
"workflow_id": "string",
"workflow_name": "string",
"files": {
"property1": "string",
"property2": "string"
}
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}List Workflow Runs Endpoint
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://loading/workflows/string/runs"{
"runs": [
{
"workflow_execution_id": "string",
"workflow_id": "string",
"workflow_name": "string",
"status": "string",
"started_at": "string",
"completed_at": "string",
"completed_phases": 0,
"total_phases": 0,
"total_tokens": 0,
"total_cost_usd": "0",
"error_message": "string",
"failure_classification": "platform",
"reported_failure_reason": "task"
}
],
"total": 0,
"workflow_id": "string",
"workflow_name": "string"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get Workflow History Endpoint
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://loading/workflows/string/history"{
"workflow_id": "string",
"workflow_name": "string",
"executions": [
{}
],
"total_executions": 0
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Validate Yaml Endpoint
Request Body
application/json
Raw YAML content to validate
Original filename (informational)
"workflow.yaml"Deprecated; file paths are no longer supported. Use 'content' instead.
Response Body
application/json
application/json
curl -X POST "https://loading/workflows/validate" \ -H "Content-Type: application/json" \ -d '{}'{
"valid": true,
"name": "",
"workflow_type": "",
"phase_count": 0,
"errors": [
"string"
],
"warnings": [
"string"
]
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Update Phase Prompt Endpoint
Path Parameters
Request Body
application/json
1 <= lengthResponse Body
application/json
application/json
curl -X PUT "https://loading/workflows/string/phases/string" \ -H "Content-Type: application/json" \ -d '{ "prompt_template": "string" }'{
"workflow_id": "string",
"phase_id": "string",
"status": "string"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Create Workflow From Yaml Endpoint
Query Parameters
falseResponse Body
application/json
application/json
curl -X POST "https://loading/workflows/from-yaml"{
"id": "string",
"name": "string",
"workflow_type": "string",
"classification": "string",
"repository_url": "string",
"requires_repos": true,
"status": "string",
"warnings": [
"string"
]
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Syntropic137 Docs v0.33.1 · Last updated March 2026