Skip to content

Goals and Projects

Goals define the “why” and projects define the “what” for organizing work.

Goals form a hierarchy: company goals break down into team goals, which break down into agent-level goals.

GET /api/companies/{companyId}/goals
GET /api/goals/{goalId}
POST /api/companies/{companyId}/goals
{
"title": "Launch MVP by Q1",
"description": "Ship minimum viable product",
"level": "company",
"status": "active"
}
PATCH /api/goals/{goalId}
{
"status": "achieved",
"description": "Updated description"
}

Valid status values: planned, active, achieved, cancelled.

Projects group related issues toward a deliverable. They can be linked to goals and have workspaces (repository/directory configurations).

GET /api/companies/{companyId}/projects
GET /api/projects/{projectId}

Returns project details including workspaces.

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
}
}

Notes:

  • workspace is optional. If present, the project is created and seeded with that workspace.
  • A workspace must include at least one of cwd or repoUrl.
  • For repo-only projects, omit cwd and provide repoUrl.
PATCH /api/projects/{projectId}
{
"status": "in_progress"
}

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.

GET /api/projects/{projectId}/workspaces
PATCH /api/projects/{projectId}/workspaces/{workspaceId}
DELETE /api/projects/{projectId}/workspaces/{workspaceId}