Skip to content

Projects API

The Projects API lets you create automation projects, generate execution plans, approve or cancel runs, and inspect task progress. All endpoints are relative to the base path /api/projects.

MethodPathDescription
GET/api/projectsList all projects
POST/api/projectsCreate a project
GET/api/projects/{id}Get a single project
PUT/api/projects/{id}Update a project
DELETE/api/projects/{id}Delete a project
GET/api/projects/{id}/planGet the execution plan
POST/api/projects/{id}/generate-planGenerate an execution plan
POST/api/projects/{id}/regenerate-planRegenerate the plan
POST/api/projects/{id}/approveApprove a pending project plan
POST/api/projects/{id}/cancelCancel a running or pending project
GET/api/projects/{id}/tasksList tasks for a project
POST/api/projects/{id}/tasksCreate a task

GET /api/projects

Returns all projects ordered by created_at descending.

ParameterTypeDefaultDescription
statusstringFilter by status (e.g. running, completed). Use all to clear filter
searchstringSearch projects by name or description
sort_bystringnewestSort order
limitinteger20Maximum number of results (max 200)
offsetinteger0Pagination offset
{
"projects": [
{
"id": "proj_01j9abc123",
"name": "Weekly Report Automation",
"description": "Gather metrics, write summary, email stakeholders",
"status": "running",
"created_at": "2026-02-28T09:00:00Z",
"updated_at": "2026-02-28T09:05:12Z"
}
],
"total": 1,
"limit": 20,
"offset": 0,
"status_counts": {
"pending": 2,
"running": 1,
"completed": 5,
"failed": 0,
"cancelled": 1
}
}

POST /api/projects

Creates a new project.

FieldTypeRequiredDescription
namestringNoHuman-readable project name (defaults to “Untitled”)
descriptionstringNoProject description
strategystringNoExecution strategy (default: performance)
auto_approve_planbooleanNoSkip manual plan approval (default: false)
auto_approve_phasesbooleanNoAuto-approve phase transitions (default: true)
decision_modestringNoDecision mode: agent or human (default: agent)
pathstringNoWorkspace path for the project
agent_idstringNoAgent to assign to the project
sme_archetypestringNoSubject matter expert archetype

Returns the created project object with status 201 Created.


GET /api/projects/{id}

Returns a single project including its full task plan.


PUT /api/projects/{id}

Updates an existing project’s fields.


DELETE /api/projects/{id}

Permanently deletes a project and all associated tasks.


GET /api/projects/{id}/plan

Returns the current execution plan for a project.


POST /api/projects/{id}/generate-plan

Generates an initial execution plan for the project. The project must not already have a plan.


POST /api/projects/{id}/regenerate-plan

Regenerates the execution plan for an existing project. The project status resets to pending after a new plan is generated.


POST /api/projects/{id}/approve

Approves a pending project plan and starts execution.

{
"id": "proj_01j9xyz789",
"status": "running",
"updated_at": "2026-03-02T10:01:00Z"
}

POST /api/projects/{id}/cancel

Cancels a pending or running project. In-progress tasks are interrupted; already-completed tasks remain in the record.


GET /api/projects/{id}/tasks

Returns all tasks for a project with current status and outputs.


The following endpoints also exist for projects:

MethodPathDescription
POST/api/projects/{id}/duplicateDuplicate a project
GET/api/projects/{id}/dagGet the task DAG
POST/api/projects/batch/deleteBatch delete projects
GET/api/projects/{id}/phasesList phases
POST/api/projects/{id}/phasesAdd a phase
GET/api/projects/{id}/eventsStream project events (SSE)
GET/api/projects/{id}/metricsGet project metrics
POST/api/projects/{id}/refine-planRefine the plan
POST/api/projects/{id}/auditRun project audit
GET/api/projects/{id}/output-filesGet output files
POST/api/projects/{id}/files/uploadUpload a project file
GET/api/projects/{id}/files/rawServe a raw project file
GET/api/projects/{id}/downloadDownload project