Download OpenAPI specification:
API for the orchestrator that manages workflows, tasks, containers, and context in the AInTandem platform
Authenticate user credentials and return JWT tokens
| username required | string |
| password required | string |
{- "username": "string",
- "password": "string"
}{- "success": true,
- "token": "string",
- "refreshToken": "string",
- "user": {
- "username": "string",
- "id": "string"
}, - "error": "string"
}Refresh the access token using the refresh token The refresh token can be provided in the request body or in a cookie
| refreshToken | string |
{- "refreshToken": "string"
}{- "success": true,
- "token": "string",
- "refreshToken": "string",
- "error": "string"
}Verify the validity of the current access token (from Authorization header) Use this to check if the current user is authenticated
{- "success": true,
- "user": {
- "username": "string",
- "id": "string"
}, - "error": "string"
}Verify the validity of an access token (provided in request body) Use this for backend-to-backend token validation
| token required | string |
{- "token": "string"
}{- "success": true,
- "user": {
- "username": "string",
- "id": "string"
}, - "error": "string"
}Create a new organization
| name required | string |
| folderPath required | string |
{- "name": "string",
- "folderPath": "string"
}nullUpdate an organization
| id required | string |
| name | string |
| folderPath | string |
{- "name": "string",
- "folderPath": "string"
}nullCreate a new workspace
| organizationId required | string |
| name required | string |
| folderPath required | string |
{- "name": "string",
- "folderPath": "string"
}nullUpdate a workspace
| id required | string |
| name | string |
| folderPath | string |
{- "name": "string",
- "folderPath": "string"
}nullCreate a new project
| workspaceId required | string |
| name required | string |
| folderPath required | string |
| workflowId | string |
| aiConfig | any |
{- "name": "string",
- "folderPath": "string",
- "workflowId": "string",
- "aiConfig": null
}nullUpdate a project
| id required | string |
| name | string |
| folderPath | string |
| sandboxId | string |
| sandboxName | string |
| workflowState | any |
| workflowId | string or null |
| aiConfig | any |
{- "name": "string",
- "folderPath": "string",
- "sandboxId": "string",
- "sandboxName": "string",
- "workflowState": null,
- "workflowId": "string",
- "aiConfig": null
}nullMove a project to another workspace
| id required | string |
| newWorkspaceId required | string |
{- "newWorkspaceId": "string"
}nullUpdate workflow state for a project
| id required | string |
| currentPhaseId required | string |
| currentStepId | string |
| stepStatuses | any |
{- "currentPhaseId": "string",
- "currentStepId": "string",
- "stepStatuses": null
}nullUpdate a single step status
| id required | string |
| stepId required | string |
| status required | string |
{- "status": "string"
}nullList all workflows with optional status filter
| status | string Enum: "published" "draft" "archived" |
[- {
- "id": "string",
- "name": "string",
- "description": "string",
- "definition": {
- "phases": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "icon": "string",
- "steps": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "type": "process",
- "hasExecutableTask": true,
- "qwenCodePrompt": "string",
- "taskFile": "string",
- "taskId": "string",
- "workflows": [
- {
- "name": "string",
- "path": "string",
- "description": "string",
- "phase": "string",
- "id": "string"
}
]
}
]
}
], - "transitions": [
- {
- "from": "string",
- "to": "string",
- "label": "string",
- "type": "forward"
}
]
}, - "status": "published",
- "version": 0.1,
- "createdAt": "string",
- "updatedAt": "string",
- "changeDescription": "string",
- "organizationId": "string"
}
]Create new workflow (starts as Draft)
| name required | string |
| description required | string |
| definition required | any |
{- "name": "string",
- "description": "string",
- "definition": null
}{- "id": "string",
- "name": "string",
- "description": "string",
- "definition": {
- "phases": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "icon": "string",
- "steps": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "type": "process",
- "hasExecutableTask": true,
- "qwenCodePrompt": "string",
- "taskFile": "string",
- "taskId": "string",
- "workflows": [
- {
- "name": "string",
- "path": "string",
- "description": "string",
- "phase": "string",
- "id": "string"
}
]
}
]
}
], - "transitions": [
- {
- "from": "string",
- "to": "string",
- "label": "string",
- "type": "forward"
}
]
}, - "status": "published",
- "version": 0.1,
- "createdAt": "string",
- "updatedAt": "string",
- "changeDescription": "string",
- "organizationId": "string"
}Get specific workflow by ID
| id required | string |
{- "id": "string",
- "name": "string",
- "description": "string",
- "definition": {
- "phases": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "icon": "string",
- "steps": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "type": "process",
- "hasExecutableTask": true,
- "qwenCodePrompt": "string",
- "taskFile": "string",
- "taskId": "string",
- "workflows": [
- {
- "name": "string",
- "path": "string",
- "description": "string",
- "phase": "string",
- "id": "string"
}
]
}
]
}
], - "transitions": [
- {
- "from": "string",
- "to": "string",
- "label": "string",
- "type": "forward"
}
]
}, - "status": "published",
- "version": 0.1,
- "createdAt": "string",
- "updatedAt": "string",
- "changeDescription": "string",
- "organizationId": "string"
}Update workflow If workflow is Published, creates a new version automatically
| id required | string |
| name | string |
| description | string |
| definition | any |
| changeDescription | string |
{- "name": "string",
- "description": "string",
- "definition": null,
- "changeDescription": "string"
}{- "id": "string",
- "name": "string",
- "description": "string",
- "definition": {
- "phases": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "icon": "string",
- "steps": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "type": "process",
- "hasExecutableTask": true,
- "qwenCodePrompt": "string",
- "taskFile": "string",
- "taskId": "string",
- "workflows": [
- {
- "name": "string",
- "path": "string",
- "description": "string",
- "phase": "string",
- "id": "string"
}
]
}
]
}
], - "transitions": [
- {
- "from": "string",
- "to": "string",
- "label": "string",
- "type": "forward"
}
]
}, - "status": "published",
- "version": 0.1,
- "createdAt": "string",
- "updatedAt": "string",
- "changeDescription": "string",
- "organizationId": "string"
}Change workflow status (Publish, Archive, back to Draft)
| id required | string |
| status required | string Enum: "published" "draft" "archived" |
{- "status": "published"
}{- "id": "string",
- "name": "string",
- "description": "string",
- "definition": {
- "phases": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "icon": "string",
- "steps": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "type": "process",
- "hasExecutableTask": true,
- "qwenCodePrompt": "string",
- "taskFile": "string",
- "taskId": "string",
- "workflows": [
- {
- "name": "string",
- "path": "string",
- "description": "string",
- "phase": "string",
- "id": "string"
}
]
}
]
}
], - "transitions": [
- {
- "from": "string",
- "to": "string",
- "label": "string",
- "type": "forward"
}
]
}, - "status": "published",
- "version": 0.1,
- "createdAt": "string",
- "updatedAt": "string",
- "changeDescription": "string",
- "organizationId": "string"
}Clone workflow for customization
| id required | string |
| name required | string |
| description | string |
{- "name": "string",
- "description": "string"
}{- "id": "string",
- "name": "string",
- "description": "string",
- "definition": {
- "phases": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "icon": "string",
- "steps": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "type": "process",
- "hasExecutableTask": true,
- "qwenCodePrompt": "string",
- "taskFile": "string",
- "taskId": "string",
- "workflows": [
- {
- "name": "string",
- "path": "string",
- "description": "string",
- "phase": "string",
- "id": "string"
}
]
}
]
}
], - "transitions": [
- {
- "from": "string",
- "to": "string",
- "label": "string",
- "type": "forward"
}
]
}, - "status": "published",
- "version": 0.1,
- "createdAt": "string",
- "updatedAt": "string",
- "changeDescription": "string",
- "organizationId": "string"
}List all versions for a workflow
| id required | string |
[- {
- "id": "string",
- "name": "string",
- "description": "string",
- "definition": {
- "phases": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "icon": "string",
- "steps": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "type": "process",
- "hasExecutableTask": true,
- "qwenCodePrompt": "string",
- "taskFile": "string",
- "taskId": "string",
- "workflows": [
- {
- "name": "string",
- "path": "string",
- "description": "string",
- "phase": "string",
- "id": "string"
}
]
}
]
}
], - "transitions": [
- {
- "from": "string",
- "to": "string",
- "label": "string",
- "type": "forward"
}
]
}, - "status": "published",
- "version": 0.1,
- "createdAt": "string",
- "updatedAt": "string",
- "changeDescription": "string",
- "organizationId": "string"
}
]Get specific workflow version by ID
| versionId required | string |
{- "id": "string",
- "name": "string",
- "description": "string",
- "definition": {
- "phases": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "color": "string",
- "icon": "string",
- "steps": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "type": "process",
- "hasExecutableTask": true,
- "qwenCodePrompt": "string",
- "taskFile": "string",
- "taskId": "string",
- "workflows": [
- {
- "name": "string",
- "path": "string",
- "description": "string",
- "phase": "string",
- "id": "string"
}
]
}
]
}
], - "transitions": [
- {
- "from": "string",
- "to": "string",
- "label": "string",
- "type": "forward"
}
]
}, - "status": "published",
- "version": 0.1,
- "createdAt": "string",
- "updatedAt": "string",
- "changeDescription": "string",
- "organizationId": "string"
}Create a new workflow execution
| workflowId required | string |
| projectId required | string |
object |
{- "projectId": "string",
- "metadata": {
- "inputParameters": {
- "property1": null,
- "property2": null
}, - "triggeredBy": "manual",
- "workflowVersion": 0.1
}
}{- "executionId": "string",
- "status": "string",
- "message": "string"
}Get workflow execution status
| executionId required | string |
{- "id": "string",
- "workflowId": "string",
- "workflowName": "string",
- "projectId": "string",
- "userId": "string",
- "status": "pending",
- "phases": [
- {
- "id": "string",
- "phaseId": "string",
- "name": "string",
- "description": "string",
- "status": "pending",
- "steps": [
- {
- "id": "string",
- "stepId": "string",
- "name": "string",
- "description": "string",
- "status": "pending",
- "taskId": "string",
- "startTime": "string",
- "endTime": "string",
- "duration": 0.1,
- "output": "string",
- "error": "string"
}
], - "currentStep": 0.1,
- "progress": {
- "message": "string",
- "percentage": 0.1,
- "total": 0.1,
- "current": 0.1
}, - "startTime": "string",
- "endTime": "string",
- "duration": 0.1,
- "error": "string",
- "outputSummary": "string"
}
], - "currentPhase": 0.1,
- "totalPhases": 0.1,
- "progress": {
- "message": "string",
- "percentage": 0.1,
- "total": 0.1,
- "current": 0.1
}, - "startTime": "string",
- "endTime": "string",
- "duration": 0.1,
- "error": "string",
- "metadata": {
- "inputParameters": {
- "property1": null,
- "property2": null
}, - "triggeredBy": "manual",
- "workflowVersion": 0.1
}
}Get workflow executions for a project
| projectId required | string |
| status | Array of strings |
{- "executions": [
- {
- "id": "string",
- "workflowId": "string",
- "workflowName": "string",
- "projectId": "string",
- "userId": "string",
- "status": "pending",
- "phases": [
- {
- "id": "string",
- "phaseId": "string",
- "name": "string",
- "description": "string",
- "status": "pending",
- "steps": [
- {
- "id": "string",
- "stepId": "string",
- "name": "string",
- "description": "string",
- "status": "pending",
- "taskId": "string",
- "startTime": "string",
- "endTime": "string",
- "duration": 0.1,
- "output": "string",
- "error": "string"
}
], - "currentStep": 0.1,
- "progress": {
- "message": "string",
- "percentage": 0.1,
- "total": 0.1,
- "current": 0.1
}, - "startTime": "string",
- "endTime": "string",
- "duration": 0.1,
- "error": "string",
- "outputSummary": "string"
}
], - "currentPhase": 0.1,
- "totalPhases": 0.1,
- "progress": {
- "message": "string",
- "percentage": 0.1,
- "total": 0.1,
- "current": 0.1
}, - "startTime": "string",
- "endTime": "string",
- "duration": 0.1,
- "error": "string",
- "metadata": {
- "inputParameters": {
- "property1": null,
- "property2": null
}, - "triggeredBy": "manual",
- "workflowVersion": 0.1
}
}
]
}Execute a new task in the project's sandbox
| projectId required | string |
| stepId required | string |
| prompt required | string |
| parameters | any |
{- "stepId": "string",
- "prompt": "string",
- "parameters": null
}{- "taskId": "string",
- "message": "string"
}Get task history for a project with optional filters
| projectId required | string |
| status | Array of strings |
| type | string Enum: "workflow" "adhoc" |
| search | string |
| limit | number <double> |
| offset | number <double> |
nullExecute an ad-hoc task (single-use task)
| projectId required | string |
| title required | string |
| description | string |
| prompt required | string |
| parameters | any |
| taskType | string Enum: "claude" "qwen" "bash" |
| contextMemoryIds | Array of strings |
{- "title": "string",
- "description": "string",
- "prompt": "string",
- "parameters": null,
- "taskType": "claude",
- "contextMemoryIds": [
- "string"
]
}{- "taskId": "string",
- "message": "string"
}Set task limit for project's sandbox
| projectId required | string |
| limit required | number <double> |
{- "limit": 0.1
}{- "message": "string",
- "limit": 0.1,
- "sandboxId": "string"
}Execute a workflow step as a task
| projectId required | string |
| stepId required | string |
| additionalInput | string |
| parameters | any |
{- "additionalInput": "string",
- "parameters": null
}{- "taskId": "string",
- "message": "string",
- "stepId": "string"
}Get context information for a specific task
| projectId required | string |
| taskId required | string |
{- "injectedMemories": [
- null
], - "generatedMemory": null,
- "activeDialog": null,
- "usage": {
- "generated": 0.1,
- "injected": 0.1,
- "retrieved": 0.1
}
}Manually save task output as a context memory
| projectId required | string |
| taskId required | string |
| content required | string |
| type | string |
| summary | string |
| tags | Array of strings |
{- "content": "string",
- "type": "string",
- "summary": "string",
- "tags": [
- "string"
]
}{- "message": "string",
- "memory": null
}Get relevant context for a task prompt (used by frontend for suggestions)
| projectId required | string |
| prompt required | string |
| maxMemories | number <double> |
| types | Array of strings |
| includeWorkspace | boolean |
| includeOrg | boolean |
{- "prompt": "string",
- "maxMemories": 0.1,
- "types": [
- "string"
], - "includeWorkspace": true,
- "includeOrg": true
}{- "memories": [
- null
]
}Create a new memory
| content required | string |
| scope required | string |
| scope_id required | string |
| memory_type | string |
| visibility | string |
| tags | Array of strings |
| source | any |
| custom | any |
{- "content": "string",
- "scope": "string",
- "scope_id": "string",
- "memory_type": "string",
- "visibility": "string",
- "tags": [
- "string"
], - "source": null,
- "custom": null
}nullGet all memories with optional filters
| scope required | string |
| scope_id required | string |
| memory_type | string |
| tags | Array of strings |
| limit | number <double> Default: 100 |
| offset | number <double> Default: 0 |
nullCreate or update memory by unique identifier This endpoint prevents duplicate memories from external sources like CoSpec AI
| uniqueKey | string |
| content required | string |
| scope required | string |
| scope_id required | string |
| memory_type | string |
| visibility | string |
| tags | Array of strings |
| source | any |
| custom | any |
{- "content": "string",
- "scope": "string",
- "scope_id": "string",
- "memory_type": "string",
- "visibility": "string",
- "tags": [
- "string"
], - "source": null,
- "custom": null
}nullSemantic search for memories
| query required | string |
| scope required | string |
| scope_id required | string |
| limit | number <double> |
| include_inherited | boolean |
{- "query": "string",
- "scope": "string",
- "scope_id": "string",
- "limit": 0.1,
- "include_inherited": true
}nullGet memories for a specific scope with optional hierarchical inheritance
| scope required | string |
| scopeId required | string |
| memory_type | string |
| tags | Array of strings |
| limit | number <double> Default: 100 |
| include_inherited | string Default: "false" |
nullImport a document file to the context system
| file_path required | string |
| scope required | string |
| scope_id required | string |
| memory_type | string |
| visibility | string |
| tags | Array of strings |
| chunk_content | boolean |
{- "file_path": "string",
- "scope": "string",
- "scope_id": "string",
- "memory_type": "string",
- "visibility": "string",
- "tags": [
- "string"
], - "chunk_content": true
}nullImport document content directly (no filesystem access needed)
| content required | string |
| file_path | string |
| scope required | string |
| scope_id required | string |
| memory_type | string |
| visibility | string |
| tags | Array of strings |
| chunk_content | boolean |
{- "content": "string",
- "file_path": "string",
- "scope": "string",
- "scope_id": "string",
- "memory_type": "string",
- "visibility": "string",
- "tags": [
- "string"
], - "chunk_content": true
}nullImport all documents from a folder
| folder_path required | string |
| scope required | string |
| scope_id required | string |
| recursive | boolean |
| file_extensions | Array of strings |
| tags | Array of strings |
{- "folder_path": "string",
- "scope": "string",
- "scope_id": "string",
- "recursive": true,
- "file_extensions": [
- "string"
], - "tags": [
- "string"
]
}nullSync a single file (re-import if changed)
| file_path required | string |
| scope required | string |
| scope_id required | string |
| tags | Array of strings |
{- "file_path": "string",
- "scope": "string",
- "scope_id": "string",
- "tags": [
- "string"
]
}nullSync all files in a folder
| folder_path required | string |
| scope required | string |
| scope_id required | string |
| recursive | boolean |
| file_extensions | Array of strings |
{- "folder_path": "string",
- "scope": "string",
- "scope_id": "string",
- "recursive": true,
- "file_extensions": [
- "string"
]
}nullAuto-capture task dialog to context
| taskId required | string |
| projectId required | string |
| content required | string |
| metadata | any |
{- "projectId": "string",
- "content": "string",
- "metadata": null
}null{- "userId": "string",
- "preferences": {
- "theme": "light",
- "language": "string",
- "notifications": {
- "push": true,
- "email": true
}
}, - "gitDisplayName": "string",
- "gitEmail": "string",
- "dockerImage": "string",
- "updatedAt": "string"
}Update user settings
| gitDisplayName | string |
| gitEmail | string |
| dockerImage | string |
{- "gitDisplayName": "string",
- "gitEmail": "string",
- "dockerImage": "string"
}{- "userId": "string",
- "preferences": {
- "theme": "light",
- "language": "string",
- "notifications": {
- "push": true,
- "email": true
}
}, - "gitDisplayName": "string",
- "gitEmail": "string",
- "dockerImage": "string",
- "updatedAt": "string"
}Browse host directories (legacy)
| currentPath | string |
{- "currentPath": "string"
}{- "currentPath": "string",
- "directories": [
- "string"
]
}List all Docker sandboxes managed by the orchestrator
[- {
- "sandboxId": "string",
- "name": "string",
- "image": "string",
- "status": "running",
- "ports": [
- {
- "sandboxPort": 0.1,
- "hostPort": 0.1,
- "protocol": "tcp"
}
], - "ip": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
]Create a new Docker sandbox for a project
| name | string |
| folderMapping | string |
| projectId | string |
| aiConfig | any |
| imageName | string |
{- "name": "string",
- "folderMapping": "string",
- "projectId": "string",
- "aiConfig": null,
- "imageName": "string"
}{- "id": "string",
- "name": "string",
- "image": "string",
- "imageName": "string",
- "folderMapping": "string",
- "workingDir": "string",
- "projectId": "string",
- "aiConfig": null
}{- "images": [
- {
- "id": "string",
- "name": "string",
- "repository": "string",
- "description": "string",
- "tags": [
- "string"
], - "icon": "string",
- "isDefault": true,
- "platform": "string"
}
], - "total": 0.1,
- "defaultImageId": "string"
}Get the status of an asynchronous sandbox operation
| operationId required | string |
{- "id": "string",
- "type": "create",
- "status": "pending",
- "sandboxId": "string",
- "sandboxName": "string",
- "projectId": "string",
- "userId": "string",
- "progress": {
- "message": "string",
- "percentage": 0.1,
- "total": 0.1,
- "current": 0.1
}, - "error": "string",
- "startTime": "string",
- "endTime": "string",
- "duration": 0.1,
- "steps": [
- {
- "id": "string",
- "name": "string",
- "status": "pending",
- "startTime": "string",
- "endTime": "string",
- "duration": 0.1,
- "message": "string",
- "error": "string"
}
], - "metadata": {
- "property1": null,
- "property2": null
}
}Get operations for a specific project
| projectId required | string |
| status | Array of strings |
{- "operations": [
- {
- "id": "string",
- "type": "create",
- "status": "pending",
- "sandboxId": "string",
- "sandboxName": "string",
- "projectId": "string",
- "userId": "string",
- "progress": {
- "message": "string",
- "percentage": 0.1,
- "total": 0.1,
- "current": 0.1
}, - "error": "string",
- "startTime": "string",
- "endTime": "string",
- "duration": 0.1,
- "steps": [
- {
- "id": "string",
- "name": "string",
- "status": "pending",
- "startTime": "string",
- "endTime": "string",
- "duration": 0.1,
- "message": "string",
- "error": "string"
}
], - "metadata": {
- "property1": null,
- "property2": null
}
}
]
}