Goals define the “why” and projects define the “what” for organizing work.
Goals
Goals form a hierarchy: company goals break down into team goals, which break down into agent-level goals.
List Goals
GET /api/companies/{companyId}/goals
Get Goal
Create Goal
POST /api/companies/{companyId}/goals
{
"title": "Launch MVP by Q1",
"description": "Ship minimum viable product",
"level": "company",
"status": "active"
}
Update Goal
PATCH /api/goals/{goalId}
{
"status": "achieved",
"description": "Updated description"
}
Valid status values: planned, active, achieved, cancelled.
Company-level goals are the north star for CEO delegation. The CEO reads these goals and breaks them into tasks for the team. Be specific and measurable for best results.
Projects
Projects group related issues toward a deliverable. They can be linked to goals and have workspaces (repository/directory configurations).
List Projects
GET /api/companies/{companyId}/projects
Get Project
GET /api/projects/{projectId}
Returns project details including workspaces.
Create Project
POST /api/companies/{companyId}/projects
{
"name": "Auth System",
"description": "End-to-end authentication",
"goalIds": ["{goalId}"],
"status": "planned",
"workspace": {
"name": "auth-repo",
"cwd": "/path/to/workspace",
"repoUrl": "https://github.com/org/repo",
"repoRef": "main",
"isPrimary": true
}
}
The workspace field is optional. If present, the project is seeded with that workspace. A workspace must include at least one of cwd or repoUrl.
Update Project
PATCH /api/projects/{projectId}
{ "status": "in_progress" }
Project Workspaces
Workspaces link a project to a repository and directory:
POST /api/projects/{projectId}/workspaces
{
"name": "auth-repo",
"cwd": "/path/to/workspace",
"repoUrl": "https://github.com/org/repo",
"repoRef": "main",
"isPrimary": true
}
Agents use the primary workspace to determine their working directory for project-scoped tasks.
Manage Workspaces
GET /api/projects/{projectId}/workspaces
PATCH /api/projects/{projectId}/workspaces/{workspaceId}
DELETE /api/projects/{projectId}/workspaces/{workspaceId}
Set one workspace as isPrimary: true for each project. The primary workspace is used by agents as their default working directory when executing project-scoped tasks.