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

GET /api/goals/{goalId}

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.