API Projects and Workflows
Project/workflow endpoints are primarily in Core/api.py.
Project Endpoints
- GET /api/projects
- POST /api/projects
- GET /api/projects/:project_id
- PUT /api/projects/:project_id
- DELETE /api/projects/:project_id
Workflow Endpoints
- GET /api/projects/:project_id/workflows
- POST /api/projects/:project_id/workflows
- GET /api/projects/:project_id/workflows/:workflow_id
- PUT /api/projects/:project_id/workflows/:workflow_id
- DELETE /api/projects/:project_id/workflows/:workflow_id
- POST /api/projects/:project_id/workflows/:workflow_id/execute
Deployment Endpoints
- POST /api/projects/:project_id/workflows/:workflow_id/deploy
- GET /api/projects/:project_id/workflows/:workflow_id/deployments
- POST /api/projects/:project_id/workflows/:workflow_id/deployments
- DELETE /api/projects/:project_id/workflows/:workflow_id/deployments/:environment_id
- POST /api/projects/:project_id/workflows/:workflow_id/stop
Collaboration Endpoints
- GET /api/projects/:project_id/collaborators
- POST /api/projects/:project_id/collaborators
- PUT /api/projects/:project_id/collaborators/:collaborator_id
- DELETE /api/projects/:project_id/collaborators/:collaborator_id
Example: Create Project
POST /api/projects
Content-Type: application/json
{
"name": "Factory Vision A",
"description": "Production anomaly detection"
}
Response:
{
"ok": true,
"data": {
"id": "prj_1707456789",
"name": "Factory Vision A"
}
}
Example: Execute Workflow
POST /api/projects/:project_id/workflows/:workflow_id/execute
Content-Type: application/json
{
"input": {
"source": "manual",
"data": {
"frame": "base64_or_reference"
}
}
}
Common Errors
404project/workflow does not exist409workflow is in invalid state for deploy/stop422execution payload does not match expected shape
Operational guidance:
- Treat deploy and execute as separate steps.
- Validate workflow graph before deployment.
- Use manual execute for pre-production verification.
