Skip to main content

API 1 - AI Collab Agent

AI Collab Agent API (1.0.0)

Download OpenAPI specification:Download

The official API documentation for the AI Collab Agent backend. This API provides services for managing users, projects, tasks, and leveraging AI for collaborative development within the VS Code extension.

Projects & Teams

Endpoints for managing projects and team members.

Create a new project

Creates a new project and assigns the initial members. This corresponds to the 'Create Team' use case.

Request Body schema: application/json
name
required
string
description
required
string
selectedMemberIds
required
Array of strings <uuid>

Responses

Request samples

Content type
application/json
{
  • "name": "Final Year Project",
  • "description": "Build an AI-powered collaborative tool.",
  • "selectedMemberIds": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Collaborative Agent MVP",
  • "description": "string",
  • "goals": "string",
  • "requirements": "string",
  • "selectedMemberIds": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z"
}

Users

Endpoints for managing individual user data.

Add a new user (team member)

Adds a new user to the system with their skills and programming languages.

Request Body schema: application/json
name
required
string
skills
required
string
programmingLanguages
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "Jane Smith",
  • "skills": "Frontend, UX/UI",
  • "programmingLanguages": "TypeScript, HTML, CSS"
}

Response samples

Content type
application/json
{
  • "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
  • "name": "John Doe",
  • "skills": "Leadership, Design, Analysis",
  • "programmingLanguages": "Python, JavaScript, TypeScript",
  • "createdAt": "2019-08-24T14:15:22Z"
}

Tasks

Endpoints for creating, updating, and assigning tasks.

Auto-allocate tasks for a project

Triggers the AI agent to analyze project requirements and team skills to generate and assign tasks.

path Parameters
projectId
required
string

The ID of the project to allocate tasks for.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update a task's status

Update a specific property of a task, such as its status (e.g., 'in_progress', 'complete').

path Parameters
taskId
required
string

The ID of the task to update.

Request Body schema: application/json
status
string
Enum: "pending" "in_progress" "review" "complete"

Responses

Request samples

Content type
application/json
{
  • "status": "pending"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  • "title": "Implement Login UI",
  • "assigneeId": "665a9750-71bd-4b96-bacd-9efa4ae022dd",
  • "status": "pending"
}

AI Agent

Endpoints that interact with the AI for suggestions and analysis.

Auto-allocate tasks for a project

Triggers the AI agent to analyze project requirements and team skills to generate and assign tasks.

path Parameters
projectId
required
string

The ID of the project to allocate tasks for.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Request a peer review

Submits a block of code (diff) for peer review and notifies assignees.

Request Body schema: application/json
diff
string

The code changes to be reviewed.

refs
string

Git references, like branch or commit hash.

projectId
string
reviewerIds
Array of strings

Responses

Request samples

Content type
application/json
{
  • "diff": "string",
  • "refs": "string",
  • "projectId": "string",
  • "reviewerIds": [
    ]
}

Get a real-time coding hint

Sends the current code context to the AI agent to receive a real-time suggestion or hint.

Request Body schema: application/json
fileContent
string
cursorPosition
integer
context
string

Additional context, like project SRS.

Responses

Request samples

Content type
application/json
{
  • "fileContent": "string",
  • "cursorPosition": 0,
  • "context": "string"
}

Response samples

Content type
application/json
{
  • "snippet": "console.log('Hello, World!');",
  • "rationale": "This variable is not used. Consider removing it."
}