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.
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
- Payload
{- "name": "Final Year Project",
- "description": "Build an AI-powered collaborative tool.",
- "selectedMemberIds": [
- [
- "d290f1ee-6c54-4b01-90e6-d701748f0851"
]
]
}
Response samples
- 201
- 400
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Collaborative Agent MVP",
- "description": "string",
- "goals": "string",
- "requirements": "string",
- "selectedMemberIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "createdAt": "2019-08-24T14:15:22Z"
}
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
- Payload
{- "name": "Jane Smith",
- "skills": "Frontend, UX/UI",
- "programmingLanguages": "TypeScript, HTML, CSS"
}
Response samples
- 201
{- "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
- "name": "John Doe",
- "skills": "Leadership, Design, Analysis",
- "programmingLanguages": "Python, JavaScript, TypeScript",
- "createdAt": "2019-08-24T14:15:22Z"
}
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
- 200
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
- "title": "Implement Login UI",
- "assigneeId": "665a9750-71bd-4b96-bacd-9efa4ae022dd",
- "status": "pending"
}
]
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
- Payload
{- "status": "pending"
}
Response samples
- 200
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
- "title": "Implement Login UI",
- "assigneeId": "665a9750-71bd-4b96-bacd-9efa4ae022dd",
- "status": "pending"
}
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
- 200
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
- "title": "Implement Login UI",
- "assigneeId": "665a9750-71bd-4b96-bacd-9efa4ae022dd",
- "status": "pending"
}
]
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
- Payload
{- "diff": "string",
- "refs": "string",
- "projectId": "string",
- "reviewerIds": [
- "string"
]
}
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
- Payload
{- "fileContent": "string",
- "cursorPosition": 0,
- "context": "string"
}
Response samples
- 200
{- "snippet": "console.log('Hello, World!');",
- "rationale": "This variable is not used. Consider removing it."
}